def pfmFromBuffer(buffer, reverse = 1):
sStream = cStringIO.StringIO(buffer)
color = None
width = None
height = None
scale = None
endian = None
header = sStream.readline().rstrip()
color = (header == 'PF')
width, height = map(int, sStream.readline().strip().split(' '))
scale = float(sStream.readline().rstrip())
endian = '<' if(scale < 0) else '>'
scale = abs(scale)
rawdata = np.fromstring(sStream.read(), endian + 'f')
shape = (height, width, 3) if color else (height, width)
sStream.close()
if(len(shape) == 3):
return rawdata.reshape(shape).astype(np.float32)[:,:,::-1]
else:
return rawdata.reshape(shape).astype(np.float32)
评论列表
文章目录