我正在Python 中进行一些快速图像处理(使用 Numpy/Scipy + OpenCV)。有几千张形状完全相同的图像 - 一旦我读到第一张图像,我就确切地知道所有其他图像会是什么样子。
问题是从磁盘读取下一个图像会导致分配新内存(速度很慢)。有没有办法通过将每个下一个图像直接读入一些已经存在的内存()来避免这种情况?我知道cv2.imdecode在 C++ 中可以接受指向预分配 Mat 的指针,但它似乎没有 Python 绑定(唯一的选择是返回一个全新的数组)。ndarray
我需要这个来进行多重处理 - 我想将图像读入共享内存,然后在工作进程中对它们进行一些繁重的工作。现在,我被迫将cv2.imread分配和返回的数组中的数据复制到共享内存中,这又需要时间。我希望能够直接在那里写信。