1、Pillow(PIL)的安装及常用操作
参数文档:Python Pillow(PIL)安装及Image 类的使用
2、ImageFilter
ImageFilter 类可以达到图像降噪的目的,集成了不同种类的滤波器,通过调用它们从而实现图像的平滑、锐化、边界增强等图像降噪操作。
1)图像降噪滤波器
名称 | 说明 |
ImageFilter.BLUR | 模糊滤波,即均值滤波 |
ImageFilter.CONTOUR | 轮廓滤波,寻找图像轮廓信息 |
ImageFilter.DETAIL | 细节滤波,使得图像显示更加精细 |
ImageFilter.FIND_EDGES | 寻找边界滤波(找寻图像的边界信息) |
ImageFilter.EMBOSS | 浮雕滤波,以浮雕图的形式显示图像 |
ImageFilter.EDGE_ENHANCE | 边界增强滤波 |
ImageFilter.EDGE_ENHANCE_MORE | 深度边缘增强滤波 |
ImageFilter.SMOOTH | 平滑滤波 |
ImageFilter.SMOOTH_MORE | 深度平滑滤波 |
ImageFilter.SHARPEN | 锐化滤波 |
ImageFilter.GaussianBlur() | 高斯模糊 |
ImageFilter.UnsharpMask() | 反锐化掩码滤波 |
ImageFilter.Kernel() | 卷积核滤波 |
ImageFilter.MinFilter(size) | 最小值滤波器,从 size 参数指定的区域中选择最小像素值,然后将其存储至输出图像中。 |
ImageFilter.MedianFilter(size) | 中值滤波器,从 size 参数指定的区域中选择中值像素值,然后将其存储至输出图像中。 |
ImageFilter.MaxFilter(size) | 最大值滤波器 |
ImageFilter.ModeFilter() | 模式滤波 |
2)使用示例
from PIL import Image, ImageFilter
img = Image.open(r"D:\cjavapy.jpg")
im_ft = img.filter(ImageFilter.EMBOSS) # 添加浮雕滤波器,相当于PS里面添加的滤镜
im_ft.show()
3、ImageColor
ImageColor模块支持不同格式的颜色,比如 RGB 格式的颜色三元组、十六进制的颜色名称(#ff0000
)以及颜色英文单词。还有 HSL (色调-饱和度-明度)、HSB (又称 HSV,色调-饱和度-亮度)色彩模式。HSL分别为:
H:即 Hue 色调,取值范围 0 -360,其中 0 表示“red”,120 表示 “green”,240 表示“blue”。
S:即 Saturation 饱和度,代表色彩的纯度,取值 0~100%,其中 0 代表灰色(gry),100% 表示色光最饱和。
L:即 Lightness 明度,取值为 0~100%,其中 0 表示“black”黑色,50% 表示正常颜色,100% 则表示白色。
ImageColor 模块包括getrgb()
和 getcolor()
,如下,
from PIL import Image, ImageColor
"""
getrgb(color)
参数color为上述支持的颜色字符串
"""
im = Image.new(mode="RGB", size=(100, 100), color=ImageColor.getrgb('HSL(0,100%,50%)'))
im.show()
"""
参数:
color:一个颜色名称,字符串格式,可以是颜色的英文单词,或者十六进制颜色名。如果是不支持的颜色,会报 ValueError 错误
mode:指定色彩模式,如果是不支持的模式,会报 KeyError 错误
"""
print(ImageColor.getcolor("red","RGBA")) #(255, 0, 0, 255)
print(ImageColor.getcolor("red","P")) #(255, 0, 0)
print(ImageColor.getcolor("red","L")) #76
print(ImageColor.getcolor("red","1")) #76
相关文档: