我正在尝试将我的网络摄像头Trust Spotlight Webcam PRO与Python和OpenCV一起使用,我在程序结束后拿着网络摄像头时遇到问题。
简单的脚本:
import cv2
vc = cv2.VideoCapture(1)
while True:
_, frame = vc.read()
cv2.imshow('Web cam', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
vc.release()
cv2.destroyAllWindows()
当我将网络摄像头连接到笔记本电脑并运行脚本时,一切正常 - 我看到了相机图像。当我按'q'键停止捕获循环时,我认为vc.release()
命令会从使用中释放相机。但是在第一次运行后我无法再次运行脚本,因为这次我收到错误消息:
OpenCV Error: Assertion failed (size.width>0 && size.height>0) in cv::imshow, file ..\..\..\..\opencv\modules\highgui\src\window.cpp, line 261
Traceback (most recent call last):
File ".../sample.py", line 8, in <module>
cv2.imshow('Web cam', frame)
cv2.error: ..\..\..\..\opencv\modules\highgui\src\window.cpp:261: error: (-215) size.width>0 && size.height>0 in function cv::imshow
我很确定某些进程仍在保留我的网络摄像头。我也无法在这个时间从任何其他程序(我试过Skype)连接到这个网络摄像头。当我将网络摄像头连接到笔记本电脑,通过Skype连接到网络摄像头并运行上面的脚本时,我也会遇到同样的错误。
如何发布我的网络摄像头以备将来使用?
答案 0 :(得分:0)
似乎真的可能有一些(对我来说隐藏)过程,仍然保留了相机。当我关闭笔记本电脑并将其重新打开时,一切正常。