博主最近在搞双目视觉,在某宝买了一款双目摄像头结合其他博主的代码进行视觉开发,结果第一步就卡住了。
可以看到报错信息为“CvCapture_MSMF::grabFrame videoio(MSMF): can't grab frame. Error: -2147483638”
然后去搜索,找到一种解决办法
cap =cv2.VideoCapture(0)
改为
cap =cv2.VideoCapture(0,cv2.CAP_DSHOW)
详请见链接
但博主尝试了一下,发现又产生了新的错误
这次报错信息为“cv::VideoWriter::open VIDEOIO(CV_IMAGES): raised OpenCV exception:”
但这次至少图像框出来了,但是没有什么图像...
最后找某宝卖家咨询之后他给我发了几个python的demo,最后发现在设置相机id之后还要设置一下分辨率(可能某些相机需要吧)
cap = cv2.VideoCapture(video)
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1280) # 设置分辨率
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
谨以此CSDN首篇博客纪念我debug消失的一上午,希望能帮助到后来人。