解决OpenCV在使用摄像头捕捉视频流时出现的一个奇怪问题
2014-03-23 11:45
417 查看
《学习OpecCV》一书的第二章中有一节是关于用摄像头读入数据的,其中提到cvCreateCameraCapture()这个函数,传入-1表示任选一个摄像设备进行视频流捕捉,
书中源码如下:
cvCapture* capture;
if(argc==1){
capture=cvCreateCameraCapture(0);
}else{
capture = cvCreateFileCapture(argv[1]);
}
assert(capture!=NULL);
//Rest of program proceeds totally ignorant
但是我自己在试验书中的源码的时候发现传入-1时返回值的确不为空,但是程序还是没有图像数据。检查摄像头驱动,正常。说明不是摄像头的问题。问题出在程序内部。
后来发现是摄像头在打开的时候需要时间,在cvCreateCameraCapture()之后加上一句cvWaitKey(5000)之类的语句来等待摄像头开启之后就能正常运行了。
书中源码如下:
cvCapture* capture;
if(argc==1){
capture=cvCreateCameraCapture(0);
}else{
capture = cvCreateFileCapture(argv[1]);
}
assert(capture!=NULL);
//Rest of program proceeds totally ignorant
但是我自己在试验书中的源码的时候发现传入-1时返回值的确不为空,但是程序还是没有图像数据。检查摄像头驱动,正常。说明不是摄像头的问题。问题出在程序内部。
后来发现是摄像头在打开的时候需要时间,在cvCreateCameraCapture()之后加上一句cvWaitKey(5000)之类的语句来等待摄像头开启之后就能正常运行了。
相关文章推荐
- opencv 做人脸识别 opencv 人脸匹配分析
- OpenCV 2.4.3 C++ 平滑处理分析
- OpenCV学习笔记(二十五)——OpenCV图形界面设计Qt+VS2008
- 分享一些OpenCV实现立体视觉的经验
- 关于OpenCv图像变换与基本图形检测
- "应用程序正常初始化失败"-0xc0150002 解决办法
- opencv 内存泄露
- OpenCV 2.3.1图像文件的读入和显示
- opencv2 矩阵方式 resize图像缩放代码
- OpenCV 灰度直方图
- 彩色图转为灰度图
- Qt + opencv +mac
- 【OpenCV】使用floodfill()实现PhotoShop魔棒功能
- OpenCV中Canny边缘检测源程序的注释
- opencv累加一个三通道矩阵的所有元素(结果绝对正确)
- opencv加载并显示图像程序
- opencv实现图像缩放
- opencv绘制矩形程序
- opencv实现视频加载与播放
- opencv实现canndy算子