精易论坛

标题: Opencv学习笔记 生成成视频流(保存视频) [打印本页]

作者: z13228604287    时间: 2021-8-25 11:29
标题: Opencv学习笔记 生成成视频流(保存视频)
首先要先纠正个误区,我见有人用OpenCV做多媒体开发,真的是很搞笑,OpenCV这东西再强大,这方面也不行的,之所以把视频读取写入这部分做的强大一些,也是为了方便大家做视频处理的时候方便些,而且这部分也是基于vfw和ffmpeg二次开发的,功能还是很弱的。一定要记住一点,OpenCV是一个强大的计算机视觉库,而不是视频流编码器或者解码器。希望大家不要走入这个误区,可以把这部分简单单独看待。目前,OpenCV只支持avi的格式,而且生成的视频文件不能大于2GB,而且不能添加音频。如果你想突破这些限制,我建议你最好还是看看ffMpeg,而不是浪费时间在OpenCV上。不过也可以利用视频后期合成工具制作。闲言少叙,进入重点VideoWriter类。
这个类是highgui交互很重要的一个工具类,可以方便我们容易的将图片序列保存成视频文件。类内成员函数有构造函数,open,isOpened,write(也可以用<<),使用还是很简单的。


  
变量名类 型静态数组备 注
编辑视频编辑 
采集视频采集 
图像多维矩阵 
编解码器整数型 
帧率双精度小数型 
文件名文本型 
图像尺寸尺寸数据结构i 
' 支持的易语言编码格式如下:
' 编辑.编解码器 (50, 49, 77, 49) = MPEG-1
' 编辑.编解码器 (77, 74, 80, 71) = motion-jpeg(运行效果一般)
' 编辑.编解码器 (77, 80, 52, 50) = MPEG-4.2
' 编辑.编解码器 (68, 73, 86, 51) = MPEG-4.3
' 编辑.编解码器 (68, 73, 86, 88) = MPEG-4
' 编辑.编解码器 (85, 50, 54, 51) = H263
' 编辑.编解码器 (73, 50, 54, 51) = H263I
' 编辑.编解码器 (70, 76, 86, 49) = FLV1
采集.打开 (0, 0, )  ' 使用某个摄像头
如果真 (采集.已打开 ())
信息框 (“打开摄像头失败,请确实摄像头是否安装成功。”, 0, “这是一个错误提示!”, 取窗口句柄 ())
返回 ()
编解码器 = 编辑.编解码器 (77, 74, 80, 71)  ' 选择编码格式
帧率 = 25  ' 设置视频帧率
文件名 = 编辑框1.内容  ' 保存的视频文件名称
图像尺寸.高 = 采集.获取 ( #采集_属性_框架_高 )
图像尺寸.宽 = 采集.获取 ( #采集_属性_框架_宽 )
编辑.打开 (文件名, 0, 编解码器, 帧率, 图像尺寸, )  ' 创建保存视频文件的视频流
如果真 (编辑.已打开 ())
信息框 (“打开视频文件失败,请确实是否为合法输入。”, 0, “这是一个错误提示!”, 取窗口句柄 ())
采集.释放 ()
返回 ()
判断循环首 (采集. (图像.指针))  ' 摄像头断开连接或者视频读取完成 结束循环
编辑. (图像.指针)
视觉_显示图像 (“小白鼠”, 图像.指针)
如果真 (视觉_等待按键 (20) = 27)  ' 按ESC案件退出视频保存
跳出循环 ()

判断循环尾 ()
采集.释放 ()
编辑.释放 ()
视觉_销毁窗口 (“小白鼠”)  ' 在窗模式下需要手动销毁窗口



i支持库列表   支持库注释   
cv(未知支持库)


链接:https://pan.baidu.com/s/1VSYkILerRQsoDiIhl-6eTQ
提取码:4ypk
复制这段内容后打开百度网盘手机App,操作更方便哦


作者: 2442295093    时间: 2021-8-25 12:49

作者: jvmmll    时间: 2023-6-8 09:26
高手作品, 下下来看看, 顺便请教一下啊OpenCV vip3.4版支持库从哪里下载?
作者: 719152520    时间: 2024-2-17 12:35
下下来看看




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4