最近想学习一下opencv,就弄了一本《学习opencv》的书看,书中的例子也随便敲一敲。可是,在调去摄像头时出现了如下问题。具体代码如下:
#include "stdafx.h"
#include "opencv/cv.h"
#include "opencv/highgui.h"
#include "stdio.h"
#include <opencv2\opencv.hpp>
int main()
{
<span style="white-space:pre"> </span>cvNamedWindow("video", CV_WINDOW_AUTOSIZE);
CvCapture* capture = NULL;
capture = cvCaptureFromCAM(1);
IplImage*frame;
while (1){
frame = cvQueryFrame(capture);
if (!frame)break;
cvShowImage("video", frame);
char c = cvWaitKey(330);
if (c == 27)break;
}
cvReleaseCapture(&capture);
}
始终出现摄像头无法打开,或者就是显示灰色的画面,或者选择视频源之后画面一闪就消失了,如下图所示:
OpenCV调取摄像头失败的解决办法

在学习OpenCV过程中,遇到摄像头无法打开或显示异常的情况。尝试了更换摄像头、VS版本、OpenCV版本,问题仍未解决。后来通过阅读《opencv3编程入门》找到一个成功的例子,发现可能是之前使用的函数版本过低,升级后问题得到解决。此经验分享给遇到同样困扰的人。
最低0.47元/天 解锁文章
2766





