利用OpenCV的VideoWriter类实现视频的写操作

来源:互联网 发布:当数据库被破坏后 编辑:程序博客网 时间:2024/06/17 09:07

就不多介绍VideoWriter类了,大家一看代码便知道怎么用,这里只说下VideoWriter::open()的使用。

open()原型如下

bool open(const string& filename, int fourcc, double fps, Size frameSize, bool isColor=true);

filename:视频文件名和路径

fourcc:视频编解码类型,由四个字节组成,更多详情百度百科fourcc,在Windows环境下这个值可以设为-1,表示由对话框来设置相关视频参数,如下图所示:


一般情况下这个对话框的参数就按上面的截图设置!OpenCV处理这个参数的机制如下:

#define CV_FOURCC_MACRO(c1, c2, c3, c4) (((c1) & 255) + (((c2) & 255) << 8) + (((c3) & 255) << 16) + (((c4) & 255) << 24))CV_INLINE int CV_FOURCC(char c1, char c2, char c3, char c4){    return CV_FOURCC_MACRO(c1, c2, c3, c4);}#define CV_FOURCC_PROMPT -1  /* Open Codec Selection Dialog (Windows only) */#define CV_FOURCC_DEFAULT CV_FOURCC('I', 'Y', 'U', 'V') /* Use default codec for specified filename (Linux only) */

fps:帧率,这个不用多解释!

frameSize:每一帧的长和宽,实际上就是视频的长和宽或者称为视频的分辨率

isColor:是否为彩色视频

示例代码如下(代码中用到的视频下载链接为:http://pan.baidu.com/s/1hrIk2Ew):

//OpenCV版本opencv2.4.13//交流QQ2487872782 2016-8-4注:很报歉,此代码目前不能公开发表在博客上,已经删除,希望大家能理解!  

运行结果如下图所示


注意:我只提取了B通道,代码中有相关说明哦,是为了与原视频作区别!


-------------------------------------------
欢迎大家加入图像识别技术交流群:271891601,另外,特别欢迎成都从事图像识别工作的朋友交流,我的QQ号2487872782

0 0
原创粉丝点击