python-opencv-视频的简单合成——连续图片合成视频
OpenCV中使用VideoWriter对象来写入视频对象
import cv2 #获取一张图片的宽高作为视频的宽高 image=cv2.imread('./aa/img5.jpg') cv2.imshow("new window", image) #显示图片 image_info=image.shape height=image_info[0] width=image_info[1] size=(height,width) print(size) fps=30 fourcc=cv2.VideoWriter_fourcc(*"mp4v") video = cv2.VideoWriter('ss.mp4', cv2.VideoWriter_fourcc(*"mp4v"), fps, (width,height)) #创建视频流对象-格式一 #video = cv2.VideoWriter('ss.mp4', cv2.VideoWriter_fourcc('m', 'p', '4', 'v'), fps, (width,height)) #创建视频流对象-格式二 """ 参数1 即将保存的文件路径 参数2 VideoWriter_fourcc为视频编解码器 fourcc意为四字符代码(Four-Character Codes),顾名思义,该编码由四个字符组成,下面是VideoWriter_fourcc对象一些常用的参数,注意:字符顺序不能弄混 cv2.VideoWriter_fourcc('I', '4', '2', '0'),该参数是YUV编码类型,文件名后缀为.avi cv2.VideoWriter_fourcc('P', 'I', 'M', 'I'),该参数是MPEG-1编码类型,文件名后缀为.avi cv2.VideoWriter_fourcc('X', 'V', 'I', 'D'),该参数是MPEG-4编码类型,文件名后缀为.avi cv2.VideoWriter_fourcc('T', 'H', 'E', 'O'),该参数是Ogg Vorbis,文件名后缀为.ogv cv2.VideoWriter_fourcc('F', 'L', 'V', '1'),该参数是Flash视频,文件名后缀为.flv cv2.VideoWriter_fourcc('m', 'p', '4', 'v') 文件名后缀为.mp4 参数3 为帧播放速率 参数4 (width,height)为视频帧大小 """ for i in range(1,60): file_name = './aa/img' + str(i) + '.jpg' image=cv2.imread(file_name) video.write(image) # 向视频文件写入一帧--只有图像,没有声音 cv2.waitKey()
视频编码器:指的时能够对数字视频进行压缩和解压缩的程序或设备。目前常见的视频编码器有H.26X系列(目前最流行的是H.264和H.265)和MPEG系列(目前最流行的是MPEG-4第十部分,即H.264)。