四行代碼,Python搞定美圖秀秀!
我們平時使用一些圖像處理軟件時,經常會看到其對圖像的亮度、對比度、色度或者銳度進行調整。你是不是覺得這種技術的底層實現很高大上?
其實最基礎的實現原理,用 Python 實現只需要幾行代碼,學會后你也可以進行簡單的圖像增強處理了。
圖像增強哪家強
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倍,看看效果:
這張圖像的色彩就比較濃厚了,頓時感覺從一個青春少女變成一個風塵女子了!
對比度增強
enh_con = ImageEnhance.Contrast(image)
contrast = 4
image_contrasted = enh_con.enhance(contrast)
image_contrasted.show()
同樣地,我們將原始圖像的對比度增強4倍,看看效果:
這張圖像就把細節處凸顯得很明顯了,有點像很早期的那種電影畫面。
銳度增強
enh_sha = ImageEnhance.Sharpness(image)
sharpness = 4
image_sharped = enh_sha.enhance(sharpness)
image_sharped.show()
同樣地,我們將原始圖像的銳度增強4倍,看看效果:
銳度增強之后,看起來還比較可以,跟原圖相比變化沒那么明顯。
總結
看完之后,是不是感覺很簡單?最基礎的四項圖像增強技能全部只需一行代碼就可以實現。我這里是對圖像進行增強,你也可以反向操作,只需要將系數調整為小于1就可以實現圖像減弱。
當然,實際的應用中,我們肯定會將這些維度綜合調優,才能達到美圖的效果。