一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Python将多张图片合成视频如何实现 Python将多张图片合成视频实现代码

时间:2020-11-23 编辑:袖梨 来源:一聚教程网

Python将多张图片合成视频如何实现?本篇文章小编给大家分享一下Python将多张图片合成视频实现代码,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

先上代码`

import numpy as np
import cv2
#读取一张图片
size = (432,288)
print(size)
#完成写入对象的创建,第一个参数是合成之后的视频的名称,第二个参数是可以使用的编码器,第三个参数是帧率即每秒钟展示多少张图片,第四个参数是图片大小信息
videowrite = cv2.VideoWriter(r'F:test.mp4',-1,20,size)#20是帧数,size是图片尺寸
img_array=[]
for filename in [r'F:Picture{0}.png'.format(i) for i in range(600)]:
 img = cv2.imread(filename)
 if img is None:
  print(filename + " is error!")
  continue
 img_array.append(img)
for i in range(600):
 videowrite.write(img_array[i])
print('end!')

算法的核心思想,大家的代码可能千差万别,但是思路都是一样的。

1.利用cv2.imread()读取图片文件

2.利用cv2.VideoWriter()产生一个对象

3.调用这个对象的write方法将所需的图片写进去,这样就生成了一个视频

几个大坑:

1、

size = (432,288)#这边是图片的尺寸,图片的尺寸得是一样的,不一样的话有个博主编了一个resize函数可以去参考一下

2、imread函数无法读取有中文字符的路径,一定得是英文字符

3、videowrite = cv2.VideoWriter(r'F:test.mp4',-1,20,size)这边的路径好像也得是英文,试了含有中文的路径不行

把图片命名为0~599.png

按照以上的代码文件生成了一下的视频文件

热门栏目