今天在这里给大家分享一下,图片中马赛克的形成。
在生活中,有马赛克的图片很常见,特别是一些采访犯罪分子的时候。当时你有没有想过马赛克是怎样生成的的?
马赛克的的原理也比较简单,实现过程基本上可以分为一下几个步骤:
- 选中需要生成马赛克的目标区域
- 将目标区域分成许多区域(为了好看,一般尽可能多,太多了也是不行的,而且大小尽量相等)
- 在每一区域中,随机选择一个像素点,用该像素点代替该区域中的所有像素点
像素点的选择可以随意,例如自己给定。
下面是python代码实现
import cv2 as cv
import numpy as np
img = cv.imread('2.jpg',1)
imginfo = img.shape
height = imginfo[0]
width = imginfo[1]
dst = np.zeros((height,width,3),np.uint8)
for i in range(100,200,10): #生产马赛克的目标区域
for j in range(200,250,10):
#if j%10==0 and i%10 == 0:
for m in range(0,10): #区域大小为 10 * 10
for n in range(0,10):
img[i+m,j+n] = img[i,j] #用该区域的第一个像素点替换掉其他的像素点
cv.imshow('aa',img)
cv.waitKey(0)
thank for your time!!