|

首先要先纠正个误区,我见有人用OpenCV做多媒体开发,真的是很搞笑,OpenCV这东西再强大,这方面也不行的,之所以把视频读取写入这部分做的强大一些,也是为了方便大家做视频处理的时候方便些,而且这部分也是基于vfw和ffmpeg二次开发的,功能还是很弱的。一定要记住一点,OpenCV是一个强大的计算机视觉库,而不是视频流编码器或者解码器。希望大家不要走入这个误区,可以把这部分简单单独看待。目前,OpenCV只支持avi的格式,而且生成的视频文件不能大于2GB,而且不能添加音频。如果你想突破这些限制,我建议你最好还是看看ffMpeg,而不是浪费时间在OpenCV上。不过也可以利用视频后期合成工具制作。闲言少叙,进入重点VideoWriter类。
这个类是highgui交互很重要的一个工具类,可以方便我们容易的将图片序列保存成视频文件。类内成员函数有构造函数,open,isOpened,write(也可以用<<),使用还是很简单的。
变量名 | 类 型 | 静态 | 数组 | 备 注 | 编辑 | 视频编辑 | | | 采集 | 视频采集 | | | 图像 | 多维矩阵 | | | 编解码器 | 整数型 | | | 帧率 | 双精度小数型 | | | 文件名 | 文本型 | | | 图像尺寸 | 尺寸数据结构i | | |
采集. 打开 (0, 0, ) 如果真 (采集. 已打开 () = 假) 信息框 (“打开摄像头失败,请确实摄像头是否安装成功。”, 0, “这是一个错误提示!”, 取窗口句柄 ()) 返回 ()编解码器 = 编辑.编解码器 (77, 74, 80, 71)
帧率 = 25 文件名 = 编辑框1.内容 图像尺寸.高 = 采集. 获取 ( #采集_属性_框架_高 )图像尺寸.宽 = 采集. 获取 ( #采集_属性_框架_宽 )编辑. 打开 (文件名, 0, 编解码器, 帧率, 图像尺寸, 真) 如果真 (编辑. 已打开 () = 假) 信息框 (“打开视频文件失败,请确实是否为合法输入。”, 0, “这是一个错误提示!”, 取窗口句柄 ())  采集. 释放 () 返回 () 判断循环首 (采集. 读 (图像.指针 ))  编辑. 写 (图像.指针 ) 视觉_显示图像 (“小白鼠”, 图像.指针 ) 如果真 (视觉_等待按键 (20 ) = 27 )  跳出循环 ()  判断循环尾 ()采集. 释放 ()编辑. 释放 ()视觉_销毁窗口 (“小白鼠”)
链接:https://pan.baidu.com/s/1VSYkILerRQsoDiIhl-6eTQ
提取码:4ypk
复制这段内容后打开百度网盘手机App,操作更方便哦
|
|