本文最后更新于:2024年6月27日 晚上
OpenCV 可以将图像转为视频帧,本文记录相关用法。
简介
OpenCV 将图像合成视频的方法核类为 cv::VideoWriter
,参数如下:
参数名 | 含义 | 备注 |
---|---|---|
filename | 保存视频的文件名。 | |
fourcc | 指定视频编解码器的 FourCC 代码,用于将视频压缩成指定格式,例如:“XVID”、“MJPG”, "mp4v"等。 | 可以使用 cv2.VideoWriter_fourcc() 函数来获取 FourCC 代码。 |
fps | 指定视频帧率,即每秒显示的帧数。 | |
frameSize | 指定视频帧的大小,即视频的分辨率。 | 可以使用 (width, height) 形式的元组来指定。 |
isColor | 指定是否为彩色视频。 | 如果为 True,则为彩色视频;如果为 False,则为灰度视频 ( 选项仅在 Windows 下支持)。 |
其中,前三个参数是必需的,后两个参数是可选的。
cv2.VideoWriter_fourcc()
该函数接收四个字符作为输入参数,构造要使用的编解码器的 fourcc 代码。
使用举例:
代码 | 格式 |
---|---|
cv2.VideoWriter_fourcc(‘P’,‘I’,‘M’,‘1’) | 该参数是MPEG-1编码类型,文件名后缀为.avi |
cv2.VideoWriter_fourcc(‘M’,‘J’,‘P’,‘G’) | motion-jpeg |
cv2.VideoWriter_fourcc(‘M’, ‘P’, ‘4’, ‘V’) | MPEG-4编码 .mp4 可指定结果视频的大小 |
cv2.VideoWriter_fourcc(‘X’,‘2’,‘6’,‘4’) | MPEG-4编码 .mp4 可指定结果视频的大小 |
cv2.VideoWriter_fourcc(‘I’, ‘4’, ‘2’, ‘0’) | 该参数是YUV编码类型,文件名后缀为.avi |
cv2.VideoWriter_fourcc(‘X’, ‘V’, ‘I’, ‘D’) | 该参数是MPEG-4编码类型,文件名后缀为.avi,可指定结果视频的大小 |
cv2.VideoWriter_fourcc(‘T’, ‘H’, ‘E’, ‘O’) | 该参数是Ogg Vorbis,文件名后缀为.ogv |
cv2.VideoWriter_fourcc(‘F’, ‘L’, ‘V’, ‘1’) | 该参数是Flash视频,文件名后缀为.flv |
这里 有完整的编码器代码列表。
cv2.VideoWriter
获取到 fourcc 之后,可以创建 VideoWriter
对象了
1 |
|
将图像用该对象写入到文件中即可。
示例代码:
1 |
|
该函数封装在 vvdutils 库 img2video 函数中。
参考资料
- https://docs.opencv.org/3.4/dd/d9e/classcv_1_1VideoWriter.html#ac3478f6257454209fa99249cc03a5c59
- https://blog.csdn.net/lwdfzr/article/details/135158033
- https://blog.csdn.net/weixin_61623830/article/details/139290221
文章链接:
https://www.zywvvd.com/notes/study/image-processing/opencv/opencv-img2video/opencv-img2video/
“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”
微信支付
支付宝支付
OpenCV 图像合成视频
https://www.zywvvd.com/notes/study/image-processing/opencv/opencv-img2video/opencv-img2video/