使用
cv2.VideoCapture( invalid device number )不会引发异常。它构造了一个
<VideoCaptureobject>包含无效设备的设备-如果 使用 它,则会得到异常。
测试所构造的对象
None和
not isOpened()淘汰无效的。
对我来说,这有效(1个便携式相机设备):
import cv2 as cvdef testDevice(source): cap = cv.VideoCapture(source) if cap is None or not cap.isOpened(): print('Warning: unable to open video source: ', source)testDevice(0) # no printouttestDevice(1) # prints message
输出1:
Warning: unable to open video source: 1
来自以下示例的示例:https
:
//github.com/opencv/opencv_contrib/blob/master/samples/python2/video.py
第159ff行
cap = cv.VideoCapture(source) if 'size' in params: w, h = map(int, params['size'].split('x')) cap.set(cv.CAP_PROP_frame_WIDTH, w) cap.set(cv.CAP_PROP_frame_HEIGHT, h)if cap is None or not cap.isOpened(): print 'Warning: unable to open video source: ', source
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)