四行代碼,Python搞定美圖秀秀!
我們平時使用一些圖像處理軟件時,經(jīng)常會看到其對圖像的亮度、對比度、色度或者銳度進行調(diào)整。你是不是覺得這種技術(shù)的底層實現(xiàn)很高大上?
其實最基礎(chǔ)的實現(xiàn)原理,用 Python 實現(xiàn)只需要幾行代碼,學(xué)會后你也可以進行簡單的圖像增強處理了。
圖像增強哪家強
Python 中 PIL 模塊中有一個叫做 ImageEnhance 的類,該類專門用于圖像的增強處理,不僅可以增強(或減弱)圖像的亮度、對比度、色度,還可以用于增強圖像的銳度。
要使用這個模塊,你必須先安裝 PIL庫:
pip install pillow
圖像增強處理
讀取圖像
image = Image.open('girl.jpeg')
image.show()
我們的原始圖像是一個拿著西紅柿的清純女孩:
亮度增強
enh_bri = ImageEnhance.Brightness(image)
brightness = 4
image_brightened = enh_bri.enhance(brightness)
image_brightened.show()
為了對比明顯,我們將原始圖像的亮度增強4倍,看看效果:
增強后的圖像過于曝光了,是不是有那么一點刺眼?
色度增強
enh_col = ImageEnhance.Color(image)
color = 4
image_colored = enh_col.enhance(color)
image_colored.show()
同樣地,我們將原始圖像的色度增強4倍,看看效果:
這張圖像的色彩就比較濃厚了,頓時感覺從一個青春少女變成一個風(fēng)塵女子了!
對比度增強
enh_con = ImageEnhance.Contrast(image)
contrast = 4
image_contrasted = enh_con.enhance(contrast)
image_contrasted.show()
同樣地,我們將原始圖像的對比度增強4倍,看看效果:
這張圖像就把細(xì)節(jié)處凸顯得很明顯了,有點像很早期的那種電影畫面。
銳度增強
enh_sha = ImageEnhance.Sharpness(image)
sharpness = 4
image_sharped = enh_sha.enhance(sharpness)
image_sharped.show()
同樣地,我們將原始圖像的銳度增強4倍,看看效果:
銳度增強之后,看起來還比較可以,跟原圖相比變化沒那么明顯。
總結(jié)
看完之后,是不是感覺很簡單?最基礎(chǔ)的四項圖像增強技能全部只需一行代碼就可以實現(xiàn)。我這里是對圖像進行增強,你也可以反向操作,只需要將系數(shù)調(diào)整為小于1就可以實現(xiàn)圖像減弱。
當(dāng)然,實際的應(yīng)用中,我們肯定會將這些維度綜合調(diào)優(yōu),才能達到美圖的效果。