python 图片生成视频_python--通过cv2多张图片生成视频

1、安装cv

pip install python-opencv

2、使用

# 图片合成视频

def picvideo(path,size):

# path = r'C:\Users\Administrator\Desktop\1\huaixiao\\'#文件路径

filelist = os.listdir(path) #获取该目录下的所有文件名

'''

fps:

帧率:1秒钟有n张图片写进去[控制一张图片停留5秒钟,那就是帧率为1,重复播放这张图片5次]

如果文件夹下有50张 534*300的图片,这里设置1秒钟播放5张,那么这个视频的时长就是10秒

'''

fps = 1

# size = (591,705) #图片的分辨率片

fourcc = cv2.VideoWriter_fourcc(*'XVID')

#fourcc = cv2.VideoWriter_fourcc(*'MP4v')

#VideoWriter = cv2.VideoWriter('a.avi', fourcc,fps, size)

VideoWriter = cv2.VideoWriter('a.avi', fourcc,fps, size)

for item in filelist:

if item.endswith('.jpg'): #判断图片后缀是否是.png

item = path + '/' + item

# print(item)

# im = Image.open(item)

# print(im.format)

# print(im.mode)

# print(im.info)

# break

img = cv2.imread(item) #使用opencv读取图像,直接返回numpy.ndarray 对象,通道顺序为BGR ,注意是BGR,通道值默认范围0-255。

img = cv2.resize(img,size) #重新设置尺寸,这里视频的尺寸要和图片的尺寸一致

VideoWriter.write(img) #把图片写进视频

#VideoWriter.release() #释放

cv2.destroyAllWindows()

if __name__ == "__main__":

#test()

#picvideo('/home/sun/Pictures/img',(1920, 1080))

picvideo('/home/sun/go/src/go_scrapy/scrapy/img',(800, 1280))