我正在使用自定义多通道相机,该相机以特定格式保存数据。生成的文件从头开始,然后是图像数据,头决定了我应如何解释数据。
例如,一个文件包含3个通道,高度和宽度均已设置。每个通道都有其帧大小,并且应以一定数量的字节(通常是每个字节)来解释。
我当前正在做的是将文件打开为“ rb”,没有缓冲,因为我正在使用的当前文件为2-20MB。我使用file.read(标头中的字节)并将其保存在一个列表中,并将其保存在另一个列表中(因为该文件可以是视频流)。这种方法的问题在于,只有6帧3通道的文件已经花了我14秒钟的时间来加载。最终,我将制作一个视频播放器,在其中可以拖放一个小节以转到某个帧,或者只是播放它。但是我已经看到滞后和加载时间长的问题。
到目前为止,我正在使用Qt4,OpenCV将原始数据转换为图像,numpy和matplotlib。
除了简单地按字节读取之外,还有什么比我的问题更好的解决方法了吗?我想大大减少加载时间。也许那里有一些库可以为我提供帮助,或者一些已经存在的代码。