调用摄像头的基本框架
#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