Python OpenCV 实现连续图片合成视频的方法
本文介绍使用 Python 和 OpenCV 库将连续图片序列合成为视频文件的方法。重点讲解了 OpenCV 2.x 与 3.x 版本在 FOURCC 编码获取方式上的差异,提供了完整的代码示例及图片命名规范说明,帮助开发者解决版本兼容性问题。
具体实现代码如下所示:
import cv2
import os
#图片路径
im_dir = '/home/suanfa/data/out/201708231503440'
#输出视频路径
video_dir = '/home/suanfa/data/out/201708231503440-1018.avi'
#帧率
fps = 30
#图片数
num = 426
#图片尺寸
img_size = (841,1023)
#fourcc = cv2.cv.CV_FOURCC('M','J','P','G')#opencv2.4
fourcc = cv2.VideoWriter_fourcc('M','J','P','G') #opencv3.0
videoWriter = cv2.VideoWriter(video_dir, fourcc, fps, img_size)
for i in range(1,num):
im_name = os.path.join(im_dir, str(i).zfill(6)+'.jpg')
frame = cv2.imread(im_name)
videoWriter.write(frame)
print im_name
videoWriter.release()
print 'finish'
需要注意以下事项:
确保图片路径下的图像文件命名格式统一为
000001.jpg、000002.jpg 直至 00100.jpg 等序列编号格式
若使用 OpenCV 2.x 版本,请选择以下编码方式:
fourcc = cv2.cv.CV_FOURCC('M','J','P','G')#opencv2.4
若使用 OpenCV 3.x 版本,请选择以下编码方式:
fourcc = cv2.VideoWriter_fourcc('M','J','P','G') #opencv3.0
以上即为 Python 结合 OpenCV 将连续图片转换为视频格式的完整方法,希望能为读者提供有效参考,欢迎继续支持本站获取更多技术内容。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









