opencv:寫入視頻

#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;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章