PIL库的ImageFilter类和ImageEnhance类提供了过滤图像和增强图像的方法。
3.ImageFilter类
ImageFilter类共提供10种预定义图像过滤方法:
| 方法表示 | 描述 |
|---|---|
| ImageFilter.BLUR | 图像的模糊效果 |
| ImageFilter.CONTOUR | 图像的轮廓效果 |
| ImageFilter.DETAIL | 图像的细节效果 |
| ImageFilter.EDGE_ENHANCE | 图像的边界加强效果 |
| ImageFilter.EDGE_ENHANCE_MORE | 图像的阈值边界加强效果 |
| ImageFilter.EMBOSS | 图像的浮雕效果 |
| ImageFilter.SMOOTHL | 图像的平滑效果 |
| ImageFilter.FIND_EDGES | 图像的边界效果 |
| ImageFilter.SMOOTH_MORE | 图像的阈值平滑效果 |
| ImageFilter.SHARPEN | 图像的锐化效果 |
利用Image类的filter()方法可以使用ImageFilter类,使用方式如下:
Image.filter(ImageFilter.fuction)
例1:模糊效果
from PIL import Image
from PIL import ImageFilter
im = Image.open('村庄2.jfif')
om = im.filter(ImageFilter.BLUR)
om.save('aBLUR.jpg')
前面是生成图片,后面是原图,下同。

例2:轮廓效果
from PIL import Image
from PIL import ImageFilter
im = Image.open('村庄2.jfif')
om = im.filter(ImageFilter.CONTOUR)
om.save('aContour.jpg')

例3:细节效果
from PIL import Image
from PIL import ImageFilter
im = Image.open('村庄2.jfif')
om = im.filter(ImageFilter.DETAIL)
om.save('aDETAIL.jpg')

效果不明显
例4:边界加强效果
from PIL import Image
from PIL import ImageFilter
im = Image.open('村庄2.jfif')
om = im.filter(ImageFilter.EDGE_ENHANCE)
om.save('aEDGEENHANCE.jpg')

其他效果:
from PIL import Image
from PIL import ImageFilter
im = Image.open('村庄2.jfif')
om = im.filter(ImageFilter.EDGE_ENHANCE_MORE)#阈值边界加强效果
om.save('p//aEDGE_ENHANCE_MORE.jpg')
om2 = im.filter(ImageFilter.EMBOSS)#浮雕效果
om2.save('p//aEMBOSS.jpg')
om3 = im.filter(ImageFilter.FIND_EDGES)#边界效果
om3.save('p//aFIND_EDGES.jpg')
om4 = im.filter(ImageFilter.SMOOTH)#平滑效果
om4.save('p//aSMOOTH.jpg')
om5 = im.filter(ImageFilter.SMOOTH_MORE)#阈值平滑效果
om5.save('p//aSMOOTH_MORE.jpg')
om6 = im.filter(ImageFilter.SHARPEN)#锐化效果
om6.save('p//aSHARPEN.jpg')
阈值边界加强效果和浮雕效果

边界效果和锐化效果

平滑效果和阈值平滑效果:

4.ImageEnhance类
ImageEnhance类提供了更高级的图像增强功能,如调整色彩度、亮度、对比度、锐化等。
| 方法 | 描述 |
|---|---|
| ImageEnhance.enhance(factor) | 对选择属性的数值增强factor倍 |
| ImageEnhance.Color(im) | 调整图像的颜色平衡 |
| ImageEnhance.Contrast(im) | 调整图像的对比度 |
| ImageEnhance.Brightness(im) | 调整图像的亮度 |
| ImageEnhance.Sharpness(im) | 调整图像的锐度 |
例:增强图像对比度
from PIL import Image
from PIL import ImageEnhance
im = Image.open('村庄2.jfif')
om = ImageEnhance.Contrast(im)
om.enhance(20).save('aEnContrast.jpg')

from PIL import Image
from PIL import ImageEnhance
im = Image.open('村庄2.jfif')
om2 = ImageEnhance.Brightness(im)#调整亮度
om2.enhance(2).save('ImageEnhance//aBrightness.jpg')
亮度增强2倍

from PIL import Image
from PIL import ImageEnhance
im = Image.open('村庄2.jfif')
om3 = ImageEnhance.Color(im)#调整颜色平衡
om3.enhance(2).save('ImageEnhance//aColor.jpg')
om4 = ImageEnhance.Sharpness(im)#调整锐度
om4.enhance(2).save('ImageEnhance//aSharpness.jpg')
颜色增强2倍和锐化增强2倍




















