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

python PIL中ImageFilter模塊圖片濾波處理和使用方法

 更新時(shí)間:2023年11月22日 11:46:24   作者:蟲無涯  
這篇文章主要介紹PIL中ImageFilter模塊幾種圖片濾波處理和使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1 關(guān)于PIL庫(kù)

1.1 PIL簡(jiǎn)單介紹

  • PIL是Python的一個(gè)圖像處理庫(kù),支持多種文件格式;
  • PIL提供強(qiáng)大的圖像處理和圖形處理能力;
  • 可完成對(duì)圖像的縮放、裁剪、疊加以及圖像添加線條、圖像和文字等操作。
  • 安裝的話,使用以下命令:
pip install Pillow

1.2 常見PIL子庫(kù)或類

  • 目錄在:
Python37\Lib\site-packages\PIL
  • 以下是PIL的常見子庫(kù)或者常見的類及說明:
類或子庫(kù)說明
Image最重要的模塊,如創(chuàng)建、打開、顯示、保存圖像等功能,合成、裁剪、濾波等功能,獲取圖像屬性功能,如圖像直方圖、通道數(shù)等
ImageChops算術(shù)圖形操作,如圖像特效,圖像組合,算法繪圖等
ImageCrackCode允許用戶檢測(cè)和測(cè)量圖像的各種特性
ImageDraw基本的圖形處理功能,如可創(chuàng)建新圖像,注釋或潤(rùn)飾已存在圖像,為web應(yīng)用實(shí)時(shí)產(chǎn)生各種圖形
ImageEnhance圖像增強(qiáng)
ImageFile為圖像打開和保存功能提供了相關(guān)支持功能
ImageFileIO從一個(gè)socket或者其他流設(shè)備中讀取一張圖像
ImageFilter各種濾波器的預(yù)定義集合
ImageFont字體庫(kù)
ImageGrab將屏幕上的內(nèi)容拷貝到一個(gè)PIL圖像內(nèi)存中
ImageOps可完成直方圖均衡、裁剪、量化、鏡像等操作
ImagePath存儲(chǔ)和操作二維向量數(shù)據(jù)
ImageSequence為圖像序列中每一幀提供了迭代器
ImageStat計(jì)算一張圖像或者一張圖像的一個(gè)區(qū)域的全局統(tǒng)計(jì)值
ImageTk創(chuàng)建和修改BitmapImagePhotoImage對(duì)象中的Tkinter
PSDrawPostscript打印機(jī)提供基本的打印支持

2 ImageFilter模塊濾波處理

2.1 圖片輪廓

  • 說明:將圖像中的輪廓信息全部提取出來;
  • 方法:ImageFilter.CONTOUR
  • 示例:
from PIL import Image, ImageFilter


class TestImage():
    def __init__(self):
        super(TestImage, self).__init__()
        self.img = Image.open("./image06.jpg")
        # self.img.show()

    # 圖片輪廓
    def test_contur(self):
        self.contur = self.img.filter(ImageFilter.CONTOUR)
        # self.contur.show()
        self.contur.save("image06_contur.jpg")

if __name__ == "__main__":
    image = TestImage()
    image.test_contur()

顯示效果:

2.2 浮雕效果

  • 說明:使圖像呈現(xiàn)出浮雕效果;
  • 方法:ImageFilter.EMBOSS;
  • 示例:
# 浮雕效果
def test_emboss(self):
    self.emboss = self.img.filter(ImageFilter.EMBOSS)
    # self.emboss.show()
    self.emboss.save("image07_emboss.jpg")

顯示效果:

2.3 邊緣增強(qiáng)

  • 說明:會(huì)使得圖像中邊緣部分更加明顯;
  • 方法:ImageFilter.EDGE_ENHANCE_MORE;
  • 示例:
 def test_enhance_m(self):
        self.enhance = self.img.filter(ImageFilter.EDGE_ENHANCE_MORE)
        # self.enhance.show()
        self.enhance.save("image08_enhance.jpg")

顯示效果:

2.4 圖片模糊

  • 說明:使得處理后的圖片變得模糊;
  • 方法:ImageFilter.BLUR;
  • 示例:
 def test_blur(self):
        self.blur = self.img.filter(ImageFilter.BLUR)
        # self.blur.show()
        self.blur.save("image09_blur.jpg")

顯示效果:

2.5 細(xì)節(jié)增強(qiáng)

  • 說明:使圖像中細(xì)節(jié)更加明顯;
  • 方法:ImageFilter.DETAIL;
  • 示例:
    def test_detail(self):
        self.detail = self.img.filter(ImageFilter.DETAIL)
        self.detail.save("image10_detail.jpg")

顯示效果:

2.6 不同灰度邊緣增強(qiáng)

  • 說明:加強(qiáng)和改善圖像中不同灰度區(qū)域之間的邊界和輪廓;
  • 方法:ImageFilter.EDGE_ENHANCE;
  • 示例:
   def test_enhance(self):
        self.enhance01 = self.img.filter(ImageFilter.EDGE_ENHANCE)
        self.enhance01.save("image11_enhance01.jpg")

顯示效果:

2.7 尋找邊緣信息

  • 說明:找出圖像中的邊緣信息;
  • 方法:ImageFilter.FIND_EDGES
  • 示例:
    def test_find_edges(self):
        self.find_edges = self.img.filter(ImageFilter.FIND_EDGES)
        self.find_edges.save("image12_find_edges.jpg")

顯示效果:

2.8 平滑處理

  • 說明:使圖像亮度平緩漸變,減小突變梯度;
  • 方法:ImageFilter.SMOOTH;
  • 示例:
  def test_smooth(self):
        self.smooth = self.img.filter(ImageFilter.SMOOTH)
        self.smooth.save("image13_smooth.jpg")

顯示效果:

2.9 深度平滑處理

  • 說明:使圖像更加平滑;
  • 方法:ImageFilter.SMOOTH_MORE
  • 示例:
   def test_smooth_m(self):
        self.smooth_m = self.img.filter(ImageFilter.SMOOTH_MORE)
        self.smooth_m.save("image14_smooth_m.jpg")

顯示效果:

2.10 銳化處理

  • 說明:補(bǔ)償圖像的輪廓;
  • 方法:ImageFilter.SHARPEN;
  • 示例:
   def test_sharpen(self):
        self.sharpen = self.img.filter(ImageFilter.SHARPEN)
        self.sharpen.save("image15_sharpen.jpg")

顯示效果:

3 完整源碼

# -*- coding:utf-8 -*-
# 作者:蟲無涯
# 日期:2023/11/20 
# 文件名稱:test_pil.py
# 作用:圖片效果處理
# 聯(lián)系:VX(NoamaNelson)
# 博客:https://blog.csdn.net/NoamaNelson

from PIL import Image, ImageFilter


class TestImage():
    def __init__(self):
        super(TestImage, self).__init__()
        self.img = Image.open("./image06.jpg")
        # self.img.show()

    # 圖片輪廓
    def test_contur(self):
        self.contur = self.img.filter(ImageFilter.CONTOUR)
        # self.contur.show()
        self.contur.save("image06_contur.jpg")

    # 浮雕效果
    def test_emboss(self):
        self.emboss = self.img.filter(ImageFilter.EMBOSS)
        # self.emboss.show()
        self.emboss.save("image07_emboss.jpg")

    # 邊界增強(qiáng)
    def test_enhance_m(self):
        self.enhance = self.img.filter(ImageFilter.EDGE_ENHANCE_MORE)
        # self.enhance.show()
        self.enhance.save("image08_enhance.jpg")

    # 圖片模糊
    def test_blur(self):
        self.blur = self.img.filter(ImageFilter.BLUR)
        # self.blur.show()
        self.blur.save("image09_blur.jpg")

    # 細(xì)節(jié)增強(qiáng)
    def test_detail(self):
        self.detail = self.img.filter(ImageFilter.DETAIL)
        self.detail.save("image10_detail.jpg")

    # 不同灰度邊緣增強(qiáng)
    def test_enhance(self):
        self.enhance01 = self.img.filter(ImageFilter.EDGE_ENHANCE)
        self.enhance01.save("image11_enhance01.jpg")

    # 找出圖像中的邊緣信息
    def test_find_edges(self):
        self.find_edges = self.img.filter(ImageFilter.FIND_EDGES)
        self.find_edges.save("image12_find_edges.jpg")

    # 平滑處理
    def test_smooth(self):
        self.smooth = self.img.filter(ImageFilter.SMOOTH)
        self.smooth.save("image13_smooth.jpg")

    # 深度平滑處理
    def test_smooth_m(self):
        self.smooth_m = self.img.filter(ImageFilter.SMOOTH_MORE)
        self.smooth_m.save("image14_smooth_m.jpg")

    # 銳化處理
    def test_sharpen(self):
        self.sharpen = self.img.filter(ImageFilter.SHARPEN)
        self.sharpen.save("image15_sharpen.jpg")

if __name__ == "__main__":
    image = TestImage()
    # image.test_contur()
    # image.test_emboss()
    # image.test_enhance_m()
    # image.test_blur()
    # image.test_detail()
    # image.test_find_edges()
    # image.test_smooth()
    # image.test_smooth_m()
    image.test_sharpen()

以上就是python PIL中ImageFilter模塊圖片濾波處理和使用方法的詳細(xì)內(nèi)容,更多關(guān)于python PIL中ImageFilter模塊的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python 3.5實(shí)現(xiàn)檢測(cè)路由器流量并寫入txt的方法實(shí)例

    python 3.5實(shí)現(xiàn)檢測(cè)路由器流量并寫入txt的方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于利用python 3.5實(shí)現(xiàn)檢測(cè)路由器流量并寫入txt的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起看看吧。
    2017-12-12
  • 關(guān)于python中的setup.py

    關(guān)于python中的setup.py

    distutils?的精髓在于編寫?setup.py,它是模塊分發(fā)與安裝的指導(dǎo)文件,那么如何編寫?setup.py?呢?這里面的內(nèi)容非常多,我會(huì)在本文給大家詳細(xì)講解,對(duì)python?setup.py相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-08-08
  • 利用python、tensorflow、opencv、pyqt5實(shí)現(xiàn)人臉實(shí)時(shí)簽到系統(tǒng)

    利用python、tensorflow、opencv、pyqt5實(shí)現(xiàn)人臉實(shí)時(shí)簽到系統(tǒng)

    這篇文章主要介紹了利用python、tensorflow、opencv、pyqt5實(shí)現(xiàn)人臉實(shí)時(shí)簽到系統(tǒng),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Python解析器Cpython的GIL解釋器鎖工作機(jī)制

    Python解析器Cpython的GIL解釋器鎖工作機(jī)制

    這篇文章主要為大家介紹了Cpython的GIL解釋器鎖工作機(jī)制掌握示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Python with用法:自動(dòng)關(guān)閉文件進(jìn)程

    Python with用法:自動(dòng)關(guān)閉文件進(jìn)程

    這篇文章主要介紹了Python with用法:自動(dòng)關(guān)閉文件進(jìn)程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • pycharm安裝教程(下載安裝以及設(shè)置中文界面)

    pycharm安裝教程(下載安裝以及設(shè)置中文界面)

    這篇文章主要給大家介紹了關(guān)于pycharm安裝教程,文中包括下載安裝以及設(shè)置中文界面,PyCharm是一款Python IDE,其帶有一整套可以幫助用戶在使用Python語言開發(fā)時(shí)提高其效率的工具,需要的朋友可以參考下
    2023-10-10
  • Python smallseg分詞用法實(shí)例分析

    Python smallseg分詞用法實(shí)例分析

    這篇文章主要介紹了Python smallseg分詞用法,以實(shí)例形式分析了Python實(shí)現(xiàn)分析的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • python進(jìn)程管理工具supervisor使用實(shí)例

    python進(jìn)程管理工具supervisor使用實(shí)例

    這篇文章主要介紹了python進(jìn)程管理工具supervisor使用實(shí)例,本文介紹了supervisor的安裝、配置、使用等內(nèi)容,需要的朋友可以參考下
    2014-09-09
  • python一秒搭建FTP服務(wù)器

    python一秒搭建FTP服務(wù)器

    今天給大家分享一篇教程關(guān)于python一秒搭建FTP服務(wù)器的教程,在搭建過程中需要用到pyftpdlib模塊,對(duì)python FTP服務(wù)器搭建過程感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • 讓文件路徑提取變得更簡(jiǎn)單的Python Path庫(kù)

    讓文件路徑提取變得更簡(jiǎn)單的Python Path庫(kù)

    這里我們介紹 Python3 自帶的庫(kù) Path,可以讓我們使用更少的代碼但是與之而來的是更高的效率,文中有非常詳細(xì)的介紹及代碼示例 ,需要的朋友可以參考下
    2021-05-05

最新評(píng)論