用周围随机一个点来替换当前的像素点
import cv2
import numpy as np
import random
img = cv2.imread('image0.jpg',1)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]
dst = np.zeros((height,width,3),np.uint8)
mm = 8 #定义随机选取元素的范围,水平和竖直都可能是8
for m in range(0,height-mm): #防止当前矩阵越界
for n in range(0,width-mm):
index = int(random.random()*8)#random()产生的是0-1,乘以8就是:随机数 0-8 产生
(b,g,r) = img[m+index,n+index]
dst[m,n] = (b,g,r)
cv2.imshow('dst',dst)
cv2.waitKey(0)
下图黑色边框出现的原因:
无论我宽度信息或者宽度信息都减去了mm的值,所以在最边边的8个像素值,并没有对其进行操作,没操作时,最原始填充的是0,所以黑色
image.png















网友评论