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


Posted in Python onNovember 23, 2020

今天要做一个量子隧穿的的演示动画,在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)这边的路径好像也得是英文,我试了含有中文的路径不行

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

我把图片命名为0~599.png

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

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

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

Python 相关文章推荐
python实现apahce网站日志分析示例
Apr 02 Python
python查询sqlite数据表的方法
May 08 Python
在Linux系统上部署Apache+Python+Django+MySQL环境
Dec 24 Python
python 类详解及简单实例
Mar 24 Python
python使用magic模块进行文件类型识别方法
Dec 08 Python
python3.6根据m3u8下载mp4视频
Jun 17 Python
python正则-re的用法详解
Jul 28 Python
python os.path.isfile 的使用误区详解
Nov 29 Python
python读取文件指定行内容实例讲解
Mar 02 Python
基于python实现可视化生成二维码工具
Jul 08 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
Jul 13 Python
基于python制作简易版学生信息管理系统
Apr 20 Python
Python系统公网私网流量监控实现流程
Nov 23 #Python
Python 调用 ES、Solr、Phoenix的示例代码
Nov 23 #Python
10个示例带你掌握python中的元组
Nov 23 #Python
详解anaconda安装步骤
Nov 23 #Python
Python可以用来做什么
Nov 23 #Python
pycharm激活码2020最新分享适用pycharm2020最新版亲测可用
Nov 22 #Python
python里反向传播算法详解
Nov 22 #Python
You might like
聊天室php&mysql(三)
2006/10/09 PHP
获得Google PR值的PHP代码
2007/01/28 PHP
探讨捕获php错误信息方法的详解
2013/06/09 PHP
PHP 使用pcntl和libevent 实现Timer功能
2013/10/27 PHP
Apache连接PHP后无法启动问题解决思路
2015/06/18 PHP
PHP面向对象五大原则之里氏替换原则(LSP)详解
2018/04/08 PHP
laravel框架中间件简单使用方法示例
2020/01/25 PHP
如何在PHP中使用数组
2020/06/09 PHP
JavaScript 定义function的三种方式小结
2009/10/16 Javascript
js前台判断开始时间是否小于结束时间
2012/02/23 Javascript
jQuery 复合选择器应用的几个例子
2014/09/11 Javascript
JavaScript设计模式开发中组合模式的使用教程
2016/05/18 Javascript
jQuery中通过ajax调用webservice传递数组参数的问题实例详解
2016/05/20 Javascript
AngularJS  ng-table插件设置排序
2016/09/21 Javascript
Nodejs之http的表单提交
2017/07/07 NodeJs
ES6学习之变量的两种命名方法示例
2017/07/18 Javascript
JS中跳出循环的示例代码
2017/09/14 Javascript
新手vue构建单页面应用实例代码
2017/09/18 Javascript
javascript严格模式详解(含严格模式与非严格模式的区别)
2019/11/12 Javascript
python ansible服务及剧本编写
2017/12/29 Python
详解python里的命名规范
2018/07/16 Python
python dataframe向下向上填充,fillna和ffill的方法
2018/11/28 Python
树莓派+摄像头实现对移动物体的检测
2019/06/22 Python
Python中的类与类型示例详解
2019/07/10 Python
Python如何使用k-means方法将列表中相似的句子归类
2019/08/08 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
2020/02/20 Python
Python格式化输出--%s,%d,%f的代码解析
2020/04/29 Python
PyTorch中torch.tensor与torch.Tensor的区别详解
2020/05/18 Python
.img/.hdr格式转.nii格式的操作
2020/07/01 Python
JAVA的事件委托机制和垃圾回收机制
2014/09/07 面试题
护士自我鉴定
2013/10/23 职场文书
党员教师群众路线个人整改措施
2014/10/28 职场文书
情人节活动总结范文
2015/02/05 职场文书
详解Redis实现限流的三种方式
2021/04/27 Redis
Python实现的扫码工具居然这么好用!
2021/06/07 Python
python数字图像处理:图像简单滤波
2022/06/28 Python