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