Python下使用opencv调用摄像头出错
[ WARN:0] global D:BuildOpenCVopencv-4.4.0modulesvideoiosrccap_msmf.cpp (373) `anonymous-namespace::SourceReaderCB::OnReadSample videoio(MSMF): OnReadSample() is called with error status: -2147024809
[ WARN:0] global D:BuildOpenCVopencv-4.4.0modulesvideoiosrccap_msmf.cpp (385) `anonymous-namespace::SourceReaderCB::OnReadSample videoio(MSMF): async ReadSample() call is failed with error status: -2147024809
[ WARN:1] global D:BuildOpenCVopencv-4.4.0modulesvideoiosrccap_msmf.cpp (912) CvCapture_MSMF::grabFrame videoio(MSMF): cant grab frame. Error: -2147024809
Traceback (most recent call last):
File ".opencv_opencamera.py", line 6, in <module>
cv2.imshow(frame,frame)
cv2.error: OpenCV(4.4.0) D:BuildOpenCVopencv-4.4.0moduleshighguisrcwindow.cpp:384: error: (-215:Assertion failed) size.width>0 && size.height>0 in function cv::imshow
[ WARN:1] global D:BuildOpenCVopencv-4.4.0modulesvideoiosrccap_msmf.cpp (435) `anonymous-namespace::SourceReaderCB::~SourceReaderCB terminating async callback
出现上述错误,使用如下方法解决: 把
cap =cv2.VideoCapture(0) 改为 cap =cv2.VideoCapture(0,cv2.CAP_DSHOW)
应该属于版本兼容问题
