W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
python圖像庫提供了許多方法和模塊,可以用來增強(qiáng)圖像。
這個(gè) ?ImageFilter
?模塊包含許多預(yù)定義的增強(qiáng)過濾器,可用于? filter()
?方法。
from PIL import ImageFilter
out = im.filter(ImageFilter.DETAIL)
這個(gè) ?point()
? 方法可用于轉(zhuǎn)換圖像的像素值(例如圖像對(duì)比度操作)。在大多數(shù)情況下,需要一個(gè)參數(shù)的函數(shù)對(duì)象可以傳遞給這個(gè)方法。每個(gè)像素都根據(jù)該功能進(jìn)行處理:
# multiply each pixel by 1.2
out = im.point(lambda i: i * 1.2)
使用上述技術(shù),您可以快速地將任何簡(jiǎn)單表達(dá)式應(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只計(jì)算邏輯表達(dá)式中確定結(jié)果所必需的部分,并返回作為表達(dá)式結(jié)果檢查的最后一個(gè)值。因此,如果上面的表達(dá)式為false(0),python不會(huì)查看第二個(gè)操作數(shù),因此返回0。否則,返回255。
對(duì)于更高級(jí)的圖像增強(qiáng),可以使用 ?ImageEnhance
?模塊。從圖像創(chuàng)建后,可以使用增強(qiáng)對(duì)象快速嘗試不同的設(shè)置。
您可以通過這種方式調(diào)整對(duì)比度、亮度、顏色平衡和清晰度。
from PIL import ImageEnhance
enh = ImageEnhance.Contrast(im)
enh.enhance(1.3).show("30% more contrast")
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: