首页 > 代码库 > opencv播放,变换和保存视频
opencv播放,变换和保存视频
核心函数:
1. cvCreateFileCapture
2. cvGetCaptureProperty
3. cvQueryFrame
4. cvCreateVideoWriter
5. cvWriteFrame
程序:
#include "cv.h" #include "cxcore.h" #include "highgui.h" #include <iostream> #include <stdio.h> int Vedio(int argc,char** argv) { CvCapture* SrcCapture=cvCreateFileCapture("e:\\vedio\\1.avi"); //读取视频文件 cvNamedWindow("src"); cvNamedWindow("GRAY"); IplImage* SrcImage=NULL; int fps=cvGetCaptureProperty(SrcCapture,CV_CAP_PROP_FPS); //获取视频文件信息 CvSize size=cvSize(cvGetCaptureProperty(SrcCapture,CV_CAP_PROP_FRAME_WIDTH),cvGetCaptureProperty(SrcCapture,CV_CAP_PROP_FRAME_HEIGHT)); CvVideoWriter *VideoWriter=cvCreateVideoWriter("e:\\vedio\\3.avi",CV_FOURCC(‘X‘,‘V‘,‘I‘,‘D‘),fps,size); //创建写入文件信息 SrcImage=cvQueryFrame(SrcCapture); IplImage* Gray=cvCreateImage(cvGetSize(SrcImage),8,1); while(1) { SrcImage=cvQueryFrame(SrcCapture); //获取每一帧图像 if(SrcImage==NULL) { break; } cvShowImage("src",SrcImage); cvCvtColor(SrcImage,Gray,CV_BGR2GRAY); cvShowImage("GRAY",Gray); cvWriteFrame(VideoWriter,Gray); //保存文件 char c=cvWaitKey(10); if(c==27) {break;} } //cvWaitKey(0); cvDestroyWindow("src"); cvDestroyWindow("GRAY"); cvReleaseCapture(&SrcCapture); cvReleaseVideoWriter(&VideoWriter); return 0; }
本文出自 “flyclc” 博客,请务必保留此出处http://flyclc.blog.51cto.com/1385758/1540031
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。