您的位置:首页 > 运维架构

opencv 打开笔记本摄像头 win7+VS2013 +opencv2.4.11

2017-05-17 09:57 393 查看
#include "testOpencv.h"
#include "cv.h"
#include "highgui.h"
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <Afx.h>

using namespace std;
using namespace cv;

int openCamera()
{
cvNamedWindow("window", CV_WINDOW_AUTOSIZE);//创建窗口,(名字,默认大小)
CvCapture *capture = NULL;// 视频获取结构,用来作为视频获取函数的一个参数
IplImage* frame;//申请IplImage类型指针,就是申请内存空间来存放每一帧图像
capture = cvCreateCameraCapture(0);//打开摄像头,从摄像头中获取视频
frame = cvQueryFrame(capture);// 从摄像头中抓取并返回每一帧
while (1)
{
//capture = cvCreateCameraCapture(0);//打开摄像头,从摄像头中获取视频

frame = cvQueryFrame(capture);// 从摄像头中抓取并返回每一帧
if (!frame)
{
TRACE("\nframe is null\n");
break;//如果抓取帧为空   break 打破循环否则将抓取的那一帧显示在创建的窗口上
}
cvShowImage("window",frame);//在窗口上显示每一帧
char c = cvWaitKey(10);//延时,每秒钟约33帧;符合人眼观看速度;
if (c == 27)
{
break;//由于是死循环,而且没有控制台,当按下键盘esc键,将按键的ASCII值给C,如果C为ESC(ASCII 为27)循环退出退出循环;
}
//capture = cvCreateCameraCapture(0);
}
cvReleaseCapture(&capture);//释放内存;
cvDestroyWindow("window");//销毁窗口
return 0;
}

int main()
{

int re = 0;
re= openCamera();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ VS2013 opencv2.4