毛玻璃效果与马赛克效果类似,而毛玻璃是随机采用像素替换。这里我们定义了一个8的范围,然后遍历,取随机数。为了防止m正好是整个图片的最后一个点,所以height,width都减去8以免超出范围。
import cv2
import numpy as np
import random
img = cv2.imread('image_color.jpg',1)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]
dst = np.zeros((height,width,3),np.uint8)
mm = 8
for m in range(0,height-mm):
for n in range(0,width-mm):
index = int(random.random()*8)
(b,g,r) = img[m+index,n+index]
dst[m,n] = (b,g,r)
cv2.imshow('dst',dst)
cv2.waitKey(0)
结果: