在Pillow中实现图像的频域滤波,可以使用ImageFilter模块中的Kernel类来定义滤波核,然后通过ImageFilter模块中的Convolution类来应用滤波核进行频域滤波。
下面是一个示例代码,演示如何在Pillow中实现图像的频域滤波:
from PIL import Image, ImageFilter # 打开图像文件 img = Image.open('input.jpg') # 定义一个3x3的高通滤波核 kernel = ImageFilter.Kernel((3, 3), [0, -1, 0, -1, 5, -1, 0, -1, 0], scale=None) # 应用滤波核进行频域滤波 filtered_img = img.filter(kernel) # 保存滤波后的图像 filtered_img.save('output.jpg')
在上述示例中,我们首先打开一个图像文件,然后定义一个3x3的高通滤波核,通过filter()方法应用该滤波核进行频域滤波,最后保存滤波后的图像。您可以根据需要自定义不同的滤波核来实现不同的频域滤波效果。