【问题标题】:Webcam is still held even after Python program ends即使在 Python 程序结束后仍保持网络摄像头
【发布时间】:2016-08-26 20:17:23
【问题描述】:

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

如何释放我的网络摄像头以供将来使用?

【问题讨论】:

    标签: python opencv webcam


    【解决方案1】:

    似乎真的可能有一些(对我来说是隐藏的)过程,仍然拿着相机。当我关闭笔记本电脑并重新打开时,一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多