resize方法會改變原始數(shù)據(jù)的值嗎 如何利用python中的PIL庫做圖像處理?
如何利用python中的PIL庫做圖像處理?PIL是python一個越來越廣泛不使用的圖像處理庫,提供了大量函數(shù)和類型應(yīng)用于圖像處理,這里以黑白、流年、舊電影、反色4種圖像特效為例,簡單可以介紹看看P
如何利用python中的PIL庫做圖像處理?
PIL是python一個越來越廣泛不使用的圖像處理庫,提供了大量函數(shù)和類型應(yīng)用于圖像處理,這里以黑白、流年、舊電影、反色4種圖像特效為例,簡單可以介紹看看PIL庫是如何能接受圖像處理,感興趣的朋友是可以自己數(shù)次一下:
純黑效果這是最簡單的一種圖片特效,基本都思想先open打開一個圖片,轉(zhuǎn)化成為(R,G,B)三元組,后再將(R,G,B)三個通道數(shù)值都置為r*0.299g*0.587b*0.114再試一下,測試代碼如下,更加簡單啊:
程序運(yùn)行截圖萬分感謝,左邊為上古時代圖片,右邊為去處理后的彩,效果還確實(shí)不錯:
流年效果這也是種都很最常見的一種的圖片特效,基本是思想也非常簡單啊,先open讀取數(shù)據(jù)圖片內(nèi)容,能量轉(zhuǎn)化為RGB三通道,然后再給R通道的值開平方,除以2一個參數(shù)(常數(shù))去掉,測試代碼萬分感謝,也相當(dāng)簡單:
程序運(yùn)行截圖追加,左邊為原始圖,右邊為特效后的流年圖,差別不是什么不大:
舊電影效果這種特效也比較比較最常見的一種,都差不多思想也是先獲取RGB三通道,后再給3個通道分別乘以3個參數(shù)后求和,遠(yuǎn)遠(yuǎn)超過255的值置為255,測試代碼不勝感激:
程序運(yùn)行截圖:,左邊為各種圖片,右邊為特效后的舊電影圖,效果還確實(shí)不錯:
反色效果這種特效是最簡單的,都差不多思想先資源圖片RGB通道值,然后用255除以每個通道原始值即可,測試代碼追加,更加簡單點(diǎn):
程序運(yùn)行截圖不勝感激,左邊為遠(yuǎn)古時期圖,右邊為反色后的圖片,效果有點(diǎn)溜:
目前就多多分享這4種PIL圖片特效吧,最主要的我還是對像素點(diǎn)RGB值的處理,如果你有一定的圖像處理基礎(chǔ),會簡單的python編程,清楚再看看上面的示例,多系統(tǒng)的調(diào)試幾遍程序,很快地就能手中掌握的,肯定,PIL圖像處理的功能不僅局限于于這些,像濾波等,也的很很容易實(shí)現(xiàn)方法,網(wǎng)上也有去相關(guān)資料和教程,詳細(xì)介紹的的很祥細(xì),感興趣的東西話,可以不搜再看看,期望以內(nèi)分享的內(nèi)容能對你有不幫助吧,也多謝了大家那些評論、留言通過補(bǔ)充。
如何初始化Vector[int]?
vector是個模板,你掉是用時候,必須遵循模板的格式寫亞:
vectorltintgtarr(初始個數(shù),每個都重新賦予什么);
vectorltintgtarr(5,0)就行了,擴(kuò)張時resize即可解決。
基礎(chǔ)結(jié)合了。