中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python圖像處理庫PIL的ImageFilter模塊使用介紹

發布時間:2020-10-04 20:59:01 來源:腳本之家 閱讀:228 作者:icamera0 欄目:開發技術

ImageFilter模塊提供了濾波器相關定義;這些濾波器主要用于Image類的filter()方法。

一、ImageFilter模塊所支持的濾波器

當前的PIL版本中ImageFilter模塊支持十種濾波器:

1、  BLUR

ImageFilter.BLUR為模糊濾波,處理之后的圖像會整體變得模糊。

例子:

>>> from PIL importImageFilter
>>> im02 =Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")
>>> im = im02.filter(ImageFilter.BLUR)

圖像im02為原始圖像,如下:

Python圖像處理庫PIL的ImageFilter模塊使用介紹                          

圖像im為模糊濾波之后的圖像,明顯比原始圖像模糊了一些,見下圖:

Python圖像處理庫PIL的ImageFilter模塊使用介紹

2、  CONTOUR

ImageFilter.CONTOUR為輪廓濾波,將圖像中的輪廓信息全部提取出來。

例子:

>>>from PIL import ImageFilter
>>>im02 = Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")
>>> im= im02.filter(ImageFilter.CONTOUR)

圖像im為輪廓圖像,如下圖:

Python圖像處理庫PIL的ImageFilter模塊使用介紹

3、  DETAIL

ImageFilter.DETAIL為細節增強濾波,會使得圖像中細節更加明顯。

例子:

>>>from PIL import ImageFilter

>>>im02 = Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")

>>> im= im02.filter(ImageFilter.DETAIL)

圖像im為細節增強后的圖像,如下圖:

Python圖像處理庫PIL的ImageFilter模塊使用介紹

4、 EDGE_ENHANCE

ImageFilter.EDGE_ENHANCE為邊緣增強濾波,突出、加強和改善圖像中不同灰度區域之間的邊界和輪廓的圖像增強方法。經處理使得邊界和邊緣在圖像上表現為圖像灰度的突變,用以提高人眼識別能力。

例子:

>>>from PIL import ImageFilter

>>>im02 = Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")

>>> im= im02.filter(ImageFilter.EDGE_ENHANCE)

圖像im為邊緣增強后的圖像,如下圖:

Python圖像處理庫PIL的ImageFilter模塊使用介紹

5、 EDGE_ENHANCE_MORE

ImageFilter.EDGE_ENHANCE_MORE為深度邊緣增強濾波,會使得圖像中邊緣部分更加明顯。

例子:

>>>from PIL import ImageFilter
>>>im02 = Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")
>>> im= im02.filter(ImageFilter.EDGE_ENHANCE_MORE)

圖像im為深度邊緣增強后的圖像,如下圖:

Python圖像處理庫PIL的ImageFilter模塊使用介紹

6、EMBOSS

ImageFilter.EMBOSS為浮雕濾波,會使圖像呈現出浮雕效果。

例子:

>>>from PIL import ImageFilter
>>>im02 = Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")
>>> im= im02.filter(ImageFilter.EMBOSS)

圖像im為浮雕效果的圖像,如下圖:

Python圖像處理庫PIL的ImageFilter模塊使用介紹        

7、 FIND_EDGES

ImageFilter.FIND_EDGES為尋找邊緣信息的濾波,會找出圖像中的邊緣信息。

例子:

>>>from PIL import ImageFilter
>>>im02 = Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")
>>> im= im02.filter(ImageFilter.FIND_EDGES)

圖像im為邊緣信息的圖像,如下圖:

Python圖像處理庫PIL的ImageFilter模塊使用介紹

8、  SMOOTH

ImageFilter.SMOOTH為平滑濾波,突出圖像的寬大區域、低頻成分、主干部分或抑制圖像噪聲和干擾高頻成分,使圖像亮度平緩漸變,減小突變梯度,改善圖像質量。

例子:

>>>from PIL import ImageFilter
>>>im02 = Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")
>>> im= im02.filter(ImageFilter.SMOOTH)

圖像im為平滑濾波的圖像,如下圖:

Python圖像處理庫PIL的ImageFilter模塊使用介紹

9、  SMOOTH_MORE

ImageFilter.SMOOTH_MORE為深度平滑濾波,會使得圖像變得更加平滑。

例子:

>>> from PIL importImageFilter
>>> im02 =Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")
>>> im =im02.filter(ImageFilter.SMOOTH_MORE)

圖像im為深度平滑濾波的圖像,如下圖:

Python圖像處理庫PIL的ImageFilter模塊使用介紹

10、SHARPEN

ImageFilter.SHARPEN為銳化濾波,補償圖像的輪廓,增強圖像的邊緣及灰度跳變的部分,使圖像變得清晰。

例子:

>>>from PIL import ImageFilter
>>> im02 =Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")
>>> im =im02.filter(ImageFilter.SHARPEN)

圖像im為銳化濾波的圖像,如下圖:

Python圖像處理庫PIL的ImageFilter模塊使用介紹

二、ImageFilter模塊的函數

1、  Kernel

定義:Kernel(size,kernel, scale=None, offset=0)

含義:(New in 1.1.5)生成一個給定尺寸的卷積核。在當前的版本中,變量size必須為(3,3)或者(5,5)。變量kernel與變量size對應地必須為包含9個或者25個整數或者浮點數的序列。

如果設置了變量scale,那將卷積核作用于每個像素值之后的數據,都需要除以這個變量。默認值為卷積核的權重之和。

如果設置變量offset,這個值將加到卷積核作用的結果上,然后再除以變量scale。

例子: 

>>>from PIL import ImageFilter
>>> im02 =Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")
>>> im=im02.filter(ImageFilter.Kernel((3,3),(1,1,1,0,0,0,2,0,2)))

圖像im為經過卷積核處理過的圖像,如下圖:

Python圖像處理庫PIL的ImageFilter模塊使用介紹

2、  RankFilter

定義:RankFilter(size,rank)

含義:(New in 1.1.5)生成給定尺寸的等級濾波器。對于輸入圖像的每個像素點,等級濾波器根據像素值,在(size,size)的區域中對所有像素點進行排序,然后拷貝對應等級的值存儲到輸出圖像中。

例子:

>>>from PIL import ImageFilter
>>>im02 = Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")
>>> im=im02.filter(ImageFilter.RankFilter(5,24))

圖像im為等級濾波后的圖像,在每個像素點為中心的5x5區域25個像素點中選擇排序第24位的像素作為新的值。如下圖:

Python圖像處理庫PIL的ImageFilter模塊使用介紹

3、  MinFilter

定義:MinFilter(size=3)

含義:(New in 1.1.5)生成給定尺寸的最小濾波器。對于輸入圖像的每個像素點,該濾波器從(size,size)的區域中拷貝最小的像素值存儲到輸出圖像中。

例子:

>>> from PIL importImageFilter
>>> im02 =Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")
>>> im=im02.filter(ImageFilter.MinFilter(5))

圖像im為最小濾波后的圖像,在每個像素點為中心的5x5區域25個像素點中選擇最小的像素作為新的值。如下圖:

Python圖像處理庫PIL的ImageFilter模塊使用介紹

4、  MedianFilter

定義:MedianFilter(size=3)

含義:(New in 1.1.5)生成給定尺寸的中值濾波器。對于輸入圖像的每個像素點,該濾波器從(size,size)的區域中拷貝中值對應的像素值存儲到輸出圖像中。

例子:

>>>from PIL import ImageFilter
>>>im02 = Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")
>>> im=im02.filter(ImageFilter.MedianFilter(5))

圖像im為中值濾波后的圖像,在每個像素點為中心的5x5區域25個像素點中選擇中值作為新的值。如下圖:

Python圖像處理庫PIL的ImageFilter模塊使用介紹

 5、  MaxFilter

定義:MaxFilter(size=3)

含義:(New in 1.1.5)生成給定尺寸的最大濾波器。對于輸入圖像的每個像素點,該濾波器從(size,size)的區域中拷貝最大的像素值存儲到輸出圖像中。

例子:

>>>from PIL import ImageFilter
>>> im02 =Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")
>>> im=im02.filter(ImageFilter.MaxFilter(5))

圖像im為最大濾波后的圖像,在每個像素點為中心的5x5區域25個像素點中選擇最大的像素作為新的值。如下圖:

Python圖像處理庫PIL的ImageFilter模塊使用介紹

 6、  ModeFilter

定義:ModeFilter(size=3)

含義:(New in 1.1.5)生成給定尺寸的模式濾波器。對于輸入圖像的每個像素點,該濾波器從(size,size)的區域中拷貝出現次數最多的像素值存儲到輸出圖像中。如果沒有一個像素值出現過兩次極其以上,則使用原始像素值。

例子:

>>>from PIL import ImageFilter
>>>im02 = Image.open("D:\\Code\\Python\\test\\img\\test02.jpg")
>>> im=im02.filter(ImageFilter.ModeFilter(5))

圖像im為模式濾波后的圖像,在每個像素點為中心的5x5區域25個像素點中選擇出現次數最多的像素作為新的值。如下圖:

Python圖像處理庫PIL的ImageFilter模塊使用介紹

以上就是Python圖像處理庫PIL的ImageFilter模塊使用介紹的詳細內容,更多關于PIL ImageFilter模塊的資料請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐山市| 龙井市| 北碚区| 双辽市| 南江县| 郁南县| 格尔木市| 洪雅县| 东丰县| 拜城县| 上思县| 江源县| 荥阳市| 唐山市| 五大连池市| 山阴县| 菏泽市| 茶陵县| 孟村| 滦南县| 柳河县| 大余县| 漯河市| 遵义县| 尼玛县| 墨竹工卡县| 鄯善县| 洪雅县| 桂东县| 梨树县| 凤庆县| 广州市| 临江市| 洛川县| 平原县| 法库县| 蒲城县| 北宁市| 武鸣县| 宁河县| 乐安县|