
OpenCV摄像头读取图像时第一次读取总失败的问题
开发平台是Qt5.21+OpneCV2.4.8,使用的是C++的接口,使用Camera.isOpened()打开摄像头成功,但是使用Camera.read()读取图像失败...
开发平台是Qt5.21+OpneCV2.4.8,使用的是C++的接口,使用Camera.isOpened()打开摄像头成功,但是使用Camera.read()读取图像失败,摄像头指示灯已经打开,反复调试后发现Camera.read()函数第一次调用的时候失败,第二次以后才成功。虽然我写程序时候可以调两次再开始显示图像。还是想问问各位大牛,为什么第一次会失败~!
cv::VideoCapture Camera(0);
if (!Camera.isOpened())
{
cout<<"camera is not opened!\n";
return -1;
}
else cout<<"camera is opened!\n";
cv::Mat img;
while (cv::waitKey(33) != 27)
{
bool isRead = false;
isRead = Camera.read(img);
if (!isRead)
{
cout<<"loading image!\n";
}
else cv::imshow("video", img);
}
Camera.releas 展开
cv::VideoCapture Camera(0);
if (!Camera.isOpened())
{
cout<<"camera is not opened!\n";
return -1;
}
else cout<<"camera is opened!\n";
cv::Mat img;
while (cv::waitKey(33) != 27)
{
bool isRead = false;
isRead = Camera.read(img);
if (!isRead)
{
cout<<"loading image!\n";
}
else cv::imshow("video", img);
}
Camera.releas 展开
2个回答
展开全部
我是刚开始学OpenCV的,我个人觉得是摄像头的响应问题;我同样的程序在笔记本上和在台式机上cv::VideoCapture Camera();的参数要求不一样才能正确显示图片,这可能是OpenCV读取视频的操作问题
更多追问追答
追问
笔记本上的Camera()的参数应该是多少呢 我现在是0
追答
我的是0,但是我没有出现你说的问题。你试一下去点击编译生成的exe文件运行,看看问题还存不存在。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询