无法使用非主线程在Python-OpenCV(cv2)中启动摄像头捕获

时间:2013-12-07 19:44:23

标签: python opencv

我有一些python-opencv(cv2)代码打开视频捕获设备(相机):

self.capture = cv2.VideoCapture(device)

如果我从python主线程调用此代码,VideoCapture启动OK;但是,如果我从非主线程调用此设置代码,则相机永远不会打开。 VideoCapture()调用永远不会返回。我只是通过以下方式创建一个后台线程:

run_thread = threading.Thread(target=self.run)
run_thread.start()

这只是OpenCV / cv2中的一个错误,还是我忽略了python线程的限制?

1 个答案:

答案 0 :(得分:1)

This SO post非常简单地提到它是openCV限制。此外,showwaitKey方法存在此约束。

这个official code sample可以提供一些关于python-openCV多线程的想法。