• OpenCV_avi读入视频


    View Code
     1 int _tmain(int argc, _TCHAR* argv[])
    2 {
    3 CvCapture* capture=0;
    4 //读入视频文件
    5 capture = cvCreateFileCapture("tree.avi");
    6 if(!capture)
    7 return -1;
    8 //将下一帧视频文件载入内存
    9 IplImage *bgr_frame = cvQueryFrame(capture);
    10
    11 //获取capture的各种属性
    12 //打开一个视频文件进行此操作,并将各帧图像转换 为对数极坐标格式。将装换后的太入戏逐帧写入视频文件。直到读入结束。
    13 double fps = cvGetCaptureProperty(capture,CV_CAP_PROP_FPS);
    14
    15 CvSize size = cvSize(
    16 (int)cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_WIDTH),
    17 (int)cvGetCaptureProperty(capture,CV_CAP_PROP_FRAME_HEIGHT)
    18 );
    19
    20 /* initialize video file writer
    21 第一个参数是用来指定新建视频的名称。
    22 第二个参数是视频压缩的编码方式。Opencv用cv_fourcc宏来指定编码格式。
    23 第三个参数是用来指定播放的帧率
    24 第四个参数是用来指定图像的大小。
    25 */
    26 CvVideoWriter *writer = cvCreateVideoWriter("tree2.avi",CV_FOURCC('M','J','P','G'),fps,size);
    27 IplImage* logpolar_frame = cvCreateImage(size,IPL_DEPTH_8U,3);
    28
    29 while((bgr_frame=cvQueryFrame(capture))!=NULL)
    30 {
    31 cvLogPolar(bgr_frame,logpolar_frame,cvPoint2D32f(bgr_frame->width/2,bgr_frame->height/2),40,CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS);
    32
    33 cvWriteFrame(writer,logpolar_frame);
    34 }
    35
    36 cvReleaseVideoWriter(&writer);
    37 cvReleaseImage(&logpolar_frame);
    38 cvReleaseCapture(&capture);
    39 return (0);
    40 }

  • 相关阅读:
    latex
    slab着色,可以减少cache conflict miss概率么?
    内存管理 初始化(八) 至kswapd_init
    内存管理 初始化(七)kmem_cache_init_late 初始化slab分配器(下)
    vmwareubuntu18.04网络配置
    高德地图的一些使用心得
    mongodb聚合管道用法
    python学习链接
    python开发者常犯的10个错误(转)
    vim配置python开发环境(转)
  • 原文地址:https://www.cnblogs.com/slysky/p/2195841.html
Copyright © 2020-2023  润新知