我有一个摄像头的原始数据,它是mono12压缩格式的。这是一种隔行扫描的位格式,将2个12位整数存储在3个字节中,以消除开销。显式地,每3个字节的内存布局如下所示:
Byte 1 = Pixel0 Bits 11-4
Byte 2 = Pixel1 Bits 3-0 + Pixel0 Bits 3-0
Byte 3 = Pixel1 Bits 11-4
我有一个文件,其中所有的字节都可以使用二进制读取读取,假设它名为binfile
。在
要从文件中获取像素数据,请执行以下操作:
^{pr2}$这是可行的,但速度非常慢,我想更有效地完成这项工作,因为我必须对大量的数据进行处理。在
我的想法是,通过一次读取超过3个字节,我可以在转换步骤中腾出一些时间,但我不知道如何做到这一点。在
另一个想法是,既然比特是4个一组的,那么也许有一种方法可以处理比特而不是比特。在
数据示例:
字节
'\x07\x85\x07\x05\x9d\x06'
引出数据
[117, 120, 93, 105]
你试过按位运算符吗?也许这是一个更快的方法:
这也输出:
[117, 120, 93, 105]
希望有帮助!在
相关问题 更多 >
编程相关推荐