Python_图片序列转视频(avi)
利用python将一个包含图片序列的文件夹下的所有图片转成avi视频形式
函数可以直接使用,输入包含图片的文件夹路径及输出视频的路径即可。
注意:img_size一定要提前设置好,否则有可能程序运行成功,视频却无法播放
import cv2
import os
import os.path as osp
def img2video(img_dir, img_size, video_dir, fps):
fourcc = cv2.VideoWriter_fourcc('M', 'J', 'P', 'G') # opencv3.0
videoWriter = cv2.VideoWriter(video_dir, fourcc, fps, img_size)
for idx in sorted(os.listdir(img_dir)):
img = osp.join(img_dir, idx)
frame = cv2.imread(img)
# print(frame.shape) # h, w, c (480, 640, 3)
videoWriter.write(frame)
videoWriter.release()
print('Finish changing!')
if __name__ == '__main__':
img_dir = '/root/Workspace/Reimplement_results/use_initial_pose_stage2_3/vicon_03301_13/iteration_results/result_img'
par_dir = osp.dirname(img_dir)
video_path = osp.join(par_dir, 'output.avi')
fps = 10
img_size = (640, 480) # w, h
img2video(img_dir=img_dir, img_size=img_size, video_dir=video_path, fps=fps)