在不打开cv窗口的情况下在后台运行opencv程序会立即终止

时间:2019-02-10 10:19:45

标签: python opencv opencv-python

我正在运行一个opencv程序,以从实时视频中获取一些x和y坐标。在后台运行程序而没有打开任何cv2窗口以获取坐标的情况不起作用,并且程序会立即终止。当我通过打开任何cv2窗口运行时,程序运行完美。

1 个答案:

答案 0 :(得分:0)

我第二次iGian's answer。请发布一些代码。

根据您的描述,我假设您的OpenCV计算以某种方式在不阻塞主线程的单独线程中运行。所以发生的是:

- main thread -> start calculation thread
- main thread -> I'm finished, shut everything down including the calculation thread

当您现在从主线程执行cv.imshow()和cv.waitkey()之类的操作时,它看起来像这样:

- main thread -> start calculation thread
- main thread -> wait for a key to be pressed
- calculation thread -> keep calculating
- ...
- ...
- main thread -> "a key has been pressed"
- main thread -> I'm finished, shut everything down including the calculation thread

但这是一个非常盲目的猜测,因为我们需要您的代码才能看到实际发生的情况。上述情况的解决方案是让主线程等待直到条件满足-例如计算线程发送事件或写入条件变量。