W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
python圖像庫提供了許多方法和模塊,可以用來增強圖像。
這個 ?ImageFilter
?模塊包含許多預(yù)定義的增強過濾器,可用于? filter()
?方法。
from PIL import ImageFilter
out = im.filter(ImageFilter.DETAIL)
這個 ?point()
? 方法可用于轉(zhuǎn)換圖像的像素值(例如圖像對比度操作)。在大多數(shù)情況下,需要一個參數(shù)的函數(shù)對象可以傳遞給這個方法。每個像素都根據(jù)該功能進行處理:
# multiply each pixel by 1.2
out = im.point(lambda i: i * 1.2)
使用上述技術(shù),您可以快速地將任何簡單表達式應(yīng)用于圖像。您也可以將 ?point()
? 和 ?paste()
? 有選擇地修改圖像的方法:
# split the image into individual bands
source = im.split()
R, G, B = 0, 1, 2
# select regions where red is less than 100
mask = source[R].point(lambda i: i < 100 and 255)
# process the green band
out = source[G].point(lambda i: i * 0.7)
# paste the processed band back, but only where red was < 100
source[G].paste(out, None, mask)
# build a new multiband image
im = Image.merge(im.mode, source)
注意用于創(chuàng)建掩碼的語法:
imout = im.point(lambda i: expression and 255)
python只計算邏輯表達式中確定結(jié)果所必需的部分,并返回作為表達式結(jié)果檢查的最后一個值。因此,如果上面的表達式為false(0),python不會查看第二個操作數(shù),因此返回0。否則,返回255。
對于更高級的圖像增強,可以使用 ?ImageEnhance
?模塊。從圖像創(chuàng)建后,可以使用增強對象快速嘗試不同的設(shè)置。
您可以通過這種方式調(diào)整對比度、亮度、顏色平衡和清晰度。
from PIL import ImageEnhance
enh = ImageEnhance.Contrast(im)
enh.enhance(1.3).show("30% more contrast")
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: