基于opencv3.4.1, 开发的视频编辑器,基本功能都已经实现了,如下图所示:
具体功能:
- 进度条,控制左上角视频的播放进度,支持随意位置调整。
- 开始-结束:用于控制剪裁输出的视频起止点。
- 打开:打开一个视频文件,并呈现在左侧。
- 播放/暂停:开始播放左上角视频,或者暂停播放左上角视频。
- 截图:截取一张图片,即右侧合成图。右侧为目标图,即包含原图和水印图。
- 可以添加水印图、剪裁视频大小、调整视频亮度、对比度、支持高斯和拉普拉斯滤波、调整视频宽高、支持图像旋转(90-180-270)、支持图像镜像(x/y),支持图像颜色转换(灰度、rgb/bgr/yuv等)
该案例,是根据一节课程学习的,课程里是用Qt实现的,我Qt不熟悉,就用MFC实现了。
本来应该用多线程的,但是这里我用定时器实现的。
整个页面设计不是太合理,主要是为了完成功能,所以就当练习用了。
opencv并没有处理音频,仅仅处理视频,就是将视频文件,单独抽离出视频,进行处理。
最后输出时,需要将音频再合成进去。合成音频,用到ffmpeg的库。直接输入命令即可。