您的位置:首页 > 产品设计 > UI/UE

OpenCV--HighGUI视频读写和显示

2012-11-10 21:43 585 查看
下面是基本实例代码:本人用的是 Opencv2.4.2
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
using namespace cv;

#include "iostream"
using namespace std;

CvCapture *capture = NULL;
CvVideoWriter* writer = NULL;
IplImage *frame = NULL;
int FPS = 15;

int _tmain(int argc, _TCHAR* argv[])
{

//打开摄像头
if(!(capture = cvCaptureFromCAM(0)))
{
fprintf(stderr,"Can't open the camera0!\n");
}
//设置视频分别率属性
double w = 1280, h = 720;
cvSetCaptureProperty ( capture, CV_CAP_PROP_FRAME_WIDTH,  w );
cvSetCaptureProperty ( capture, CV_CAP_PROP_FRAME_HEIGHT, h );
//创建视频文件写入器
frame = cvQueryFrame(capture);
writer = cvCreateVideoWriter("video.avi",CV_FOURCC('X', 'V', 'I', 'D'),FPS,cvSize(frame->width,frame->height),1);
if(writer == NULL)
{
fprintf(stderr,"Can't create the video writer");
}

cvNamedWindow("Capture");
while (1)
{

frame = cvQueryFrame(capture);   //循环获取视频帧
cvWriteFrame(writer,frame);      //将视频帧写入CvVideoWriter中保存
cvShowImage("Capture",frame);    //现实画面
int key = cvWaitKey(25);         //ESC 退出
if( key == 27 )
{
break;
}
}

cvReleaseVideoWriter(&writer);
cvReleaseCapture(&capture);
cvDestroyWindow("Capture");
return 0;
}


下面是代码中要用到HighGUI库中所有视频读写函数的使用说明链接:

1
CvCapture
2
cvCreateFileCapture
3
cvCreateCameraCapture
4
cvReleaseCapture
5
cvGrabFrame
6
cvRetrieveFrame
7
cvQueryFrame
8
cvGetCaptureProperty
9
cvSetCaptureProperty
10
cvCreateVideoWriter
11
cvReleaseVideoWriter
12
cvWriteFrame

转自/article/7791806.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: