opencv图像特效之马赛克

import cv2
import numpy as np
img = cv2.imread("E:/code/conputer_visual/data/0.jpg", 1)
cv2.imshow("pre", img)
imginfo = img.shape
height = imginfo[0]
width = imginfo[1]
for m in range(100,150):
    for n in range(100,150):
        #选中一个元素替代10*10方框中的全部像素点
        if m%10 == 0 and n%10 == 0:
            for i in range(0,10):
                for j in range(0,10):
                    (b,g,r) = img[m,n]
                    img[i+m,j+n] = (b,g,r)
                    
cv2.imshow("dts", img)
cv2.waitKey()

在这里插入图片描述

原理: 将施加马赛克的区域中每个10x10像素框的像素值替换为该框的第一个像素值

猜你喜欢

转载自blog.csdn.net/cyj5201314/article/details/114645986