我面对特别奇怪的事情。
fourcc = cv2.VideoWriter_fourcc(*'XVID')
for cls in classes:
output_video.open( os.path.join( args.destinationDirForVideos, dirName + '.avi'), fourcc, 30.0, (640,480))
#output_video = cv2.VideoWriter( os.path.join( args.destinationDirForVideos , dirName + '.avi' ),fourcc,30.0,(640,360))
for frames in someImgFiles:
output_video.write(frames)
output_video.release()
#del(output_video)
伪代码如上。视频会在循环中为第一个类生成并正确保存,后续视频根本无法打开。我使用output_video.isOpened()检查。我已经尝试了两种初始化方法(注释和未注释),并尝试在1次迭代结束时删除对象(1个cls)。但我只能写第一个视频。
任何解释都会有所帮助。
Python:2.7.12
OpenCV:3.4.0(通过点子安装)
答案 0 :(得分:0)
试试这个
fourcc = cv2.VideoWriter_fourcc('X','V','I','D')
for cls in classes:
output_video = cv2.VideoWriter( os.path.join( args.destinationDirForVideos , dirName + '.avi' ),fourcc,30.0,(640,360))
for frames in someImgFiles:
output_video.write(frames)
output_video.release()