我正在阅读一个24 bpp的Python位图图像。我正在使用struct模块,逐字节读取文件,并将BGR元素存储在多维数组中。参见下面的代码:
char = fileObject.read(1)
self.blue[w][h] = struct.unpack('=B', char)[0]
char = fileObject.read(1)
self.green[w][h] = struct.unpack('=B', char)[0]
char = fileObject.read(1)
self.red[w][h] = struct.unpack('=B', char)[0]
这需要很长时间(2732 x 1536像素的图像需要10秒)。你知道吗
我想加快速度,但不知道怎么做。我是这样想的:
threeChar = fileObject.read(3)
self.blue[w][h] = ((threeChar >> 8) << 8) #knock of not-needed bits
self.green[w][h] = ((threeChar >> 4) << 8)
self.red[w][h] = (threeChar << 8)
我真的不知道该怎么加快速度。你能给我一些建议吗?什么东西慢?为什么慢?如何加快速度?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐