加速在python

时间:2016-06-12 21:08:11

标签: python performance load bmp

我正在阅读Python中的24 bpp位图图像。我正在使用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)

我不确定如何在这里加快速度。你能给我任何建议吗?什么是缓慢的,为什么它慢?我如何加快速度?

0 个答案:

没有答案