开始之前确保有安装python opencv
没有的话:
pip3 install opencv-contrib-python3.4.1.15
pip3 install opency-python3.4.1.15
pip3 install numpy
"""
添加高斯噪声Gauss Noise
"""
import cv2 as cv
import numpy as np
def gauss_noise(img,sigma):
temp_img = np.float64(np.copy(img))
h = temp_img.shape[0]
w = temp_img.shape[1]
noise = np.random.randn(h,w) * sigma
noisy_img = np.zeros(temp_img.shape, np.float64)
if len(temp_img.shape) == 2:
noisy_img = temp_img + noise
else:
noisy_img[:,:,0] = temp_img[:,:,0] + noise
noisy_img[:,:,1] = temp_img[:,:,1] + noise
noisy_img[:,:,2] = temp_img[:,:,2] + noise
# noisy_img = noisy_img.astype(np.uint8)
return noisy_img
filename = '1.jpg'
img = cv.imread(filename)
sigma = 500
noisy_img = gauss_noise(img, sigma)
cv.imwrite('noise_{}.jpg'.format(sigma), noisy_img)
noisy_img = noisy_img.astype(np.uint8 )###重要,不然显示的是裁剪部分,即噪声部分
#cv.imshow('noisy_img', noisy_img)
#cv.waitKey()
#cv.destroyAllWindows()