#import "OpenCV/cv.h" #import "OpenCV/highgui.h" int main() { IplImage *frame = NULL; //定义帧,每帧就是一张图 CvCapture* pCap = cvCreateCameraCapture(1); //创建摄像头抓取 cvNamedWindow("Camera",CV_WINDOW_AUTOSIZE); //设置窗口 while (frame = cvQueryFrame(pCap)) //循环获取帧 { frame = cvQueryFrame(pCap); cvShowImage("Camera", frame); int key = cvWaitKey (100);//点q时退出 if (key == 'q' || key == 'Q') break; } cvReleaseCapture(&pCap); //销毁摄像头 cvDestroyWindow("Camera"); //销毁窗口 return (0); }
基本就是把帧循环放在while循环中.当点击键盘后退出循环.
知识点:
IplImage *frame = NULL; 帧即是图片,图片即是帧。
cvCreateCameraCapture(1); 参数1,是简写,可以是0,就是常数,代表任选一个摄像头。
CV_WINDOW_AUTOSIZE,是摄像头的成像大小,类似有'CV_WINDOW_NORMAL' 和'CV_WINDOW_FULLSCREEN' 但是报错,不知道是不是1.5版本没有?2.1版本有
while 循环和按键盘退出,有一种更紧凑的写法:
摄像头的应用基本上就是在这个框架下做加法。在初始化时多加几个窗口,或者在while循环中加新方法,得到不同的效果。
参考:
http://www.linuxidc.com/Linux/2011-08/39908.htm
http://archive.cnblogs.com/a/1951744/ 注释一个opencv摄像头程序
报错
error: 'CV_WINDOW_NORMAL' undeclared (first use in this function)
在google里找不到这个问题的解决,暂时放在一边.
今日网站:
http://www.tudou.com/home/item_u65034959s0p1.html cv-dream 土豆视频
http://www.linuxidc.com/Linux/2011-08/39906.htm OpenCV2.3 测试例子源码
http://imlab.cc/whale/?p=1855# 鲸男 iPhone App 制做简易指北 – 1, 只需要下载 openFrameworks 和 Xcode