不规则多边形打马赛克

发布时间 2023-12-21 18:17:43作者: 不能说的秘密

import cv2
import numpy as np

读取原始图像

image = cv2.imread('original_image.jpg')

创建一个与原始图像大小相同的空白图像

mask = np.zeros_like(image)

定义不规则多边形的顶点坐标

vertices = np.array([[(100, 100), (200, 100), (250, 200), (150, 250), (50, 200)]], dtype=np.int32)

在空白图像上绘制不规则多边形

cv2.fillPoly(mask, vertices, (255, 255, 255))

对原始图像应用马赛克效果

blurred = cv2.blur(image, (15, 15))

将马赛克效果应用到原始图像的不规则多边形区域

result = np.where(mask != 0, blurred, image)

保存处理后的图像

cv2.imwrite('mosaic_image.jpg', result)