🎨 图片马赛克工具

📋 功能说明
  • 鼠标点击添加马赛克效果
  • 可调节马赛克大小
  • 实时预览处理结果
💻 源代码
import cv2

# 加载图片
image = cv2.imread("./photo.jpg")
cv2.namedWindow('image')

def draw_mosaic(event, x, y, flags, param):
    """鼠标回调函数"""
    if event == cv2.EVENT_LBUTTONDOWN:
        # 点击处添加马赛克
        apply_mosaic(x, y, size=20)

def apply_mosaic(x, y, size=20):
    """应用马赛克效果"""
    for i in range(size):
        for j in range(size):
            if 0 <= x+i < image.shape[0] and 0 <= y+j < image.shape[1]:
                image[x+i][y+j] = image[x][y]

# 设置鼠标回调
cv2.setMouseCallback('image', draw_mosaic)

# 显示窗口
while True:
    cv2.imshow('image', image)
    if cv2.waitKey(20) & 0xFF == 27:  # ESC退出
        break

cv2.destroyAllWindows()
📦 运行环境
pip install opencv-python
操作说明
  • 鼠标左键: 点击添加马赛克
  • size: 马赛克块大小
  • ESC: 退出程序