【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积分买不了吃亏,买不了上当】

以上是学习路上的一点思绪,欢迎大家评论指点~


点赞,关注!!!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lampard杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值