1. 遇到的问题
我在跑openvino自带的human pose estimation demo的时候,如果把输入改为从摄像头读取视频流,那么程序在启动后,摄像头会亮一会儿,然后程序就退出了。
2.原因
困扰了很久,opencv 在 cv::VideoCapture cap; cap.open(0, cv::CAP_ANY);
的时候都没有问题,问题出在cv::Mat img; cap.read(img);
上,因为笔记本摄像头启动较慢,在读取图像的时候,一开始读的图像的是空的,而demo程序在判断图像为空之后就抛出异常(见下段代码中的注释部分)。
cv::Mat img;
if (!cap.read(img)) {