即使在Python程序结束后,网络摄像头仍然保持

2024-04-20 05:06:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将我的网络摄像头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连接到网络摄像头并运行上面的脚本时,也会出现同样的错误。你知道吗

我如何才能释放我的摄像头供将来使用?你知道吗


Tags: in程序网络脚本websizereleasecv2