我正在嘗試向圖像添加高斯噪聲(“pepper.jpg”)。它有效,如結果所示(“noisy Pepper.png”);但噪音并沒有覆蓋“辣椒”,它就在它周圍。我在應用噪音時缺少什么嗎?任何意見,將不勝感激。import cv2import numpy as npimg = cv2.imread("pepper.jpg",0)row, col = img.shapemean = 0var = 0.3sigma = var ** 0.5gauss = np.random.normal(mean, sigma, (row, col))gauss = gauss.reshape(row, col)noisyp = gauss + imgnoisyp = noisyp.astype('uint8')cv2.imwrite('noisy pepper.png', noisyp)
1 回答

搖曳的薔薇
TA貢獻1793條經驗 獲得超6個贊
您轉換為uint8并不復雜。這是您要尋找的內容:
import cv2
import numpy as np
def convert_to_uint8(image_in):
temp_image = np.float64(np.copy(image_in))
cv2.normalize(temp_image, temp_image, 0, 255, cv2.NORM_MINMAX, dtype=-1)
return temp_image.astype(np.uint8)
img = cv2.imread("pepper.jpg", 0)
row, col = img.shape
mean = 0
var = 0.3
sigma = var ** 0.5
gauss = np.random.normal(mean, sigma, (row, col))
gauss = gauss.reshape(row, col)
noisy_pepper = gauss + img
cv2.imwrite('noisy pepper.png', convert_to_uint8(noisy_pepper))
當然,巫婆這樣的西格瑪你是不會看到噪音的。請看一下這個(sigma 將在 14 左右):
..
var = 200
sigma = var ** 0.5
..
添加回答
舉報
0/150
提交
取消