from PIL import Image, ImageFilter im = Image.open(r"linuxidc.com.png") gbF = im.filter(ImageFilter.GaussianBlur(radius=10)) gbF.show()
①radius:模糊半径
效果图:
12.UnsharpMask:反锐化掩码滤波
from PIL import Image, ImageFilter im = Image.open(r"linuxidc.com.png") umF = im.filter(ImageFilter.UnsharpMask(radius=2, percent=150, threshold=3)) umF.show()
①radius:模糊半径
②percent:反锐化强度(百分比)
③threshold:被锐化的最小亮度
效果图:
13.Kernel:卷积核滤波
from PIL import Image, ImageFilter im = Image.open(r"linuxidc.com.png") kF = im.filter(ImageFilter.Kernel((3, 3), (1, 2, 2, 2, 0, 0, 1, 2, 2), scale=None, offset=10)) kF.show()
①size:核的大小(width, height)
②kernel:核权值序列如3*3的为(1, 2, 2, 2, 0, 0, 1, 2, 2)
③scale:缩放因子
④offset:偏移量(使用的话,则将该值加到缩放后的结果上)
效果图:
14.RankFilter:排序滤波
对于输入图像的每个像素点,等级滤波器根据像素值,在(size,size)的区域中对所有像素点进行排序,然后拷贝对应等级的值存储到输出图像中
from PIL import Image, ImageFilter im = Image.open(r"linuxidc.com.png") rfF = im.filter(ImageFilter.RankFilter(5, 8)) rfF.show()
①size:核的大小(width, height)
②rank:如例子,在每个像素点为中心的5x5区域25个像素点中选择排序第8位的像素作为新的值
效果图:
15.MinFilter:最小值滤波器
对于输入图像的每个像素点,该滤波器从(size,size)的区域中拷贝最小的像素值存储到输出图像中
from PIL import Image, ImageFilter im = Image.open(r"linuxidc.com.png") minF = im.filter(ImageFilter.MinFilter(5)) minF.show()
①size:核的大小(size=N)
效果图:
16.MedianFilter:中值滤波
对于输入图像的每个像素点,该滤波器从(size,size)的区域中拷贝中值对应的像素值存储到输出图像中
from PIL import Image, ImageFilter im = Image.open(r"linuxidc.com.png") medF = im.filter(ImageFilter.MedianFilter(5)) medF.show()
①size:核的大小(size=N)
效果图:
17.MaxFilter:最大值滤波
对于输入图像的每个像素点,该滤波器从(size,size)的区域中拷贝最大的像素值存储到输出图像中
from PIL import Image, ImageFilter im = Image.open(r"linuxidc.com.png") maxF = im.filter(ImageFilter.MaxFilter(5)) maxF.show()
①size:核的大小(size=N)
效果图:
18.ModeFilter:模式滤波
对于输入图像的每个像素点,该滤波器从(size,size)的区域中拷贝出现次数最多的像素值存储到输出图像中。如果没有一个像素值出现过两次极其以上,则使用原始像素值。
from PIL import Image, ImageFilter im = Image.open(r"linuxidc.com.png") modF = im.filter(ImageFilter.ModeFilter(5)) modF.show()
①size:核的大小(size=N)