opencv-写入AVI视频文件
#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视频文件的更多相关文章
- OpenCV —— 写入AVI视频文件
打开视频文件,对每一帧进行极坐标变换,然后将转换生成的图像序列写入视频文件中 #include "cv.h" #include "highgui.h" int ...
- OpenCV学习:播放avi视频文件
#if 0 //播放avi视频文件(IplImage) #include <opencv2/opencv.hpp> using namespace std; #pragma comment ...
- avi视频文件提取与合并
最近在做一个avi视频文件的提取与合并,花了几天熟悉avi文件格式.制作了一个提取与合并的动态库,不过仅限于提取视频,视频的合并还没添加一些额外判断,可能导致不同分辨率的视频文件合成后不能播放.欢迎大 ...
- OpenCV+Python实现视频文件裁剪功能
Python编程实现对视频文件进行剪切的功能.截取指定长度的视频并保存,运行后首先选择要裁剪的视频,然后输入开始时间点和停止时间点即可.将剪切后的视频保存为output.avi文件 所属网站分类: 资 ...
- 视频文件写入转换之图像处理-OpenCV应用学习笔记五
在<笔记二>中我们做了视频播放和控制的实现,仅仅算是完成了对视频文件的读取操作:今天我们来一起练习下对视频文件的写入操作:格式转换. 实现功能: 打开一个视频文件play.avi,读取文件 ...
- opencv中读写视频
1.介绍 OpenCV 读写视频之前,先介绍一下编解码器(codec) .如果是图像文件, 我们可以根据文件扩展名得知图像的格式.但是此经验并不能推广到视频文件中. 有些 OpenCV 用户会碰到奇怪 ...
- [zt]OpenCV如何获取视频当前的一帧图像
(OpenCV读取视频.OpenCV提取视频每一帧.每一帧图片合成新的AVI视频)CvCapture 是视频获取结构 被用来作为视频获取函数的一个参数 比如 CvCapture* cap; IplIm ...
- matlab下将图片序列转化为视频文件 && 将为视频文件转化图片序列
将图片序列转化为视频文件 程序如下: framesPath = 'E:\img\';%图像序列所在路径,同时要保证图像大小相同 videoName = 'Bolt.avi';%表示将要创建的视频文件的 ...
- Emgu 学习(2) 视频文件播放
播放AVI视频文件 static void Main(string[] args) { CvInvoke.NamedWindow("TestVideo", NamedWindowT ...
随机推荐
- Uuuuuunity
foreach http://blog.csdn.net/byondocean/article/details/6871881 yield http://www.cnblogs.com/CareyS ...
- Hadoop伪分布式安装步骤(hadoop0.20.2版本)
最近在学习hadoop,自己下了个视频教程,他的教学版本是hadoop0.20.2版本,现在的最新版本都到了3.0了,版本虽然有点老,但是还是学了一下,觉得有借鉴的价值. 不废话了,开始介绍: 先说一 ...
- windows redis+lua的调试
1.编写lua脚本my.lua local key = KEYS[1] --限流KEY(一秒一个) local limit = tonumber(ARGV[1]) --限流大小 local curre ...
- To Chromium之浏览器外框UI
先不去管那些webkit,V8 engine, Parser, security,IPC... 先来看看Chromium的外框UI是那些code负责的,如果自己可以定制化一下,应该蛮好玩的. TBD. ...
- PHP蜘蛛爬虫开发文档
<我用爬虫一天时间“偷了”知乎一百万用户,只为证明PHP是世界上最好的语言 >所使用的程序框架 编写PHP网络爬虫, 需要具备以下技能: 爬虫采用PHP编写 从网页中抽取数据需要用XPat ...
- RadioGroup和GroupBox有什么区别?
我在RadioGroup中放RadioButton和GroupBox中一样,搞不明白. radiogroup有个item属性都是radio控件,不需要拖控件上去.groupbox需要自己拖控件 分组的 ...
- Concurrent.util中的一些类
package com.bjsxt.height.concurrent019; import java.io.IOException; import java.util.Random; import ...
- Jprofiler分析WebSphere(配置WebSphereagent代理)
一. Windows+WebSphere+Jprofiler9 我们自己的windows机器监控本地的WebSphere,应该为服务器配置监控代理,供Jprofiler连接使用,具体步骤如下: 1 ...
- bzoj3343: 教主的魔法 分块 标记
修改:两边暴力重构,中间打标记.复杂度:O(n0.5) 查询:中间二分两边暴力.O(n0.5logn0.5) 总时间复杂度O(n*n0.5logn0.5) 空间复杂度是n级别的 标记不用下传因为标记不 ...
- CSS3边框会动的信封
<!DOCTYPE html><html> <head> <title>酷炫的CSS3</title> <meta charset=& ...