您现在的位置是:首页 >其他 >通过Python的PIL库进行图像的过滤网站首页其他

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

空空star 2023-05-31 04:00:03
简介通过Python的PIL库进行图像的过滤


前言

大家好,我是空空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类中的这些方法,可以对图像进行不同的处理,实现不同的效果。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。