[ WARN:0] global D:\Build\OpenCV\opencv-4.4.0\modules\videoio\src\cap_msmf.cpp (373) `anonymous-namespace'::SourceReaderCB::OnReadSample videoio(MSMF): OnReadSample() is called with error status: -2147024809
[ WARN:0] global D:\Build\OpenCV\opencv-4.4.0\modules\videoio\src\cap_msmf.cpp (385) `anonymous-namespace'::SourceReaderCB::OnReadSample videoio(MSMF): async ReadSample() call is failed with error status: -2147024809
[ WARN:1] global D:\Build\OpenCV\opencv-4.4.0\modules\videoio\src\cap_msmf.cpp (912) CvCapture_MSMF::grabFrame videoio(MSMF): can't 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:\Build\OpenCV\opencv-4.4.0\modules\highgui\src\window.cpp:384: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'
[ WARN:1] global D:\Build\OpenCV\opencv-4.4.0\modules\videoio\src\cap_msmf.cpp (435) `anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback
出现上述错误,使用如下方法解决:
把
cap =cv2.VideoCapture(0)
改为
cap =cv2.VideoCapture(0,cv2.CAP_DSHOW)
应该属于版本兼容问题