#逐帧播放
import cv2
import os
def pic_to_vid(P, V, F):
path = P
video_dir = V
fps = F
in_img = os.listdir(path)
# get_key是sotred函数用来比较的元素,该处用lambda表达式替代函数。
img_key = lambda i: int(i.split('.')[0])
img_sorted = sorted(in_img, key=img_key)
# 需要转为视频的图片的尺寸,这里必须和图片尺寸一致
# w,h of image
img = cv2.imread(os.path.join(path, img_sorted[0]))
img_size = (img.shape[1], img.shape[0])
seq_name = "1" # 获取视频名称
video_dir = os.path.join(video_dir, seq_name + '.mp4')
#print(img_size)
video = cv2.VideoWriter(video_dir, cv2.VideoWriter_fourcc('m', 'p', '4', 'v'), fps, img_size) # mjpg-avi
for item in img_sorted:
img = os.path.join(path, item)
img = cv2.imread(img)
video.write(img)
video.release()
cv2.destroyAllWindows()
print('全部图片已全部转化为视频。')
#主函数
if __name__ == '__main__':
path = "E:/data/OUR DATA/1/test/" # 输入图片路径
video_dir = "E:/data/OUR DATA/1" # 输出视频路径
fps = 30 # 跟自己的需求设置帧率
pic_to_vid(path, video_dir, fps)# 传入函数,转化视频