如何利用python中的PIL庫(kù)做圖像處理?
PIL是python一個(gè)廣泛使用的圖像處理庫(kù),提供了大量函數(shù)和類(lèi)型用于圖像處理,這里以黑白、流年、舊電影、反色4種圖像特效為例,簡(jiǎn)單介紹一下PIL庫(kù)是如何進(jìn)行圖像處理,感興趣的朋友可以自己嘗試一下:
黑白效果這是最簡(jiǎn)單的一種圖片特效,基本思想先open打開(kāi)一個(gè)圖片,轉(zhuǎn)化為(R,G,B)三元組,然后將(R,G,B)三個(gè)通道數(shù)值都置為r*0.299+g*0.587+b*0.114即可,測(cè)試代碼如下,非常簡(jiǎn)單:
程序運(yùn)行截圖如下,左邊為原始圖片,右邊為處理后的黑白圖,效果還不錯(cuò):
流年效果這也是一種比較常見(jiàn)的圖片特效方式,基本思想也非常簡(jiǎn)單,先open讀取圖片內(nèi)容,轉(zhuǎn)化為RGB三通道,然后再給R通道的值開(kāi)平方,乘以一個(gè)參數(shù)(常數(shù))即可,測(cè)試代碼如下,也非常簡(jiǎn)單:
程序運(yùn)行截圖如下,左邊為原始圖,右邊為特效后的流年圖,差別不是很大:
舊電影效果這種特效方式也比較常見(jiàn),基本思想也是先獲取RGB三通道,然后給3個(gè)通道分別乘以3個(gè)參數(shù)后求和,超過(guò)255的值置為255,測(cè)試代碼如下:
程序運(yùn)行截圖如下,左邊為原始圖片,右邊為特效后的舊電影圖,效果還不錯(cuò):
反色效果這種特效方式是最簡(jiǎn)單的,基本思想先獲取圖片RGB通道值,然后用255減去每個(gè)通道原始值即可,測(cè)試代碼如下,非常簡(jiǎn)單:
程序運(yùn)行截圖如下,左邊為原始圖,右邊為反色后的圖片,效果有些溜:
目前就分享這4種PIL圖片特效方式吧,最主要的還是對(duì)像素點(diǎn)RGB值的處理,只要你有一定的圖像處理基礎(chǔ),會(huì)簡(jiǎn)單的python編程,熟悉一下上面的示例,多調(diào)試幾遍程序,很快就能掌握的,當(dāng)然,PIL圖像處理的功能不僅僅局限于這些,像濾波等,也非常容易實(shí)現(xiàn),網(wǎng)上也有相關(guān)資料和教程,介紹的非常詳細(xì),感興趣的話,可以搜一下,希望以上分享的內(nèi)容能對(duì)你有所幫助吧,也歡迎大家評(píng)論、留言進(jìn)行補(bǔ)充。