马赛克是一种用小块相同颜色的像素来覆盖图像的特定区域,以实现模糊和隐藏的效果。
步骤
- 读取图片,将其转化为像素矩阵。
- 选取需要加马赛克的部分,将该部分的每个像素值替换为周围像素的平均值。
- 将修改后的像素矩阵重新转化为图片。
- 保存加了马赛克的图片。
from PIL import Image, ImageFilter
image = Image.open("input_image.jpg")
mosaic_area = (100, 100, 300, 300)
mosaic_region = image.crop(mosaic_area)
mosaic_region = mosaic_region.resize((10, 10), resample=Image.BILINEAR)
mosaic_region = mosaic_region.resize((mosaic_area[2] - mosaic_area[0], mosaic_area[3] - mosaic_area[1]), resample=Image.NEAREST)
image.paste(mosaic_region, mosaic_area)
image.save("mosaic_image.jpg")
image.show()