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

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM