cvSize(文件宽度,文件高度)

通过图片或视频文件的宽高得到尺寸信息,返回值是CvSize

cvCreateVideoWriter(输出文件名,编码格式,帧率,图像大小)

通过设置输出视频的格式信息得到输出的视频,返回值是CvVideoWriter

CV_FOURCC(编码格式)

设置编码格式,('D','X','5','0') mpeg4格式,('M','J','P','G') mjpeg

cvWriteToAVI(输出视频流,输入视频流)

将输出视频流(IplImage类型)写成AVI格式到输出视频流(CvVideoWriter类型)中

cvReleaseVideoWriter(视频写入器)

释放视频写入器

#include <stdio.h>
#include "cv.h"
#include "highgui.h" int main(int argc, char **argv){
cvNamedWindow("hello", CV_WINDOW_AUTOSIZE);
cvNamedWindow("log_polar", CV_WINDOW_AUTOSIZE); CvCapture *capture = cvCreateFileCapture(argv[1]);
if(!capture){
return -1;
} double fps = cvGetCaptureProperty(capture, CV_CAP_PROP_FPS);
printf("fps = %d\n", (int)fps); CvSize size = cvSize(
(int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_WIDTH),
(int)cvGetCaptureProperty(capture, CV_CAP_PROP_FRAME_HEIGHT)
);
printf("frame (w,h) = (%d,%d)\n", size.width, size.height); CvVideoWriter *write = cvCreateVideoWriter(argv[2], CV_FOURCC('M','J','P','G'), fps, size); //CV_FOURCC('D','X','5','0') mpeg格式 CV_FOURCC('M','J','P','G') mjpeg格式 IplImage *logpolar_frame = cvCreateImage(size, IPL_DEPTH_8U, 3);
IplImage *gray_frame = cvCreateImage(size, IPL_DEPTH_8U, 1); IplImage *bgr_frame;
while(1){
bgr_frame = cvQueryFrame(capture);
if(!bgr_frame){
break;
} cvShowImage("hell0", bgr_frame); cvConvertImage(bgr_frame, gray_frame, CV_RGB2GRAY); cvLogPolar(
bgr_frame,
logpolar_frame,
cvPoint2D32f(bgr_frame->width/2,bgr_frame->height/2),
40,
CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS
);
cvShowImage("log_polar", logpolar_frame); cvWriteToAVI(write, logpolar_frame); //输出的文件名为.avi格式 char c = cvWaitKey(10);
if(c == 27){
break;
}
} cvReleaseVideoWriter(&write);
cvReleaseImage(&gray_frame);
cvReleaseImage(&logpolar_frame);
cvReleaseCapture(&capture);
cvDestroyWindow("hello");
cvDestroyWindow("log_polar"); return 0;
}

[学习OpenCV攻略][010][写入AVI文件]的更多相关文章

  1. [学习OpenCV攻略][004][播放AVI视频]

    cvCreateFileCapture(文件路径) 创建一个影音文件录像机,返回值为CvCapture类型,用于读取视频文件 cvQuerFrame(视频) 将下一帧视频文件载入内存,当CvCaptu ...

  2. [学习OpenCV攻略][002][Ubuntu下OpenCV安装]

    配置环境 操作系统 Ubuntu 12.04 OpenCV版本 opencv-1.0.0 学习书籍 <学习OpenCV> Liunx软件安装方法主要有3种: 1.编译安装,也就是通过编译源 ...

  3. [学习OpenCV攻略][016][RedHat下安装OpenCV]

    安装环境 操作系统: Red Hat Enterprise Linux Server 6.3 相关软件: ffmpeg-0.8.15.tar.bz2.cmake-3.5.1.tar.gz.OpenCV ...

  4. [学习OpenCV攻略][011][显示图片]

    学习资料: http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/tutorials.html   包含头文件 core.hpp:包含 ...

  5. [学习OpenCV攻略][017][ARM9下移植OpenCV]

    安装环境 宿主机: Red Hat Enterprise Linux Server 6.3 开发板: mini2440 相关软件: cmake-3.5.1.tar.gz.OpenCV-2.3.1a.t ...

  6. [学习OpenCV攻略][013][Mat - 基本图像容器]

    Mat 是一个类,由两个数据部分组成:矩阵头(包含矩阵尺寸,存储方法,存储地址等信息)和一个指向存储所有像素值的矩阵(根据所选存储方法的不同矩阵可以是不同的维数)的指针. 矩阵属于多个 Mat 对象, ...

  7. [学习OpenCV攻略][005][视频播放控制]

    cvSetCaptureProperty(视频,属性,属性值) 设置视频的属性,属性可以是宏CV_CAP_PROP_POS_FRAMES 视频帧的位置 cvGetCaptureProperty(视频, ...

  8. [学习OpenCV攻略][001][Ubuntu安装及配置]

    root登入配置 1.sudo passwd root 2.su - root 3.vim /etc/lightdm/lightdm.conf [SeatDefaults] user-session= ...

  9. [学习OpenCV攻略][012][读取、修改、保存图像]

    使用 imread 读取图像,图像路径为 imageName ,图像按BGR格式读取. image = imread( imageName, CV_LOAD_IMAGE_COLOR); 将RGB图像转 ...

随机推荐

  1. TxDragon的训练5

    Solution 代码:由乃: //MADE BY QT666 #include<iostream> #include<cstdio> #include<algorith ...

  2. ES6 Proxy和Reflect (上)

    Proxy概述 Proxy用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种"元编程"(meta programming),即对编程语言进行编程. Proxy可以理 ...

  3. K:java中正则表达式的使用说明及其举例

    从Java1.4起,java核心API就引入了java.util.regex程序包来处理正则表达式,并使用该包下的相关类进行字符串的匹配.搜索.提取.分析结构化内容等工作.需要注意的是,正则表达式本身 ...

  4. alpha rarefaction using qiime

    shannon菌群多样性指数 H=-∑(Pi)(㏑Pi) Pi=样品中属于第i种的个体的比例,如样品总个体数为N,第i种个体数为ni,则Pi=ni/N: 各种之间,个体分配越均匀,H值就越大.如果每一 ...

  5. jsonp及cors

    一. jsonp实现原理是利用script标签可以获取不同源资源的特点,来达到跨域访问某个资源的目的.具体行为如下: 创建一个script标签,将请求地址写入它的src属性,将这个script外链插入 ...

  6. sed中引用变量

    sed 中引用变量 eval sed 's/string/$REPLACE/g' file awk 中引用变量 awk 在匹配字符串的时候,有时候需要需要引用变量. $pid= eval " ...

  7. 测试BUG记录模板(供参考)

    文档说明如下: Bug严重程度: A-崩溃的:由于程序所引起的死机.非法退出.死循环:数据库发生死锁:因错误操作导致的程序中断:主要功能错误:造成数据破坏丢失或数据异常:数据库连接错误:数据通讯错误. ...

  8. 微信跳一跳Python

    微信最新的小程序里面出了个叫“跳一跳”的小游戏,大神们也通过Python实现了自动玩游戏具体代码 如下: Github地址: https://github.com/wangshub/wechat_ju ...

  9. Vuejs实现列表选中效果

    //html <div id="app"> <ul><div>选择你最喜欢的爱好:</div> <li class=" ...

  10. iconfont-字体图标

    看到支付宝官网,使用很多iconfont-字体图标.素色,纯色,体积小,尝试使用做个demo,以便日后参考使用 ============================ <h1>第一个结构 ...