python實現給圖片添加高斯噪聲


import cv2
import numpy as np
 
def add_gaussian_noise(image_in, noise_sigma):
	"""
	給圖片添加高斯噪聲
	image_in:輸入圖片
	noise_sigma:
	"""
    temp_image = np.float64(np.copy(image_in))
 
    h, w, _ = temp_image.shape
    # 標準正態分佈*noise_sigma
    noise = np.random.randn(h, w) * noise_sigma
 
    noisy_image = np.zeros(temp_image.shape, np.float64)
    if len(temp_image.shape) == 2:
        noisy_image = temp_image + noise
    else:
        noisy_image[:,:,0] = temp_image[:,:,0] + noise
        noisy_image[:,:,1] = temp_image[:,:,1] + noise
        noisy_image[:,:,2] = temp_image[:,:,2] + noise
        
    return noisy_image
 
img_path = '0.png'
img = cv2.imread(img_path)
noise_sigma = 25
noise_img = add_gaussian_noise(img,noise_sigma=noise_sigma)
cv2.imwrite('noise_{}.png'.format(noise_sigma),noise_img)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章