使用 python 从通过 USB 连接的相机获取实时流

54T*_*Y4M 5 python opencv industrial computer-vision

我想从通过 USB 与我的计算机连接的相机抓取实时图像。

我正在使用带有 USB 端口的工业相机。

在设备管理器中,相机会显示其名称和 ID,因此我认为它已连接到 PC。

我运行了“findcam”程序,但它没有显示任何相机的存在

import cv2

cap = cv2.VideoCapture(0)


while True:
    ret, frame = cap.read()
    cv2.imshow('Live Video', frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()
Run Code Online (Sandbox Code Playgroud)

我尝试的给定代码在我的笔记本电脑上为网络摄像头运行,但是当我在带有外部摄像头的电脑上运行相同的代码时。

它不断显示错误。

错误:

Traceback (most recent call last):
  
File "C:/Users/Admin/PycharmProjects/industrialcamera/ICvideocapture.py", line 11, in <module>

cv2.imshow('Live Video', frame)

cv2.error: OpenCV(4.1.0) C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:352: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'
Run Code Online (Sandbox Code Playgroud)

我尝试更改索引 -1 , 0 , 1 但错误是恒定的

请帮忙查找,这是我的电脑问题还是相机问题,或者是他们的任何其他流媒体方式(在Python中)

谢谢

bb1*_*328 0

您可能安装了错误版本的 OpenCV,它不支持视频。卸载 opencv 的所有内容,然后运行:

pip install opencv-python
Run Code Online (Sandbox Code Playgroud)

(来源:cv2.VideoCapture.open() 始终返回 FALSE