【发布时间】:2019-03-13 18:49:19
【问题描述】:
我有多个线程(每个摄像头一个)需要显示图像。但是,我在使用第二个 NamedWindow 命令时遇到了错误。我阅读了之前的一些 Q/A 并意识到 highgui 和多线程并不能很好地结合在一起,但是,在这种情况下,我需要从线程中运行它。我可以显示其中一个图像流(然后按一个按钮进入下一个)。
我不太倾向于将图像连接在一起并将其传递给主线程(似乎大多数人建议保持高 gui 调用),因为我不想使用比我必须使用的更多的资源。
此外,单独线程中的 imshow 对我来说效果很好(对于单个相机)。我尝试在不同的 shell 中运行单独的程序(这次不是线程,而是进程),它似乎工作 - 有没有办法在 OpenCV 中创建一个单独的进程来同时显示图像流?是否可以在不同的线程中显示多个图像流?
【问题讨论】:
-
我从来没有设法在多个线程中运行
imshow()- 尽管做了很多尝试。我通常不得不对所有imshow()s和waitKey()s使用单个线程。将图像处理放在其他线程中很容易,只是看起来不显示。如果有人有一个有效的例子,请也给我发消息!
标签: python multithreading opencv c++11 video-streaming