opencv里关于开启摄像头的一点心得

来源:互联网 发布:朝闻道 刘慈欣 知乎 编辑:程序博客网 时间:2024/05/18 22:41

最进用opencv做东西时经常用到摄像头,发现了开启摄像头有好几个函数可以实现,我感觉可能是因为opencv1.0与2.0的函数不一样导致的(晕死,搞这么多函数还不是实现一个功能),接下来总结我用到的几个开启摄像头的方法:

第一种:比较简单

VideoCapture cap(0);            //打开摄像头    //VideoCapture capture("D:/videos/PetsD2TeC2.avi")   打开一个视频文件if(!cap.isOpened())             //判断摄像头是否打开 Mat frame; while( waitKey(10))cap>>frame;

第二种:有好多函数

CvCapture *cam = cvCaptureFromCAM(0); CvCapture *cam = cvCreateCameraCapture(0);//两者使用时没有区别,@_@
IplImage* image = cvQueryFrame( cam); //从摄像头抓取一帧并返回,无法修改//  cvGrabFrame( cam );//从摄像头获取一帧//  IplImage* image = cvRetrieveFrame( CvCapture* capture );//返回获取的那帧

cvCaptureFromCAM与cvCreateCameraCapture就名字不一样,使用时一样的

函数cvQueryFrame与函数cvGrabFrame和函数cvRetrieveFrame俩实现的功能一样,相当于升级版的,用着更简便。


在显示图片时,imshow与(cvNamedWindow和cvShowImage)的功能也是一样的,

就是imshow更快捷一点,应该也是换版本的原因,越换越简单了:-)

0 0