【问题标题】:Error in accessing webcam with Python's OpenCV module使用 Python 的 OpenCV 模块访问网络摄像头时出错
【发布时间】:2021-01-08 11:21:21
【问题描述】:

Python 3.7.6、opencv-python 4.4.0、Windows 10

代码

import cv2
cap = cv2.VideoCapture(1)
while True:
    success, frame = cap.read()
    cv2.imshow("frame", frame)
    if cv2.waitKey(0) & 0xFF == ord('q'):
        break

我想访问我的外部 USB 网络摄像头。我是 opencv 新手,收到以下错误消息。

C:\Users\92311\PycharmProjects\ObjectDetector\venv\Scripts\python.exe C:/Users/92311/PycharmProjects/ObjectDetector/main.py
[ WARN:0] global C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-2b5g8ysb\opencv\modules\videoio\src\cap_msmf.cpp (435) `anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback
Traceback (most recent call last):
  File "C:/Users/92311/PycharmProjects/ObjectDetector/main.py", line 5, in <module>
    cv2.imshow("frame", frame)
cv2.error: OpenCV(4.4.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-2b5g8ysb\opencv\modules\highgui\src\window.cpp:376: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'


Process finished with exit code 1

谁能解释一下真正的问题是什么。

【问题讨论】:

标签: python opencv object-detection


【解决方案1】:

cv2.VideoCapture(0,cv2.CAP_DSHOW) 如果是windows7试试这个对我有用

【讨论】:

    【解决方案2】:

    首先尝试将 cap = cv2.VideoCapture(1) 更改为 cap = cv2.VideoCapture(0) id 仍然是错误问题。然后卸载opencv

    pip uninstall opencv-python
    

    重新安装

    pip install opencv-python
    

    对我有用

    【讨论】:

      【解决方案3】:

      看起来你没有第二个相机尝试:

      cap = cv2.VideoCapture(0)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-12
        • 2018-04-12
        • 1970-01-01
        • 2013-10-27
        • 1970-01-01
        • 1970-01-01
        • 2019-04-10
        • 1970-01-01
        相关资源
        最近更新 更多