numpy 奇怪的图像格式,快速进入image/np数组的方法

byqmnocz  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(81)

我有一个相机,它会给我发回非常奇怪的格式的图像数据,我需要快速重建成一幅图像。
返回的数据为bytes。传感器的每一“行”(1024字节)被写为2048字节,这是有意义的,因为它是一个12位分辨率的图像,因此,每个像素需要2字节。
奇怪的是,第一个1024字节是像素的低8位,第二个1024字节是像素的高8位。
所以第一个字节byte[0]是byte[1024]的低位。所以完整的pixelData是:

byte[1024]*8 + byte[0]

这是针对每条线的,并且对于整个传感器,有1280条线要通过。
这是一个已知的图像格式,我只是不知道它?
如果它是未知的,什么是一个快速的方法来获得数据到一个np/图像?
我想我可以把它切成1280片,然后重建每一行,但这需要很长时间,特别是在python中。

vltsax25

vltsax251#

你可以使用NumPy来矢量化解码步骤,避免Python中的循环。
例如

decoded = byte[1024:2048] * 256 + byte[0:1024]

会一次解码一行,而不是一次解码一个像素。

相关问题