微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

利用Python将多张图片合成视频的实现

这篇文章主要介绍了利用Python将多张图片合成视频的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

今天要做一个量子隧穿的的演示动画,在CSDN上看了很多大佬的文章,然而忙了接近半天才做好这件事。把踩过的坑记一下,同时这段代码也是值得记录的,因为以后也可能遇到类似的工作。

先上代码`

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

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

到此这篇关于利用Python将多张图片合成视频的实现的文章就介绍到这了,更多相关Python 图片合成视频内容搜索编程之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程之家!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐