python 将GIF拆分成图片方法
- import os
- from PIL import Image, ImageSequence
- def parseGIF(gifname):
- # 将gif解析为图片
- # 读取GIF
- im = Image.open(gifname)
- # GIF图片流的迭代器
- iter = ImageSequence.Iterator(im)
- # 获取文件名
- file_name = gifname.split(".")[0]
- index = 1
- # 判断目录是否存在
- pic_dirct = "imgs/{0}".format(file_name)
- mkdirlambda = lambda x: os.makedirs(
- x) if not os.path.exists(x) else True # 目录是否存在,不存在则创建
- mkdirlambda(pic_dirct)
- # 遍历图片流的每一帧
- for frame in iter:
- print("image %d: mode %s, size %s" % (index, frame.mode, frame.size))
- frame.save("imgs/%s/frame%d.png" % (file_name, index))
- index += 1
- # frame0 = frames[0]
- # frame0.show()
- # 把GIF拆分为图片流
- imgs = [frame.copy() for frame in ImageSequence.Iterator(im)]
- # 把图片流重新成成GIF动图
- imgs[0].save('out.gif', save_all=True, append_images=imgs[1:])
- # 图片流反序
- imgs.reverse()
- # 将反序后的所有帧图像保存下来
- imgs[0].save('./reverse_out.gif', save_all=True, append_images=imgs[1:])
- if __name__ == "__main__":
- parseGIF("03.gif")
- 附件地址: https://files.cnblogs.com/files/fly-kaka/GIF%E5%8F%8D%E5%90%91%E8%A7%A3%E6%9E%90%E4%B8%BA%E5%9B%BE%E7%89%87.zip
python 将GIF拆分成图片方法的更多相关文章
- 【PyMuPDF和pdf2image】Python将PDF转成图片
前言: 在最近的测试中遇到一个与PDF相关的测试需求,其中有一个过程是将PDF转换成图片,然后对图片进行测试. 粗略的试了好几种方式,其中语言尝试了Python和Java,总体而言所找到的Python ...
- IOS-将长文字转化成图片方法
我们在看微博时,会看到一些长图片上的显示文章,现在就介绍下如何实现.分析下还是很简单的,总结如下:1.计算文字区域的高 2.利用UIGraphics图形上下文方法来实现 3.验证方法:UIImageW ...
- Python - 将iterable拆分成等长的数据块
说明 看文档发现一个有趣的应用(利用zip函数) 例如[1, 2, 3, 4] --> [(1, 2), (3, 4)],拆分成长度为2的数据块 Code >>> a = [1 ...
- byte[] 转成图片方法
/// <summary> /// ImageData 的摘要说明 /// </summary> public class ImageData : IHttpHandler { ...
- opencv 将视频分解成图片和使用本地图片合成视频
代码如下: // cvTest.cpp : Defines the entry point for the console application. #include "stdafx.h&q ...
- python2/3中 将base64数据写成图片,并将图片数据转为16进制数据的方法、bytes/string的区别
1.python2将base64数据写成图片,并将数据转为16进制字符串的方法 import binascii img = u'R0lGODlhagAeAIcAAAAAAAAARAAAiAAAzABE ...
- 用JavaScript将Canvas内容转化成图片的方法
上周我们花了半天时间开发下一个准备放进Mozilla Marketplace的应用.有一个应用现在非常的火热,那就是Instagram,Facebook花了100万美元收购了它.我们也想有100万美元 ...
- [Python] 将视频转成ASCII符号形式、生成GIF图片
一.简要说明 简述:本文主要展示将视频转成ASCII符号形式展示出来,带音频. 运行环境:Win10/Python3.5. 主要模块: PIL.numpy.shutil. [PIL]: 图像处理 [n ...
- python实现读取并显示图片的两种方法
https://www.cnblogs.com/lantingg/p/9259840.html 在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片. ...
随机推荐
- LeetCode_121. Best Time to Buy and Sell Stock
121. Best Time to Buy and Sell Stock Easy Say you have an array for which the ith element is the pri ...
- shuffle 打乱一维数组
<?php $arr = range(,); print_r($arr); echo '<br />'; shuffle($arr); print_r($arr); ?> Ar ...
- 获取src 内容
获取(代码): ].src; // 测试无效 修改(代码): 1 $("#img").attr('src',path);
- using 关键字有两个主要用途
转自:https://www.jianshu.com/p/5357dc4efcf8 using 关键字有两个主要用途: (一).作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型. (二) ...
- react 组装table列表带分页
2.组装编辑界面 /** * Created by hldev on 17-6-14. */ import React, {Component} from "react"; imp ...
- Python编译出现错误SyntaxError: Non-ASCII character '\xe7' 时解决方法
转载个解决办法:https://blog.csdn.net/wangchao701123/article/details/57084244 转自https://blog.csdn.net/jim742 ...
- 域账号修改后,导致vs中的git连接失败
域账号修改后,导致vs中的git连接失败, fatal: Authentication failed for https://blog.csdn.net/qq_34665539/article/det ...
- python之bytes和string相互转换
来源:https://www.cnblogs.com/skiler/p/6687337.html 1.bytes主要是给计算机看的,string主要是给人看的 2.中间有个桥梁就是编码规则,现在大趋势 ...
- 网络编程(socket).WinSocket_recvfrom出错,GetLastError()为10054
1.在写 我的Qt598(vs2017)x64版本的 shadowsocks程序时遇到的. 具体问题情况 大概是这样:QUdpSocket(假设是sktA) connect接收函数,sktA侦听 端口 ...
- 最新 阿里java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.阿里等10家互联网公司的校招Offer,因为某些自身原因最终选择了阿里.6.7月主要是做系统复习.项目复盘.LeetCode ...