使用PIL、imageio,将gif拆帧、压缩、合成。博主使用的是PyCharm工具。

1、安装imageio。File-->Settings-->Project:pro-->Project Interpreter-->点击 右上角的“+”搜索“imageio”安装。

2、提取gif每一帧并保存jpg格式,这里使用.convert('RGB')是因为frame.save不能保存png格式的图片,下同。

def getFrames(im):#非动画if False == im.is_animated :return;index = 1for frame in ImageSequence.Iterator(im):frame = frame.convert('RGB')frame.save("g%d.jpg" % index)compressImg('g%d.jpg'% index)index = index + 1return index

3、压缩图片。

def compressImg(ImgName):im = Image.open(ImgName)im.convert('RGB')if max(im.size[0], im.size[1]) > 128:im.thumbnail((128, 128))im.save('f-'+ImgName, quality=50)return 'OK'

4、将之前拆开的jpg文件合成gif。

def compressGif(ind,dur):images = []for i in range(1, ind):images.append(imageio.imread('f-g%d.jpg' % i))imageio.mimsave('c001.gif', images, duration = dur)

5、计算帧之间的频率,获取到的是毫秒,duration是秒,所以除以1000。

def calDuration(im):return (im.info)['duration']/1000

6、移除图片。

def removeImg(ind):for i in range(1,ind):af = 'f-g' + str(i) + '.jpg'f = 'g' + str(i) + '.jpg'if os.path.exists(af):os.remove(af)if os.path.exists(f):os.remove(f)

7、压缩之前的图片

8、压缩之后的图片

基于python压缩gif图片大小。相关推荐

  1. thinkcmf5调用指定分类的二级_Tengine快速上手系列教程amp;视频:基于Python API的图片分类应用入门丨附彩蛋...

    前言:近期,Tengine团队加班加点,好消息接踵而来,OpenCV 4.3.0发布,OPEN AI LAB AIoT智能开发平台Tengine与OpenCV合作共同加速边缘智能,Tengine再获业 ...

  2. 如何压缩动态图片大小?gif图太大了怎么压缩?

    对于新媒体行业人员来说,平时在工作中需要存非常多的素材,这些素材中有很多就是gif格式的,随着积累的素材越来越多,这些素材会占用大量的储存空间,那么遇到这种情况应该怎么办呢?应该如何压缩动态图片大小? ...

  3. 怎么压缩gif图片大小?如何压缩gif又不影响画质

    上传平台或传输gif动图时,经常遇到gif图片过大无法使用的情况.有没有一个办法既能缩小gif图片大小还能保持画质不受影响呢?推荐大家一款gif压缩工具-压缩啦,一键即可在线压缩gif图片大小. 1. ...

  4. 怎样在线压缩JPEG图片大小?

    在日常生活工作中,大家保存图片的时候,都会看到有JPG.JPEG.png等文件名格式,JPG和png格式相信大家都非常熟悉了,和JPG相似JPEG是什么格式呢,它也是一种最常用的图像文件格式,那碰到J ...

  5. python 人像素描_基于python实现把图片转换成素描

    这篇文章主要介绍了基于python实现把图片转换成素描,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 导语: 你是否还在为当时年少时没有选择自己的梦 ...

  6. python画素描画_基于python实现把图片转换成素描

    这篇文章主要介绍了基于python实现把图片转换成素描,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 导语: 你是否还在为当时年少时没有选择自己的梦 ...

  7. 如何压缩jpg图片大小?怎么在线jpg图片压缩?

    如何压缩jpg图片大小?使用压缩图的jpg图片压缩(https://www.yasuotu.com/jpg)功能,无需下载任何软件完成jpg压缩大小,方便又快捷,一起来看看具体步骤吧. 1.使用浏览器 ...

  8. 如何压缩png图片大小?

    png这种图片格式大家应该都熟悉吧?,跟jpg格式有着同样高的使用率.只不过png图片偏于专业化,而jpg更具平常性.举个不恰当的例子Jpg格式就好比相当于口语,而png格式相当于比较正式的书面用语的 ...

  9. python 批量修改图片大小

    python 批量修改图片大小 一个文件夹下面有好多图片格式是jpg大小是19201080,把它们处理成1280720并按原先图片的名保存在另一路径下 这里首先要找到给定路径下所有的图片文件,然后在修 ...

最新文章

  1. ux和ui_使用UX设计师为Amazon的Alexa学习会话式UI的基础
  2. python画图遇到复数值数据时应该用numpy.abs()函数还是numpy.real()函数
  3. dijkstra邻接表_[力扣743] 带权邻接表的单源最短路
  4. 读写分离无效的大坑(新使用数据库读写分离的同学可以参考)
  5. mybatis的javaType和ofType
  6. cadence SPB17.4 - 保存和恢复颜色配置
  7. c语言中计算熵的函数,如何用c++编程实现各种信源熵的计算
  8. CUDA优化之PReLU性能调优
  9. 115网盘如何打开php文件格式,opensuse安装115网盘客户端
  10. Androidx介绍及迁移
  11. 天使投资人杨宁:百度轻应用让移动时代很多不可能成为可能
  12. LeetCode | 521. Longest Uncommon Subsequence I
  13. Win10无法调节亮度解决方法
  14. oracle创建表空间及查看表空间和使用情况
  15. 使用pandas库读取数据
  16. 守护进程(Daemon)
  17. 个人资料转移设置工具 1.17┊个人资料转移/系统清理等等┊简体中文绿色免费版...
  18. 江苏大学计算机专业江苏排名,江苏大学专业排名情况
  19. 详解交换两个数的五种思路
  20. 系统启动和内核管理 加密和安全

热门文章

  1. [牛客练习] 深信服校园招聘c/c 软件开发H卷 Apare_xzc
  2. update 增加datetime 时间
  3. 华为防火墙USG5500的配置方法
  4. java-01背包(动态规划)
  5. 如何在电脑中安装虚拟机?
  6. excel在一个单元格输入内容,在其他单元格同步显示
  7. 生成真正的随机数(非伪随机数)
  8. 随机数 == 伪随机数?
  9. 如何用营销思维做好产品运营规划?
  10. 计算机excel界面,2017《职称计算机》知识点:Excel用户界面