Pillow ImageFilter模塊

2021-07-14 10:59 更新
ImageFilter模塊包含一組預(yù)定義過(guò)濾器的定義,可與該Image.filter()方法一起使用。

示例:過(guò)濾圖像

from PIL import ImageFilter

im1 = im.filter(ImageFilter.BLUR)

im2 = im.filter(ImageFilter.MinFilter(3))
im3 = im.filter(ImageFilter.MinFilter)  # same as MinFilter(3)

過(guò)濾器

庫(kù)的當(dāng)前版本提供了以下一組預(yù)定義的圖像增強(qiáng)過(guò)濾器:

  • BLUR
  • CONTOUR
  • DETAIL
  • EDGE_ENHANCE
  • EDGE_ENHANCE_MORE
  • EMBOSS
  • FIND_EDGES
  • SHARPEN
  • SMOOTH
  • SMOOTH_MORE?classPIL.ImageFilter.Color3DLUT(sizetablechannels=3target_mode=None**kwargs)

三維顏色查找表。

使用通道的值作為三維查找表中的坐標(biāo)轉(zhuǎn)換3通道像素,并插入最近的元素。

此方法允許您使用預(yù)先計(jì)算的抽取表在恒定時(shí)間內(nèi)應(yīng)用幾乎任何顏色轉(zhuǎn)換。

5.2.0 新版功能。

參數(shù)
  • size -- 表的大小。一個(gè)int或(int,int,int)的元組。任何維度的最小尺寸為2,最大尺寸為65。

  • table -- 平面查找表。一覽表 channels * size**3 浮動(dòng)元素或 size**3 通道大小的浮點(diǎn)數(shù)元組。首先改變通道,然后是第一個(gè)維度,然后是第二個(gè)維度,然后是第三個(gè)維度。值0.0對(duì)應(yīng)輸出的最小值,1.0最高。

  • channels -- 表中的通道數(shù)??赡苁?或4。默認(rèn)值為3。

  • target_mode -- 結(jié)果圖像的模式。應(yīng)該有不少于 channels 渠道。默認(rèn)是 None 也就是說(shuō)模式不會(huì)改變。

?classmethodgenerate(sizecallbackchannels=3target_mode=None)?

使用提供的回調(diào)生成新的LUT。

參數(shù)
  • size -- 桌子的大小。傳遞給構(gòu)造函數(shù)。

  • callback -- 三個(gè)參數(shù)對(duì)應(yīng)三個(gè)顏色通道的功能。將被調(diào)用 size**3 值在0.0到1.0之間的時(shí)間,應(yīng)返回一個(gè)具有 channels 元素的元組。

  • channels -- 應(yīng)返回回調(diào)的通道數(shù)。

  • target_mode -- 傳遞給結(jié)果查找表的構(gòu)造函數(shù)。

?transform(callbackwith_normals=Falsechannels=Nonetarget_mode=None)?

使用提供的回調(diào)轉(zhuǎn)換表值,并返回具有更改值的新LUT。

參數(shù)
  • callback -- 獲取舊查閱表格值并返回一組新值的函數(shù)。函數(shù)應(yīng)采用的參數(shù)個(gè)數(shù)為 self.channels 或 3 + self.channels 如果 with_normals 已設(shè)置標(biāo)志。應(yīng)返回的元組 self.channels 或 channels 元素(如果已設(shè)置)。

  • with_normals -- 如果值為?True?, callback 將以顏色多維數(shù)據(jù)集中的坐標(biāo)作為前三個(gè)參數(shù)調(diào)用。否則, callback 將僅使用實(shí)際顏色值調(diào)用。

  • channels -- 結(jié)果查找表中的通道數(shù)。

  • target_mode -- 傳遞給結(jié)果查找表的構(gòu)造函數(shù)。

?classPIL.ImageFilter.BoxBlur(radius)?

通過(guò)將每個(gè)像素設(shè)置為每個(gè)方向延伸半徑像素的方形框中像素的平均值來(lái)模糊圖像。支持任意大小的浮動(dòng)半徑。使用一個(gè)優(yōu)化的實(shí)現(xiàn),該實(shí)現(xiàn)相對(duì)于任何半徑值的圖像大小以線性時(shí)間運(yùn)行。

參數(shù)

radius -- 一個(gè)方向上的框的大小。半徑0不模糊,返回相同的圖像。半徑1在每個(gè)方向上取1個(gè)像素,即總共9個(gè)像素。

?classPIL.ImageFilter.GaussianBlur(radius=2)?

高斯模糊濾波器。

參數(shù)

radius -- 模糊半徑。

?classPIL.ImageFilter.UnsharpMask(radius=2percent=150threshold=3)?

取消銳化屏蔽濾波器。

參數(shù)

  • radius -- 模糊半徑

  • percent -- 不清晰度強(qiáng)度,百分比

  • threshold -- 閾值控制將銳化的最小亮度變化

?classPIL.ImageFilter.Kernel(sizekernelscale=Noneoffset=0)?

創(chuàng)建卷積內(nèi)核。當(dāng)前版本只支持3x3和5x5整數(shù)和浮點(diǎn)內(nèi)核。

在當(dāng)前版本中,內(nèi)核只能應(yīng)用于“l(fā)”和“rgb”圖像。

參數(shù)
  • size -- 內(nèi)核大小,表示為(寬度、高度)。在當(dāng)前版本中,必須是(3,3)或(5,5)。

  • kernel -- 包含核權(quán)的序列。

  • scale -- 比例因子如果給定,則每個(gè)像素的結(jié)果除以該值。默認(rèn)值是內(nèi)核權(quán)重的總和。

  • offset -- 抵消。如果給定,該值將在除以比例因子后添加到結(jié)果中。

?classPIL.ImageFilter.RankFilter(sizerank)?

創(chuàng)建等級(jí)篩選器。等級(jí)過(guò)濾器對(duì)給定大小的窗口中的所有像素排序,并返回 第?rank ?個(gè)值。

參數(shù)
  • size -- 內(nèi)核大小,以像素為單位。

  • rank -- 要選取的像素值。使用0作為最小過(guò)濾器, size * size / 2 對(duì)于中值濾波器, size * size - 1 對(duì)于最大濾波器等。

?classPIL.ImageFilter.MedianFilter(size=3)?

創(chuàng)建中值過(guò)濾器。選取具有給定大小的窗口中的中值像素值。

參數(shù)

size -- 內(nèi)核大小,以像素為單位。

?classPIL.ImageFilter.MinFilter(size=3)?

創(chuàng)建最小篩選器。選取具有給定大小的窗口中的最低像素值。

參數(shù)

size -- 內(nèi)核大小,以像素為單位。

?classPIL.ImageFilter.MaxFilter(size=3)?

創(chuàng)建最大篩選器。選取窗口中具有給定大小的最大像素值。

參數(shù)

size -- 內(nèi)核大小,以像素為單位。

?classPIL.ImageFilter.ModeFilter(size=3)?

創(chuàng)建模式篩選器。選取具有給定大小的框中最頻繁的像素值。只出現(xiàn)一次或兩次的像素值將被忽略;如果沒(méi)有超過(guò)兩次的像素值出現(xiàn),則保留原始像素值。

參數(shù)

size -- 內(nèi)核大小,以像素為單位。

?classPIL.ImageFilter.Filter?

用于過(guò)濾圖像的抽象mixin(用于? filter() ?)

實(shí)施者必須提供以下方法:

?filter(selfimage)?

對(duì)單個(gè)波段圖像或圖像的單個(gè)波段應(yīng)用過(guò)濾器。

返回

圖像的過(guò)濾副本。

?classPIL.ImageFilter.MultibandFilter?

用于過(guò)濾多波段圖像的抽象mixin(用于 ?filter() ?)

實(shí)施者必須提供以下方法:

?filter(selfimage)?

對(duì)多波段圖像應(yīng)用過(guò)濾器。

返回

圖像的過(guò)濾副本。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)