繁体   English   中英

如何使用 OpenCV 和 python 访问我的 USB 相机?

[英]How do I access my USB camera using OpenCV with python?

我在使用 OpenCV 和 python 访问我的 USB 相机时遇到问题。

我收到以下错误消息,我理解这意味着没有捕获任何帧?

error: OpenCV(3.4.1) C:\Miniconda3\conda-bld\opencv-suite_1533128839831\work\modules\highgui\src\window.cpp:356: error: (-215) size.width>0 && size.height>0 in function cv::imshow

我的相机如下: https://www.gophotonics.com/products/scientific-industrial-cameras/point-grey-research-inc/45-571-cm3-u3-50s5m-cs

简单代码如下。 有什么想法吗? 一些帮助我将不胜感激

import numpy as np
import cv2

cap = cv2.VideoCapture(0)
while(True):
    ret, frame = cap.read()

    cv2.imshow('frame',frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

大多数情况下, camera index默认为0 ,带有集成摄像头的计算机默认为 0,但如果您插入的是 USB 摄像头,其camera index可能为12 ,您可以同时尝试使用它们。

但是如果你想获得所有可用的camera index ,你可以使用下面的简单脚本来找出:

import cv2
import numpy as np

all_camera_idx_available = []

for camera_idx in range(10):
    cap = cv2.VideoCapture(camera_idx)
    if cap.isOpened():
        print(f'Camera index available: {camera_idx}')
        all_camera_idx_available.append(camera_idx)
        cap.release()

结果将是一个list ,如: [0,1,2,...] ,所有相机索引都可用。

但是,如果您使用的是 USB 相机,您必须记住,某些OpenCV功能将不起作用,请查看

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM