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))

  

posted @ 2019-12-05 14:59  我和僵尸有个约会  阅读(2315)  评论(0编辑  收藏  举报