【python脚本系列】gif录制png序列帧
【python脚本系列】gif录制png序列帧
大家好,我是Lampard猿奋~~
欢迎来到python脚本系列的博客,今天和大家分享一下使用python将gif录制为png的序列帧
(一)环境搭建
(1)python环境搭建
python我这里是使用python2.7的环境,大家在官网【python官网】下载2.7最新的版本,下载完之后双击安装即可
然后把安装的目录加到环境变量中,win+r执行cmd命令后,输入python能够输出以下信息证明安装完毕
如果本身安装了python3,并且已经添加到环境变量的话,为了不引起冲突我们也可以选择不把python2的路径加到环境变量中,那怎么打开呢?我们需要进入到python2的安装目录,然后在这个位置执行cmd指令,输入python也能得到同样的效果
(2)pliiow库的安装
pliiow库支持大量的图片格式,是图像处理和批处理的最佳选择,可以用这个来创建缩略图、文件格式之间的转换、打印图片、大小转换、颜色转换、还有对图片加滤镜「模糊、磨皮」等操作
pillow的安装比较简单,我们可以的python的标准库管理器pip去进行下载
可能有小伙伴这个时候会报错,说pip不是外部指令什么的,然后就打算去配置一个pip。其实并不需要,python2.7自带了pip,它的路径在python安装路径\Scripts下。我们只需要把这个路径也加到环境变量就可以了
(3)gif图片准备
这里给大家提供一个(点赞,关注,你懂我意思吧)
(二)脚本实现
(1)目录结构
我这边新建了一个文件夹,然后把gif和脚本放在了一起,有一个子目录gifFrame是用来存取保存下来的序列帧(当然这个都是可以在脚本随便改的,但是如果直接拿我的脚本用的话就得根据这样的目录结构了)
(2)代码实现
首先是记录gif和gif帧的路径,我们可以通过os.path.realpath(__file__)来获得脚本的完整路径,我们并不需要脚本的名字,所以还需要通过os.path.split来把路径和脚本名分割开来
可以看到当分割之后就会返回一个列表,列表的第一项就是我们想要的gif路径了,然后帧的路径就可以GifPath + '\\gifFrame'获得(window平台下)
接下来的逻辑比较简单,主要是利用了pillow的Image模块,其中使用到了4个方法:
- Image.open:打开并标识给定的图像文件
- Image.save:在给定文件名下保存此图像。如果未指定格式,则可以从文件扩展名确定要使用的格式
- Image.tell:返回当前帧号,从0开始
- Image.seek:查找此序列文件中的给定帧。如果在序列结尾之外查找,该方法将引发
EOFError
例外。打开序列文件时,库自动查找第0帧
上述是函数的功能,如果想了解更多的话就应该去看文档啦~~【pillow库文档传送门】
我们看到seek当找不到序列帧的时候(已经遍历完了),则会报错,所以我们需要用一个try块接住它,最后我们呢看看效果
脚本下载链接:【1积分买不了吃亏,买不了上当】
以上是学习路上的一点思绪,欢迎大家评论指点~
点赞,关注!!!
【python脚本系列】gif录制png序列帧相关推荐
- 【python脚本系列】利用mido库解析midi文件
[python脚本系列]利用mido库解析midi文件 Hallo大家好~~我是Lampard猿奋 昨天写了关于Midi数字化乐器接口的文章,介绍了midi是一组代表音乐参数( ...
- 【python脚本系列】MIDI文件128种音色码表
[python脚本系列]MIDI文件128种音色码表 Hallo大家好~~我是Lampard猿奋 此篇文章用于记录MIDI文件对应的音色码表 (1)钢琴 (2)色彩打击乐器 ( ...
- 【python脚本系列】python脚本2——PDF转word文档
只需2行代码,轻松将PDF转换成Word 机器学习算法那些事 2023-05-05 18:58 发表于广东 编辑:数据分析与统计学之美 可将 PDF 转换成 docx 文件的 Python 库.该项目 ...
- 【python基础系列】实现图片分割
[python脚本系列]实现图片分割 大家好,我是Lampard猿奋~~ 欢迎来到python脚本系列的博客 大家可能会遇到秀恩爱发朋友圈,没有9图强行凑 ...
- 录制电脑端纯鼠标点击操作,生成python脚本
录制电脑端纯鼠标点击操作,生成python脚本,滑动滚轮结束录制 以下代码功能:录制电脑端纯鼠标点击操作,生成python脚本,可记录鼠标左键,右键,单击,双击,1秒内的多次连击,根据自己情况修改路径 ...
- imagej之Python脚本
原生ImageJ仅支持JS脚本,而ImageJ的衍生版本Fiji支持Python脚本编程,所以这里的ImageJ实际是Fiji. 本文是对这个Tutorial的翻译. Fiji官方的Jython指南在 ...
- 用python批量下载modis数据的速度怎么样_MODIS数据的简介和下载(五)——应用密钥的Python脚本下载...
接上文,由于NASA官方弃用了FTP改用HTTPS服务,所以关于MODIS数据的下载方式有所改变.完整系列博客可以参照以下链接.本篇主要接着上一篇没有讲完的应用密钥的脚本下载介绍. 1 官方教程与说明 ...
- python数据挖掘系列教程——PySpider框架应用全解
全栈工程师开发手册 (作者:栾鹏) python教程全解 python数据挖掘系列教程--PySpider框架应用全解. PySpider介绍 pyspider上手更简单,操作更加简便,因为它增加了 ...
- Python实用案例,Python脚本,Python实现批量下载百度图片
往期回顾 Python实现自动监测Github项目并打开网页 Python实现文件自动归类 Python实现帮你选择双色球号码 Python实现每日更换"必应图片"为"桌 ...
最新文章
- PyTorch常用代码段合集
- nodejs html转excel,Node.js excel sheetjs/js-xlsx
- boost之对象池使用实例
- WebKit Loader模块介绍
- 服务器安装三节点RabbitMQ集群(3)
- MySQL Flow Control Statements(流程控制)
- OPNET网络仿真分析-1.3、基础概念
- matlab 矩阵维度一致,错误使用 / 矩阵维度必须一致。
- dw添加下拉菜单_怎样用dreamweaver制作网站下拉菜单
- MacOS下AndroidStudio无法启动
- opencv Mat指针读取、修改像素值
- 正则匹配0-999区间数字
- Oracle学习——dmp文件(表)导入与导出
- FidMTF: An MTF Estimator (FidMTF:一种MTF估计方法)
- 关于144hz屏幕观看网页视频时存在黑屏屏闪
- 你不知道的 React 最佳实践
- ArcGIS栅格按照象元大小生成矢量的方法
- redis数据类型及操作
- 迁移学习---举一反三
- BAPI_BILLINGDOC_CREATEMULTIPLEdoesntcreateheadertexts_SAP刘梦_新浪博客