我在使用python3的cv2将多个图片生成视频时,是按照一位网友的程序编辑的,但是在编译时出现错误,查了资料,找到了解决方案:
def picvideo(path, size): filelist = os.listdir('newpic') filelist = resort(filelist) fps = 24 #size = (591, 705) # 图片分辨率 file_path = 'newVideo/new.mp4' #导出路径 fourcc = cv2.VideoWriter_fourcc('D', 'I', 'V', 'X') #不同编码对用不同格式 video = cv2.VideoWriter(file_path, fourcc, fps, size) for item in filelist: if item.endswith('.jpg'): #判断图片是否为.png item = path + '/' + item img = cv2.imread(item) video.write(img) #把图像写入视频 video.release() #释放
出现这样的错误:
OpenCV: FFMPEG: tag 0x58564944/'DIVX' is not supported with codec id 12 and format 'mp4 / MP4 (MPEG-4 Part 14)'
OpenCV: FFMPEG: fallback to use tag 0x7634706d/'mp4v'
而且在导出的文件中也没有找到newVideo文件里的视频。
根据错误提示,具体的解决方案是:
1,将MP4的后缀加上v;
2,可以将视频导出到一个已经创建好的文件里即可。
参考资料:https://blog.csdn.net/u010420283/article/details/89706794