我一直在尝试使用PIL对图像进行模糊处理。
据我所知,需要复制图像,然后将每个像素更改为原始图片周围像素的平均值。目前进展不算太好,我正在使用Python 3.3x。
from PIL import Image
img = Image.open("source")
im = Image.copy(img)
我知道如何使用putpixel和获取像素数据,但是我无法弄清楚如何获取周围像素的平均值。
提前感谢您的帮助!
我一直在尝试使用PIL对图像进行模糊处理。
据我所知,需要复制图像,然后将每个像素更改为原始图片周围像素的平均值。目前进展不算太好,我正在使用Python 3.3x。
from PIL import Image
img = Image.open("source")
im = Image.copy(img)
我知道如何使用putpixel和获取像素数据,但是我无法弄清楚如何获取周围像素的平均值。
提前感谢您的帮助!
您可以直接执行:
blurred_image = original_image.filter(ImageFilter.BLUR)
请查看ImageFilter模块以获取更多选项。
您所描述的过程确实会使图像模糊,而且有些滤镜直接执行您建议的操作(例如,使用ImageFilter.Kernel
方法,其中您的卷积核具有恒定的权重)。不过,使用ImageFilter
将更快捷、更容易,并为您提供更多模糊及其他选项。
blurred_image.show()
并尝试保存时,它会被保存为位图文件 (.BMP)。我该如何将其更改为 png 或 jpg 格式? - David Gshow()
使用一个单独的实用程序来显示图像,并且你只能使用它内置的功能。你应该直接使用save()
而不是show()
,让PIL保存文件。 - undefined