#include <cv.h>
#include <highgui.h>
int main(int argc, char **argv)
{
CvCapture* capture = NULL;
capture = cvCreateFileCapture("红动中国设计网视频素材2185.avi");
if (!capture) return -;
//获取视频的第一帧 并存在bgr_frame
IplImage *bgr_frame = cvQueryFrame(capture);
//获得视频的总帧数 CV_CAP_PROP_FPS 帧率
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("1ai.avi", CV_FOURCC('M', 'J', 'P', 'G'), fps, size);
//创建首地址 并分配存储空间
IplImage* logpolar_frame = cvCreateImage(size, IPL_DEPTH_8U, );
// 获取视频的下一帧
while ((bgr_frame = cvQueryFrame(capture)) != NULL)
{
//将视频从笛卡尔坐标系转到极坐标系 参数分别表示 输入图像 输出图像 变换中心 尺度参数 填充输出图像所有参数 + CV_INTER_LINEAR 表示双线性参值(具体什么意思)
cvLogPolar(bgr_frame, logpolar_frame, cvPoint2D32f(bgr_frame->width / , bgr_frame->height / ), , CV_INTER_LINEAR + CV_WARP_FILL_OUTLIERS);
//将获取到的每一帧从笛卡尔坐标系转到极坐标系后的参数 存到新建的视频文件
cvWriteFrame(writer, logpolar_frame);
//将获取的视频通过mainwin窗口进行展示
cvShowImage("mainwin", logpolar_frame);
char c = cvWaitKey();
//ESC 默认退出
if (c == ) break;
}
//释放程序中申请的空间
cvReleaseVideoWriter(&writer);
cvReleaseImage(&logpolar_frame);
cvReleaseCapture(&capture);
return();
}

opencv-写入AVI视频文件的更多相关文章

  1. OpenCV —— 写入AVI视频文件

    打开视频文件,对每一帧进行极坐标变换,然后将转换生成的图像序列写入视频文件中 #include "cv.h" #include "highgui.h" int ...

  2. OpenCV学习:播放avi视频文件

    #if 0 //播放avi视频文件(IplImage) #include <opencv2/opencv.hpp> using namespace std; #pragma comment ...

  3. avi视频文件提取与合并

    最近在做一个avi视频文件的提取与合并,花了几天熟悉avi文件格式.制作了一个提取与合并的动态库,不过仅限于提取视频,视频的合并还没添加一些额外判断,可能导致不同分辨率的视频文件合成后不能播放.欢迎大 ...

  4. OpenCV+Python实现视频文件裁剪功能

    Python编程实现对视频文件进行剪切的功能.截取指定长度的视频并保存,运行后首先选择要裁剪的视频,然后输入开始时间点和停止时间点即可.将剪切后的视频保存为output.avi文件 所属网站分类: 资 ...

  5. 视频文件写入转换之图像处理-OpenCV应用学习笔记五

    在<笔记二>中我们做了视频播放和控制的实现,仅仅算是完成了对视频文件的读取操作:今天我们来一起练习下对视频文件的写入操作:格式转换. 实现功能: 打开一个视频文件play.avi,读取文件 ...

  6. opencv中读写视频

    1.介绍 OpenCV 读写视频之前,先介绍一下编解码器(codec) .如果是图像文件, 我们可以根据文件扩展名得知图像的格式.但是此经验并不能推广到视频文件中. 有些 OpenCV 用户会碰到奇怪 ...

  7. [zt]OpenCV如何获取视频当前的一帧图像

    (OpenCV读取视频.OpenCV提取视频每一帧.每一帧图片合成新的AVI视频)CvCapture 是视频获取结构 被用来作为视频获取函数的一个参数 比如 CvCapture* cap; IplIm ...

  8. matlab下将图片序列转化为视频文件 && 将为视频文件转化图片序列

    将图片序列转化为视频文件 程序如下: framesPath = 'E:\img\';%图像序列所在路径,同时要保证图像大小相同 videoName = 'Bolt.avi';%表示将要创建的视频文件的 ...

  9. Emgu 学习(2) 视频文件播放

    播放AVI视频文件 static void Main(string[] args) { CvInvoke.NamedWindow("TestVideo", NamedWindowT ...

随机推荐

  1. Go基础篇【第1篇】: 内置库模块 OS

    os包提供了操作系统函数的不依赖平台的接口.设计为Unix风格的,虽然错误处理是go风格的:失败的调用会返回错误值而非错误码.通常错误值里包含更多信息.os包的接口规定为在所有操作系统中都是一致的.非 ...

  2. htm,html,xhtml,xml,xsl,dhtml,shtm和shtml的区分

    介绍一下htm,html,xhtml,xml,shtml的区分,以下内容来自百度后的知识整理. HTML和htm: HTML(Hypertext Markup Language)超文本传输语言,是ww ...

  3. vs2017切换设计、拆分假死的解决

    今天安装了vs2017版把vs2015卸载了,原因就是vs2015运行webform后ajaxpro总是会出现time out现象.太难受了,所以决定体验一下新版本. 安装了vs2017后ajaxpr ...

  4. Python数据分析(三)pandas resample 重采样

    下方是pandas中resample方法的定义,帮助文档http://pandas.pydata.org/pandas-docs/stable/timeseries.html#resampling中有 ...

  5. 【南开OJ2264】节操大师(贪心+二分+并查集/平衡树)

    好久没更新了,今天就随便写一个吧 题目内容 MK和他的小伙伴们(共n人,且保证n为2的正整数幂)想要比试一下谁更有节操,于是他们组织了一场节操淘汰赛.他们的比赛规则简单而暴力:两人的节操正面相撞,碎的 ...

  6. [洛谷P4208][JSOI2008]最小生成树计数

    题目大意:有$n$个点和$m$条边(最多有$10$条边边权相同),求最小生成树个数 题解:对于所有最小生成树,每种边权的边数是一样的.于是就可以求出每种边权在最小生成树中的个数,枚举这种边的边集,求出 ...

  7. [洛谷P4001][BJOI2006]狼抓兔子

    题目大意:给你一个n*m的网格图,有三种边,横的,纵的和斜的,要你求出它的最小割 题解:网络流 卡点:1.无向图,反向弧容量应和正向弧相同 C++ Code: #include<cstdio&g ...

  8. 【COGS 461】[网络流24题] 餐巾 最小费用最大流

    既然是最小费用最大流我们就用最大流来限制其一定能把每天跑满,那么把每个表示天的点向T连流量为其所需餐巾,费用为0的边,然后又与每天的餐巾对于买是无限制的因此从S向每个表示天的点连流量为INF,费用为一 ...

  9. [POI2008] Poc (原名 Trians) Treap+Hash

    这个题和千山鸟飞绝体现出了一种用平衡树解决动态集合问题,主要套路就是蜜汁标记. 这个题我一开始用替罪羊树搞了一下对了28个点,后来我换成了Treap一搞对了14个点,再后来发现被卡了Hash我竟然在自 ...

  10. codevs 1078 最小生成树 kruskal

    题目描述 Description 农民约翰被选为他们镇的镇长!他其中一个竞选承诺就是在镇上建立起互联网,并连接到所有的农场.当然,他需要你的帮助. 约翰已经给他的农场安排了一条高速的网络线路,他想把这 ...