python快速实现图片的马赛克化
原图:
python实现马赛克化效果图 :
马赛克的来源:
马赛克一词源于古希腊语的mosaïkos,意为“摩西的作品”。摩西是一位古代犹太领袖和先知,据说他在圣殿中使用了小块彩色石块来装饰地板。这种装饰方式后来被称为马赛克。马赛克在古希腊和罗马时期广泛使用,用于装饰建筑物、浴室、庭院等。它由小块石材、玻璃、陶瓷或其他材料组成,通过粘合剂固定在表面上,形成各种图案和图像。马赛克在艺术和建筑领域一直被广泛使用,成为一种独特而美丽的装饰形式。
马赛克图片:
马赛克图片是一种由小块像素组成的图像。它通过将原始图像分割成许多小方块或像素,并使用不同颜色或灰度值填充每个小方块来创建。这些小方块可以是正方形、长方形或其他形状,它们的颜色或灰度值根据原始图像的颜色或灰度值来确定。当这些小方块组合在一起时,它们形成了一个整体的图像,就像拼图一样。马赛克图片常用于保护隐私,对敏感信息进行模糊处理,或者用于艺术创作和装饰。
完整代码:
条件:pip install PIL
from PIL import Image
def add_mosaic(image_path, block_size, pixelate_factor):
# 打开图像
image = Image.open(image_path)
# 计算图像的宽度和高度
width, height = image.size
# 计算马赛克块的数量
num_blocks_width = width // block_size
num_blocks_height = height // block_size
# 缩小图像,创建马赛克效果
small_image = image.resize((num_blocks_width, num_blocks_height))
# 放大图像,增加马赛克强度
mosaic_image = small_image.resize((width // pixelate_factor, height // pixelate_factor), Image.NEAREST)
mosaic_image = mosaic_image.resize((width, height), Image.NEAREST)
# 保存马赛克图像
mosaic_image.save("test/mskcat.png" )
print("马赛克图像已保存在" + image_path)
# 调用函数添加马赛克
add_mosaic("test/cat.png", 10, 5)