写入视频

来源:互联网 发布:linux开机启动shell 编辑:程序博客网 时间:2024/06/08 14:50
#include "cv.h"#include "highgui.h"int main(int argc,char** argv){    CvCapture* capture = 0;    //打开视频文件    capture = cvCreateFileCapture("E:/opencv/avi.avi");    if (!capture)    {         return -1;    }    //读取视频帧    IplImage* bgr_frame = cvQueryFrame(capture);    //获得视频流的各种参数    double fps = cvGetCaptureProperty(capture,CV_CAP_PROP_FPS);    CvSize size = cvSize(        (int)cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_WIDTH),        (int)cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_HEIGHT)         );    //创建写入设备    CvVideoWriter* writer = cvCreateVideoWriter("E:/opencv/m_avi",         CV_FOURCC('M','J','P','G'),//视频格式         fps,         size);    IplImage* logpolar_frame = cvCreateImage(size,IPL_DEPTH_8U,3);    while((bgr_frame = cvQueryFrame(capture)) != NULL)    {        cvLogPolar(bgr_frame,logpolar_frame,cvPoint2D32f(bgr_frame->width/2,             bgr_frame->height/2),             40,CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS);         cvWriteFrame(writer,logpolar_frame);    }    cvReleaseVideoWriter(&writer);    cvReleaseImage(&logpolar_frame);    cvReleaseCapture(&capture);    return 0;}