我想知道是否可以使用python上的PIL模块对整个矩形进行模糊处理。我已经尝试过了一些事情,作为this post shows,您可以进行遮罩以隔离特定区域。在这篇文章中,他所做的与我想要的相反,但我没有找到解决方法。
这是我的代码,仅模糊矩形:
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFilter
# Open an image
im = Image.open('3055.png')
x1=810
y1=97
x2=1177
y2=992
# Create rectangle mask
mask = Image.new('L', im.size, 0)
draw = ImageDraw.Draw(mask)
draw.rectangle([ (x1,y1), (x2,y2) ], fill=255)
mask.save('mask.png')
# Blur image
blurred = im.filter(ImageFilter.GaussianBlur(52))
# Paste blurred region and save result
im.paste(blurred, mask=mask)
im.save("blurredImg.png")
图像:
总而言之,我只想让粉红色盒子的外部模糊而不是内部。
答案 0 :(得分:2)
谢谢。您的代码段对我有很大帮助。 在探查过程中,我发现了另一个解决方案,例如:
Active Choices Reactive Reference Parameter
答案 1 :(得分:1)
您可以使用以下代码替换代码的最后3行:
# Paste blurred region and save result
blurred.paste(im, mask=mask)
blurred.save("blurredImg.png")
使用蒙版有效地将原始图像粘贴在模糊的蒙版上,并保存结果。