马赛克的原理,即将对应需马赛克处理区域内的像素,按小方块划分,将每一块小方块内不同颜色的像素使用同一颜色进行替代。
代码如下:
import cv2
import numpy as np
img = cv2.imread('test.png',1)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]
for m in range(100,200):
for n in range(0,200):
if m%10 == 0 and n%10 == 0: # 将10 * 10的方格内的像素颜色,设置与[m,n]点颜色相同
for i in range(10):
for j in range(10):
(b,g,r) = img[m,n]
img[i+m,j+n] = (b,g,r)
cv2.imshow('image',img)
cv2.waitKey(0)
效果如下,可以看到红框你的区域已经变成了马赛克