VS2010 + OpenCV2.3.1打开多个摄像头 .
2014-07-23 15:27
309 查看
转自:/article/8020366.html
OpenCV2.3.1在VS2010上的配置就不详述了,网上一堆一堆的。其实,OpenCV每次的更新都会在其官方的网站上做比较详细的说明,这边我就其官方的说明结合自己的使用情况简单的总结:
1、OpenCV自2.2以后的版本的模块都有仔细划分,不再是2.1及以前的5个模块(cxcore/cv/highgui/ml/cvaux);
2、在畸变校正的程式上有比较大的改变,适合更大的畸变校正;
3、支持android系统,程式API调用稳定性更高(以前还做过在android中嵌入OpenCV,现在更方便了);
4、增加新概念:视网膜识别,并有参考资料;
5、人物识别有比较好的方法,(Haar小波&LBP人脸检测识别,HOG人检测等);
6、增加三目摄像头(OpenCV2.1支持2个)(我要分享给大家的,呵呵...)。
当然更新的部分不会使这么多了,还有其他的比较多的我没有介绍,想具体的了解请参考:(http://opencv.willowgarage.com/wiki/OpenCV%20Change%20Logs)。
讲到主题好了,OpenCV中打开多摄像头之前很多人研究过了,需要用到DirectShow,在OpenCV中文网上于老师也将DS进行打包,直接在OpenCV直接可以调用了。如果有兴趣,也可以做尝试,这里可以下载源程序。因为OpenCV2.3.1中把DirectShow的程式整合进去了,就可以直接进行调用了(其实是一样的道理),就是cvCaptureFromCAM()函数,下面是具体的代码:
OpenCV2.3.1在VS2010上的配置就不详述了,网上一堆一堆的。其实,OpenCV每次的更新都会在其官方的网站上做比较详细的说明,这边我就其官方的说明结合自己的使用情况简单的总结:
1、OpenCV自2.2以后的版本的模块都有仔细划分,不再是2.1及以前的5个模块(cxcore/cv/highgui/ml/cvaux);
2、在畸变校正的程式上有比较大的改变,适合更大的畸变校正;
3、支持android系统,程式API调用稳定性更高(以前还做过在android中嵌入OpenCV,现在更方便了);
4、增加新概念:视网膜识别,并有参考资料;
5、人物识别有比较好的方法,(Haar小波&LBP人脸检测识别,HOG人检测等);
6、增加三目摄像头(OpenCV2.1支持2个)(我要分享给大家的,呵呵...)。
当然更新的部分不会使这么多了,还有其他的比较多的我没有介绍,想具体的了解请参考:(http://opencv.willowgarage.com/wiki/OpenCV%20Change%20Logs)。
讲到主题好了,OpenCV中打开多摄像头之前很多人研究过了,需要用到DirectShow,在OpenCV中文网上于老师也将DS进行打包,直接在OpenCV直接可以调用了。如果有兴趣,也可以做尝试,这里可以下载源程序。因为OpenCV2.3.1中把DirectShow的程式整合进去了,就可以直接进行调用了(其实是一样的道理),就是cvCaptureFromCAM()函数,下面是具体的代码:
#include "stdafx.h" #include <core\core.hpp> #include <highgui\highgui.hpp> #include <imgproc\imgproc.hpp> #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { //////////////////////////////////////////////// //Open Multi-Camera in OpenCV2.3.1 //////////////////////////////////////////////// IplImage* pFrame[4] = {NULL,NULL,NULL,NULL}; CvCapture* pCapture[4] = {NULL,NULL,NULL,NULL}; cvNamedWindow("Camera1",0); cvNamedWindow("Camera2",0); cvNamedWindow("Camera3",0); //cvNamedWindow("Camera4",0); cvResizeWindow("Camera1",300,300); cvResizeWindow("Camera2",300,300); cvResizeWindow("Camera3",300,300); //cvResizeWindow("Camera4",300,300); cvMoveWindow("Camera1",0,0); cvMoveWindow("Camera2",0,330); cvMoveWindow("Camera3",310,0); //cvMoveWindow("Camera4",310,330); pCapture[0] = cvCaptureFromCAM(0); pCapture[1] = cvCaptureFromCAM(1); pCapture[2] = cvCaptureFromCAM(2); //pCapture[3] = cvCaptureFromCAM(3); while(1) { pFrame[0] = cvQueryFrame(pCapture[0]); pFrame[1] = cvQueryFrame(pCapture[1]); pFrame[2] = cvQueryFrame(pCapture[2]); //pFrame[3] = cvQueryFrame(pCapture[3]); cvShowImage("Camera1",pFrame[0]); cvShowImage("Camera2",pFrame[1]); cvShowImage("Camera3",pFrame[2]); //cvShowImage("Camera4",pFrame[3]); char c = cvWaitKey(10); if(c == 27) { break; } } cvReleaseImage(&pFrame[0]); cvReleaseImage(&pFrame[1]); cvReleaseImage(&pFrame[2]); //cvReleaseImage(&pFrame[3]); cvReleaseCapture(&pCapture[0]); cvReleaseCapture(&pCapture[1]); cvReleaseCapture(&pCapture[2]); //cvReleaseCapture(&pCapture[3]); cvDestroyAllWindows(); return 0; }
相关文章推荐
- VS2010 + OpenCV2.3.1打开多个摄像头
- VS2010 + OpenCV2.3.1打开多个摄像头
- VS2010 + OpenCV2.3.1打开多个摄像头
- VS2010 + OpenCV2.3.1打开多个摄像头
- win7 旗舰 vs2008 OpenCV2.3.1 解决了 OpenCV旧版本在win7下不能打开摄像头的问题
- Ubuntu11.10以上OpenCV2.3.1库无法打开摄像头的解决方案
- opencv2.3.1+vs2010摄像头驱动
- Opencv2.3.1打开摄像头
- opencv x64 vs2010 下打开摄像头录制视频写成avi(代码为转载)
- OpenCV x64 vs2010 下打开摄像头录制视频写成avi(代码为转载)
- OpenCV x64 vs2010 下打开摄像头录制视频写成avi(代码为转载)
- 利用opencv2.3.1打开两个摄像头
- VS2010中关于OpenCV 2.3.1开发环境配置及第一个OpenCV程序
- 1.0.3-学习Opencv与MFC混合编程之---打开本地摄像头
- opencv(2.3.1)、VTK5.8.0、ITK和VS2010的配置
- OpenCV2.3.1_VS2010完整配置
- 【opencv3.0】打开摄像头
- vs2010下安装opencv2.3.1
- opencv学习(十)(opencv3.0.0+VS2012+win7)打开摄像头并且进行人脸识别的例子
- OpenCV】 基于 ransac 算法的 sift 特征匹配程序(开发环境为OpenCV2.3.1+VS2010)