利用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学习笔记之os模块使用总结
Nov 03 Python
利用numpy实现一、二维数组的拼接简单代码示例
Dec 15 Python
python基础教程项目三之万能的XML
Apr 02 Python
解决python3读取Python2存储的pickle文件问题
Oct 25 Python
浅谈python之高阶函数和匿名函数
Mar 21 Python
Python全栈之列表数据类型详解
Oct 01 Python
wxPython:python首选的GUI库实例分享
Oct 05 Python
基于python cut和qcut的用法及区别详解
Nov 22 Python
利用Pytorch实现简单的线性回归算法
Jan 15 Python
Python实现对adb命令封装
Mar 06 Python
python中setuptools的作用是什么
Jun 19 Python
PyTorch dropout设置训练和测试模式的实现
May 27 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的简单实例
2014/01/15 PHP
php中spl_autoload详解
2014/10/17 PHP
PHP关于foreach复制知识点总结
2019/01/28 PHP
php实现图片压缩处理
2020/09/09 PHP
基于Web标准的UI组件 — 树状菜单(2)
2006/09/18 Javascript
JavaScript分秒倒计时器实现方法
2015/02/02 Javascript
用js编写的简单的计算器代码程序
2015/08/04 Javascript
JS动态改变浏览器标题的方法
2016/04/06 Javascript
jQuery获取attr()与prop()属性值的方法及区别介绍
2016/07/06 Javascript
JavaScript 拖拽实例代码
2016/09/21 Javascript
canvas实现图像布局填充功能
2017/02/06 Javascript
JavaScript设计模式之策略模式详解
2017/06/09 Javascript
Angularjs的启动过程分析
2017/07/18 Javascript
Angular4.0中引入laydate.js日期插件的方法教程
2017/12/25 Javascript
原生JS实现前端本地文件上传
2018/09/08 Javascript
vue项目使用微信公众号支付总结及遇到的坑
2018/10/23 Javascript
layui之数据表格--与后台交互获取数据的方法
2019/09/29 Javascript
在vue中高德地图引入和轨迹的绘制的实现
2019/10/11 Javascript
JS实现图片切换特效
2019/12/23 Javascript
手把手教你实现 Promise的使用方法
2020/09/02 Javascript
如何利用JavaScript编写一个格斗小游戏
2021/01/06 Javascript
python 字符串转列表 list 出现\ufeff的解决方法
2017/06/22 Python
python实现分页效果
2017/10/25 Python
Python多线程原理与用法实例剖析
2019/01/22 Python
基于python实现FTP文件上传与下载操作(ftp&sftp协议)
2020/04/01 Python
加拿大领先的冒险和户外零售商:Atmosphere
2017/12/19 全球购物
经典c++面试题五
2014/12/17 面试题
我的中国梦演讲稿小学篇
2014/08/19 职场文书
乡镇领导班子四风整顿行动工作汇报
2014/10/25 职场文书
家长高考寄语
2015/02/27 职场文书
学校世界艾滋病日宣传活动总结
2015/05/05 职场文书
基于nginx实现上游服务器动态自动上下线无需reload的实现方法
2021/03/31 Servers
ORM模型框架操作mysql数据库的方法
2021/07/25 MySQL
Qt自定义Plot实现曲线绘制的详细过程
2021/11/02 Python
Win11 Beta 22621.601 和 22622.601今日发布 KB5017384修复内容汇总
2022/09/23 数码科技
MySQL新手入门进阶语句汇总
2022/09/23 MySQL