核心思想
椒盐噪声是一种随机出现的白点或者黑点,即把像素随机置0或255,直接看代码吧。
代码
import cv2
import numpy as np
import random
def Spnoise_func(image,prob=0.05):
'''
添加椒盐噪声
prob:噪声比例
'''
output = image.copy()
thres = 1 - prob
for i in range(image.shape[0]):
for j in range(image.shape[1]):
rdn = random.random()
if rdn < prob:
output[i][j] = 0
elif rdn > thres:
output[i][j] = 255
return output
def nothing(pp):
pass
if __name__ == '__main__':
img = cv2.imread("apple.png")
#创建预览界面
cv2.namedWindow("Preview")
cv2.createTrackbar("Prob","Preview",0,10,nothing)
while(1):
Prob = cv2.getTrackbarPos("Prob","Preview")
img_r = Spnoise_func(img,Prob/100)
cv2.imshow("Result",img_r)
k = cv2.waitKey(1) & 0xff
if k == 27:
break
cv2.destroyAllWindows()