> 文章列表 > 通过Python的PIL库进行图像的过滤

通过Python的PIL库进行图像的过滤

通过Python的PIL库进行图像的过滤

文章目录

  • 前言
  • 一、素材准备
  • 二、演示
    • 1.引入库
    • 2.定义图片路径
    • 3.打开原图
    • 4.过滤方法
      • 4.1图像的模糊效果
      • 4.2图像的轮廓效果
        • 代码
        • 效果图
      • 4.3图像的细节效果
        • 代码
        • 效果图
      • 4.4图像的边界效果
        • 代码
        • 效果图
      • 4.5图像的边界加强效果
        • 代码
        • 效果图
      • 4.6图像的阈值边界加强效果
        • 代码
        • 效果图
      • 4.7图像的浮雕效果
        • 代码
        • 效果图
      • 4.8图像的平滑效果
        • 代码
        • 效果图
      • 4.9图像的阈值平滑效果
        • 代码
        • 效果图
      • 4.10图像的锐化效果
        • 代码
        • 效果图
    • 5.保存新图
  • 总结

前言

大家好,我是空空star,本篇给大家分享一下通过Python的PIL库进行图像的过滤。
本篇使用的PIL版本如下:
Name: Pillow
Version: 9.4.0


一、素材准备

二、演示

1.引入库

from PIL import Image, ImageFilter

2.定义图片路径

local = '/Users/kkstar/Downloads/video/pic/'

3.打开原图

im = Image.open(local+'demo.jpg')

4.过滤方法

4.1图像的模糊效果

代码

om = im.filter(ImageFilter.BLUR)

效果图

4.2图像的轮廓效果

代码

om = im.filter(ImageFilter.CONTOUR)

效果图

4.3图像的细节效果

代码

om = im.filter(ImageFilter.DETAIL)

效果图

4.4图像的边界效果

代码

om = im.filter(ImageFilter.FIND_EDGES)

效果图

4.5图像的边界加强效果

代码

om = im.filter(ImageFilter.EDGE_ENHANCE)

效果图

4.6图像的阈值边界加强效果

代码

om = im.filter(ImageFilter.EDGE_ENHANCE_MORE)

效果图

4.7图像的浮雕效果

代码

om = im.filter(ImageFilter.EMBOSS)

效果图

4.8图像的平滑效果

代码

om = im.filter(ImageFilter.SMOOTH)

效果图

4.9图像的阈值平滑效果

代码

om = im.filter(ImageFilter.SMOOTH_MORE)

效果图

4.10图像的锐化效果

代码

om = im.filter(ImageFilter.SHARPEN)

效果图

5.保存新图

om.save(local+'result.jpg')

总结

ImageFilter是Python图像处理库PIL中的一个类,提供了一些常用的图像滤波器。它可以用来对图像进行模糊、边缘检测等处理。 ImageFilter类的一些常用方法包括:

  1. BLUR:对图像进行均值滤波,可以实现模糊的效果。

  2. CONTOUR:检测边缘,可以将图像中的物体的轮廓取出。

  3. DETAIL:增强图像的细节,可以突出物体的纹理和细节。

  4. EDGE_ENHANCE:增强图像的边缘,可以使物体的边缘更加清晰。

  5. EMBOSS:给图像做浮雕效果,可以使图像看起来更加有立体感。

  6. FIND_EDGES:检测边缘,可以将图像中的物体的轮廓取出。

  7. SHARPEN:对图像进行锐化处理,可以使图像看起来更加清晰。

通过使用ImageFilter类中的这些方法,可以对图像进行不同的处理,实现不同的效果。