进程之间的图像传输在python的多处理中太慢

时间:2020-01-07 15:42:26

标签: python-3.x ipc python-multiprocessing opencv4

我正在尝试在两个进程之间发送图像(4000、3000、3)。 我的第一个流程是使用相机获取图像,将一些元数据和另一个图像附加到该图像上,然后将整个内容发送给第二个流程进行处理。

我希望在图像获取到处理结束之间的最大延迟为0.2秒。

让我们假设我获取和处理图像的方式是最佳的。

我尝试了两种发送图像的方法,分别是队列(mp.Queue)和共享数组(mp.Array('i', 4000*3000*3)) 两者都花了很多时间。 Queue.put()方法大约需要0.5秒发送包裹。 将图像复制到共享数组中,如下所示:

shared_array[:] = img.copy()

大约需要2秒钟。

所以我的问题是,有人知道更快的方法来在两个进程之间转换两个图像吗?

感谢您的时间!

1 个答案:

答案 0 :(得分:0)

编辑:我找到了这个问题,该问题已得到解答,并使用sharedmem模块解决了我的问题