最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2023年11月22日 11:46:24   作者:蟲(chóng)無(wú)涯  
這篇文章主要介紹PIL中ImageFilter模塊幾種圖片濾波處理和使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(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 常見(jiàn)PIL子庫(kù)或類(lèi)

  • 目錄在:
Python37\Lib\site-packages\PIL
  • 以下是PIL的常見(jiàn)子庫(kù)或者常見(jiàn)的類(lèi)及說(shuō)明:
類(lèi)或子庫(kù)說(shuō)明
Image最重要的模塊,如創(chuàng)建、打開(kāi)、顯示、保存圖像等功能,合成、裁剪、濾波等功能,獲取圖像屬性功能,如圖像直方圖、通道數(shù)等
ImageChops算術(shù)圖形操作,如圖像特效,圖像組合,算法繪圖等
ImageCrackCode允許用戶檢測(cè)和測(cè)量圖像的各種特性
ImageDraw基本的圖形處理功能,如可創(chuàng)建新圖像,注釋或潤(rùn)飾已存在圖像,為web應(yīng)用實(shí)時(shí)產(chǎn)生各種圖形
ImageEnhance圖像增強(qiáng)
ImageFile為圖像打開(kāi)和保存功能提供了相關(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 圖片輪廓

  • 說(shuō)明:將圖像中的輪廓信息全部提取出來(lái);
  • 方法: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 浮雕效果

  • 說(shuō)明:使圖像呈現(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)

  • 說(shuō)明:會(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 圖片模糊

  • 說(shuō)明:使得處理后的圖片變得模糊;
  • 方法: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)

  • 說(shuō)明:使圖像中細(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)

  • 說(shuō)明:加強(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 尋找邊緣信息

  • 說(shuō)明:找出圖像中的邊緣信息;
  • 方法: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 平滑處理

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

顯示效果:

2.9 深度平滑處理

  • 說(shuō)明:使圖像更加平滑;
  • 方法: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 銳化處理

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

顯示效果:

3 完整源碼

# -*- coding:utf-8 -*-
# 作者:蟲(chóng)無(wú)涯
# 日期: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 matplotlib實(shí)戰(zhàn)之漏斗圖繪制

    Python matplotlib實(shí)戰(zhàn)之漏斗圖繪制

    漏斗圖,形如“漏斗”,用于展示數(shù)據(jù)的逐漸減少或過(guò)濾過(guò)程,這篇文章主要為大家介紹了如何使用Matplotlib繪制漏斗圖,需要的小伙伴可以參考下
    2023-08-08
  • Python中datetime常用時(shí)間處理方法

    Python中datetime常用時(shí)間處理方法

    Python提供了多個(gè)內(nèi)置模塊用于操作日期時(shí)間,像calendar,time,datetime。今天我們主要來(lái)探討下datetime的使用方法,有需要的小伙伴可以參考下。
    2015-06-06
  • 基于Python 的語(yǔ)音重采樣函數(shù)解析

    基于Python 的語(yǔ)音重采樣函數(shù)解析

    這篇文章主要介紹了基于Python 的語(yǔ)音重采樣函數(shù)解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • Python性能分析工具Profile使用實(shí)例

    Python性能分析工具Profile使用實(shí)例

    這篇文章主要介紹了Python性能分析工具Profile使用實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • python類(lèi)的私有屬性和公共屬性說(shuō)明

    python類(lèi)的私有屬性和公共屬性說(shuō)明

    這篇文章主要介紹了python類(lèi)的私有屬性和公共屬性說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python中關(guān)于提升工作效率的一些小技巧

    python中關(guān)于提升工作效率的一些小技巧

    這篇文章主要介紹了python中關(guān)于提升工作效率的一些小技巧,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Python+OpenCV實(shí)現(xiàn)圖像基本操作的示例詳解

    Python+OpenCV實(shí)現(xiàn)圖像基本操作的示例詳解

    這篇文章主要為大家詳細(xì)介紹了Python通過(guò)OpenCV實(shí)現(xiàn)圖像的一些基本處理操作的方法,文中的示例代碼簡(jiǎn)潔易懂,具有一定的參考價(jià)值,感興趣的可以學(xué)習(xí)一下
    2023-04-04
  • python將圖片轉(zhuǎn)為矢量圖的方法步驟

    python將圖片轉(zhuǎn)為矢量圖的方法步驟

    這篇文章主要介紹了python將圖片轉(zhuǎn)為矢量圖的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Python多線程應(yīng)用于自動(dòng)化測(cè)試操作示例

    Python多線程應(yīng)用于自動(dòng)化測(cè)試操作示例

    這篇文章主要介紹了Python多線程應(yīng)用于自動(dòng)化測(cè)試操作,結(jié)合實(shí)例形式分析了Python多線程基于Selenium進(jìn)行自動(dòng)化操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2018-12-12
  • python中的bool數(shù)組取反案例

    python中的bool數(shù)組取反案例

    這篇文章主要介紹了python中的bool數(shù)組取反案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03

最新評(píng)論

长顺县| 措勤县| 安仁县| 准格尔旗| 太白县| 浦城县| 靖安县| 金阳县| 五家渠市| 巴楚县| 三都| 凤山市| 平定县| 宜兰市| 札达县| 二连浩特市| 静安区| 兴国县| 建平县| 清镇市| 讷河市| 延安市| 绥棱县| 镇平县| 宜昌市| 昂仁县| 铁力市| 依兰县| 林周县| 河间市| 呈贡县| 汉中市| 萨嘎县| 江津市| 湘潭市| 高州市| 平乐县| 青河县| 清河县| 宣化县| 健康|