欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python圖像處理庫(kù)PIL的ImageFilter模塊使用介紹

 更新時(shí)間:2020年02月26日 10:52:59   作者:icamera0  
這篇文章主要介紹了Python圖像處理庫(kù)PIL的ImageFilter模塊使用介紹,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

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

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

當(dāng)前的PIL版本中ImageFilter模塊支持十種濾波器:

1、  BLUR

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

例子:

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

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

                          

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

2、  CONTOUR

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

例子:

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

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

3、  DETAIL

ImageFilter.DETAIL為細(xì)節(jié)增強(qiáng)濾波,會(huì)使得圖像中細(xì)節(jié)更加明顯。

例子:

>>>from PIL import ImageFilter

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

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

圖像im為細(xì)節(jié)增強(qiáng)后的圖像,如下圖:

4、 EDGE_ENHANCE

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

例子:

>>>from PIL import ImageFilter

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

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

圖像im為邊緣增強(qiáng)后的圖像,如下圖:

5、 EDGE_ENHANCE_MORE

ImageFilter.EDGE_ENHANCE_MORE為深度邊緣增強(qiáng)濾波,會(huì)使得圖像中邊緣部分更加明顯。

例子:

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

圖像im為深度邊緣增強(qiáng)后的圖像,如下圖:

6、EMBOSS

ImageFilter.EMBOSS為浮雕濾波,會(huì)使圖像呈現(xiàn)出浮雕效果。

例子:

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

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

        

7、 FIND_EDGES

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

例子:

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

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

8、  SMOOTH

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

例子:

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

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

9、  SMOOTH_MORE

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

例子:

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

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

10、SHARPEN

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

例子:

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

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

二、ImageFilter模塊的函數(shù)

1、  Kernel

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

含義:(New in 1.1.5)生成一個(gè)給定尺寸的卷積核。在當(dāng)前的版本中,變量size必須為(3,3)或者(5,5)。變量kernel與變量size對(duì)應(yīng)地必須為包含9個(gè)或者25個(gè)整數(shù)或者浮點(diǎn)數(shù)的序列。

如果設(shè)置了變量scale,那將卷積核作用于每個(gè)像素值之后的數(shù)據(jù),都需要除以這個(gè)變量。默認(rèn)值為卷積核的權(quán)重之和。

如果設(shè)置變量offset,這個(gè)值將加到卷積核作用的結(jié)果上,然后再除以變量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為經(jīng)過卷積核處理過的圖像,如下圖:

2、  RankFilter

定義:RankFilter(size,rank)

含義:(New in 1.1.5)生成給定尺寸的等級(jí)濾波器。對(duì)于輸入圖像的每個(gè)像素點(diǎn),等級(jí)濾波器根據(jù)像素值,在(size,size)的區(qū)域中對(duì)所有像素點(diǎn)進(jìn)行排序,然后拷貝對(duì)應(yīng)等級(jí)的值存儲(chǔ)到輸出圖像中。

例子:

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

圖像im為等級(jí)濾波后的圖像,在每個(gè)像素點(diǎn)為中心的5x5區(qū)域25個(gè)像素點(diǎn)中選擇排序第24位的像素作為新的值。如下圖:

3、  MinFilter

定義:MinFilter(size=3)

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

例子:

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

圖像im為最小濾波后的圖像,在每個(gè)像素點(diǎn)為中心的5x5區(qū)域25個(gè)像素點(diǎn)中選擇最小的像素作為新的值。如下圖:

4、  MedianFilter

定義:MedianFilter(size=3)

含義:(New in 1.1.5)生成給定尺寸的中值濾波器。對(duì)于輸入圖像的每個(gè)像素點(diǎn),該濾波器從(size,size)的區(qū)域中拷貝中值對(duì)應(yīng)的像素值存儲(chǔ)到輸出圖像中。

例子:

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

圖像im為中值濾波后的圖像,在每個(gè)像素點(diǎn)為中心的5x5區(qū)域25個(gè)像素點(diǎn)中選擇中值作為新的值。如下圖:

 5、  MaxFilter

定義:MaxFilter(size=3)

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

例子:

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

圖像im為最大濾波后的圖像,在每個(gè)像素點(diǎn)為中心的5x5區(qū)域25個(gè)像素點(diǎn)中選擇最大的像素作為新的值。如下圖:

 6、  ModeFilter

定義:ModeFilter(size=3)

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

例子:

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

圖像im為模式濾波后的圖像,在每個(gè)像素點(diǎn)為中心的5x5區(qū)域25個(gè)像素點(diǎn)中選擇出現(xiàn)次數(shù)最多的像素作為新的值。如下圖:

以上就是Python圖像處理庫(kù)PIL的ImageFilter模塊使用介紹的詳細(xì)內(nèi)容,更多關(guān)于PIL ImageFilter模塊的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • anaconda升級(jí)sklearn版本的實(shí)現(xiàn)方法

    anaconda升級(jí)sklearn版本的實(shí)現(xiàn)方法

    這篇文章主要介紹了anaconda升級(jí)sklearn版本的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • Python檢驗(yàn)用戶輸入密碼的復(fù)雜度

    Python檢驗(yàn)用戶輸入密碼的復(fù)雜度

    這篇文章主要介紹了Python檢驗(yàn)用戶輸入密碼的復(fù)雜度,在用戶設(shè)置密碼的時(shí)候檢測(cè)輸入的密碼大小寫數(shù)字等,需要的朋友可以參考下
    2023-04-04
  • Matplotlib繪制子圖的常見幾種方法

    Matplotlib繪制子圖的常見幾種方法

    Matplotlib的可以把很多張圖畫到一個(gè)顯示界面,在作對(duì)比分析的時(shí)候非常有用。本文就介紹了幾種方法,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • python上下文管理器協(xié)議的實(shí)現(xiàn)

    python上下文管理器協(xié)議的實(shí)現(xiàn)

    這篇文章主要介紹了python上下文管理器協(xié)議的實(shí)現(xiàn),在python中所有實(shí)現(xiàn)了上下文管理器協(xié)議的對(duì)象 都可以用使用with操作,with啟動(dòng)了對(duì)象的上下文管理器
    2022-06-06
  • 10分鐘教你用python動(dòng)畫演示深度優(yōu)先算法搜尋逃出迷宮的路徑

    10分鐘教你用python動(dòng)畫演示深度優(yōu)先算法搜尋逃出迷宮的路徑

    這篇文章主要介紹了10分鐘教你用python動(dòng)畫演示深度優(yōu)先算法搜尋逃出迷宮的路徑,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • python制作可視化GUI界面自動(dòng)分類管理文件

    python制作可視化GUI界面自動(dòng)分類管理文件

    這篇文章主要為大家介紹了python制作可視化GUI界面實(shí)現(xiàn)自動(dòng)分類管理文件,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • python爬蟲項(xiàng)目設(shè)置一個(gè)中斷重連的程序的實(shí)現(xiàn)

    python爬蟲項(xiàng)目設(shè)置一個(gè)中斷重連的程序的實(shí)現(xiàn)

    這篇文章主要介紹了python爬蟲項(xiàng)目設(shè)置一個(gè)中斷重連的程序的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 解決python字典對(duì)值(值為列表)賦值出現(xiàn)重復(fù)的問題

    解決python字典對(duì)值(值為列表)賦值出現(xiàn)重復(fù)的問題

    今天小編就為大家分享一篇解決python字典對(duì)值(值為列表)賦值出現(xiàn)重復(fù)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Django Rest framework認(rèn)證組件詳細(xì)用法

    Django Rest framework認(rèn)證組件詳細(xì)用法

    這篇文章主要介紹了Django Rest framework認(rèn)證組件詳細(xì)用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python中提取人臉特征的三種方法詳解

    Python中提取人臉特征的三種方法詳解

    這篇文章主要和大家分享三個(gè)Python中提取人臉特征的方法,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,需要的可以參考一下
    2022-05-05

最新評(píng)論