python导入gif_Python之GIF图倒放,沙雕快乐源泉!我已经笑了一天了!
GIF圖現在已經融入了我們的日常網絡生活,微信群、QQ群、朋友圈......一言不合就斗圖,你怕了嗎?
不用擔心,只要學會了Python之GIF倒放技能,你就是“斗圖王”。
咱們直接開始本文的內容!
使用的工具
1
PIL(Python Image Library)——它是python的第三方圖像處理庫,功能非常的強大,幾乎被認定為Python的官方圖像處理庫。
功能如下:
1、圖像歸檔(Image Archives)。
PIL非常適合于圖像歸檔以及圖像的批處理任務。你可以使用PIL創建縮略圖,轉換圖像格式,打印圖像等等。
2、圖像展示(Image Display)。
PIL較新的版本支持包括Tk PhotoImage,BitmapImage還有Windows DIB等接口。PIL支持眾多的GUI框架接口,可以用于圖像展示。
3、圖像處理(Image Processing)。
PIL包括了基礎的圖像處理函數,包括對點的處理,使用眾多的卷積核(convolution kernels)做過濾(filter),還有顏色空間的轉換。PIL庫同樣支持圖像的大小轉換,圖像旋轉,以及任意的仿射變換。PIL還有一些直方圖的方法,允許你展示圖像的一些統計特性。這個可以用來實現圖像的自動對比度增強,還有全局的統計分析等。
操作步驟
2
Step1:導入PIL庫的模塊
Image是PIL庫的基本核心類,用來實現導入GIF
from PIL import Image, ImageSequence #導入PIL庫的Image和 ImageSequence 模塊
im = Image.open('1.gif') #導入需要倒放的gif
Step2:GIF圖片分解成幀
ImageSequence模塊包括了一個wrapper類,它能夠讓用戶迭代訪問圖形序列中每一幀圖像。利用ImageSequence中的Iterator函數創建一個迭代器實例,讓用戶循環訪問序列中的全部圖像。
sequence = [] #用來存放GIF分解成幀的序列
i=0
for f in ImageSequence.Iterator(im): #循環訪問GIF中的逐幀
sequence.append(f.copy())
i+=1
f.save('out_'+str(i)+'.png') #將每次分離出來的幀保存
可以看到文件夾中已經有分解的靜態圖片了,每張圖都是gif動圖的某一幀,把所有的靜態圖按倒序連起來就是倒放的gif動圖。
Step3:將得到的序列通過reverse()函數倒序
sequence.reverse() #將幀序列倒敘
Step4:將得到的幀序列重新還原成GIF:
sequence[0].save('out1.gif',save_all=True,append_images=sequence[1:]) #生成新的GIF
Step5:得到倒放GiF圖片
倒放效果:
正放效果:
大家可以自己親手去試試看,其實在學習python的過程中也是歡樂無窮呢!
下面為大家帶來一些實例:
浣熊被投喂VS 人類被投喂
3
修復破碎乒乓球
4
感受化學反應之美
5
Python學習雖然枯燥,但是卻極為實用,GIF動圖倒放你學會了嗎?快來,我們一起開啟“斗圖王”的巔峰人生。
總結
以上是生活随笔為你收集整理的python导入gif_Python之GIF图倒放,沙雕快乐源泉!我已经笑了一天了!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python基础(七)--模块和包
- 下一篇: sonarqube使用mysql_Son