仅当从USB相机接收到新图像时处理图像



我是多线程/处理的新手。我在Python3中创建了一个多线程应用程序。

  1. 线程1读取USB相机与cv2. videoccapture ()
  2. 主线程处理此图像并返回后处理的图像。

我意识到主线程在同一图像帧上运行了3~4次。我该如何使主线程处理功能仅在来自USB相机的新图像帧上运行?我应该使用哪些方法/对象来启用这一点?

有几种方法可以做到:

  • 使用队列。帧处理线程在队列上执行阻塞等待,帧抓取线程在队列上放置消息,表示帧已准备好。不需要将整个视频帧放在队列中,只需将索引放入帧列表中,以便它可以在获取线程将下一帧读取到不同缓冲区时获取并处理它。
  • 使用多进程事件。

这两个概念在这里都很好地涵盖了。

最新更新