Python:PNG图像生成MP4
Python:PNG图像生成MP4
需求
需要将多张*.PNG图像,生成mp4格式的视频文件。
实现
利用Python中image库生成*.gif格式图像,但是图片未经压缩,文件体量较大。
moviepy库将*.gif格式图像转换为*.mp4格式视频文件,文件可以压缩90%。
easygui库制作一个简单的GUI界面。
清华大学Python镜像源:https://pypi.tuna.tsinghua.edu.cn/simple/
代码
import imageio as ig
import os
import moviepy.editor as mp
import easygui as g
def create_gif(source, name, duration):
# 生成gif的函数,原始图片仅支持png
# source: 为png图片列表(排好序)
# name :生成的文件名称
# duration: 每张图片之间的时间间隔
frames = [] # 读入缓冲区
length = len(source)
order = 0
for img in source:
frames.append(ig.imread(img))
if order % 10 == 0:
print("读取图片中。。。%s/%s" % (order, length))
order += 1
ig.mimsave(name, frames, 'GIF', duration=duration)
print('已完成')
if __name__ == '__main__':
path_pic=g.diropenbox(msg='选择图片文件夹')
os.chdir(path_pic)
source_list = os.listdir(path='.')
piclist=g.multchoicebox(msg='选择图片', title=' ', choices=source_list)
name=g.enterbox(msg='输出MP4文件名',default='movie')
create_gif(piclist, name, 0.05)
#*.gif 转 *.mp4
clip = mp.VideoFileClip(name)
clip.write_videofile(name + '.mp4')
#删除*.gif
os.remove(name)
g.msgbox(msg='输出文件成功!!!', title=' ', ok_button='结束', image=None, root=None)
Python:PNG图像生成MP4的更多相关文章
- < python PIL - 批量图像处理 - RGB图像生成灰度图像 >
< python PIL - 批量图像处理 - RGB图像生成灰度图像 > 直接用python自带的PIL图像库,将一个文件夹下所有jpg/png的RGB图像转换成灰度/黑白图像 from ...
- Java爬取B站弹幕 —— Python云图Wordcloud生成弹幕词云
一 . Java爬取B站弹幕 弹幕的存储位置 如何通过B站视频AV号找到弹幕对应的xml文件号 首先爬取视频网页,将对应视频网页源码获得 就可以找到该视频的av号aid=8678034 还有弹幕序号, ...
- Python: scikit-image 图像的基本操作
这个用例说明Python 的图像基本运算 import numpy as np from skimage import data import matplotlib.pyplot as plt cam ...
- php基础之gd图像生成、缩放、logo水印和简单验证码实现
gd库是php最常用的图片处理库之一(另外一个是imagemagick),可以生成图片.验证码.水印.缩略图等等.要使用gd库首先需要开启gd库扩展,windows系统下需要在php.ini中将ext ...
- Why数学图像生成工具
该软件能够以给定的数学公式及算法生成各种绚烂的数学图像.软件中有两种生成图像的方法: (1)通过一种我自定义的脚本语言生成: 软件中定义一套简单易学的脚本语言,用于描述数学表达式.使用时需要先要将数学 ...
- 支持单色条码图像生成的条形码控件Barcode Professional
Barcode Professional for .NET Windows Forms条形码控件是一款灵活和强大的.NET组件(.NET DLL 类库),它让您轻松地添加条码生成和打印功能到您的.NE ...
- python实现树莓派生成并识别二维码
python实现树莓派生成并识别二维码 参考来源:http://blog.csdn.net/Burgess_Liu/article/details/40397803 设备及环境 树莓派2代 官方系统R ...
- (原)caffe中通过图像生成lmdb格式的数据
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5909121.html 参考网址: http://www.cnblogs.com/wangxiaocvp ...
- 文档生成工具doxygen+图像生成工具GraphViz
文档生成工具doxygen+图像生成工具GraphViz 虽然jdk自带的javadoc也很好用,不过使用doxygen+GraphViz 的组合可以生成许多强大的图(类图.协作图.文件包含/被包含图 ...
随机推荐
- 测试工具Wiremock介绍
WireMock是一个开源的测试工具,支持HTTP响应存根.请求验证.代理/拦截.记录和回放.最直接的用法: 为Web/移动应用构建Mock Service 快速创建Web API原型 模拟Web S ...
- spring初始化源码浅析之关键类和扩展接口
目录 1.关键接口和类 1.1.关键类之 DefaultListableBeanFactory 1.2.关键类之XmlBeanDefinitionReader 1.3.关键类之ClassPathXml ...
- mzy git学习,分支以及分支合并(四)
git 鼓励大量使用分支:最后进行master和分支之间的合并 git branch git branch 查看当前有多少分支,并且将当前在使用的分支用*标注出来. [一定要注意git的分支有从属概念 ...
- JavaWeb之JavaMail
时间:2016-12-19 11:58 --邮件协议1.收发邮件 发邮件是从客户端把邮件发送到服务器,收邮件是把邮件服务器的邮件下载到客户端 2.邮件协议概述 与HTTP协议相同, ...
- MySQL-SQL基础-DCL
mysql> grant select,insert on sakila.* to 'zl'@'localhost' identified by '123'; Query OK, 0 rows ...
- 灵魂画手:漫画图解 SSH
OpenSSL 本身是一个软件库,这个软件被广泛的应用在系统服务器当中,他的主要功能是在网络通信的过程中,保证数据的一致性以及数据传输过程中的安全性.软件本身是由C语言编写,这使得他具备了跨平台的特性 ...
- Django实现基本的页面分页
1.视图views.py from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage def index(requ ...
- GoLang设计模式05 - 原型模式
原型模式也是一种创建型模式,它可以帮助我们优雅地创建对象的拷贝.在这种设计模式里面,将克隆某个对象的职责交给了要被克隆的这个对象.被克隆的对象需要提供一个clone()方法.通过这个方法可以返回该对象 ...
- Throwable中3个异常的方法
- 第23篇-虚拟机对象操作指令之getstatic
Java虚拟机规范中定义的对象操作相关的字节码指令如下表所示. 0xb2 getstatic 获取指定类的静态域,并将其值压入栈顶 0xb3 putstatic 为指定的类的静态域赋值 0xb4 ge ...