zoukankan      html  css  js  c++  java
  • 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 }

  • 相关阅读:
    HL7及PIX相关的测试工具
    HDU4570----Multi-bit Trie----简单的DP
    hdu2248
    poj 3693 Maximum repetition substring (后缀数组)
    高性能通道
    volyaire重振Infiniband
    利用iWARP/RDMA解决以太网高延迟
    linux 单网卡来绑定多IP实现多网段访问以及多网卡绑定单IP实现负载均衡
    C细节学习
    每2秒获取系统的赋值及内存使用率
  • 原文地址:https://www.cnblogs.com/slysky/p/2195841.html
Copyright © 2011-2022 走看看