首页 > 解决方案 > 高斯噪声不会应用于整个图像

问题描述

我正在尝试将高斯噪声应用于图像。

image = cv.imread("../../jap.png")
row,col,ch= image.shape
mean = 0
var = 200
sigma = var**0.5
gauss = np.random.normal(mean,sigma,(row,col,ch))
gauss = gauss.reshape(row,col,ch).astype('uint8')
gauss = (gauss - gauss.min())/(gauss.max()-gauss.min()).astype('uint8') *255
noisy = (image + gauss)

但在输出中,我得到的噪音只应用于背景。

输入 输出

标签: python-3.xopencv

解决方案


错误是因为它的裁剪值在 255。删除 astype('uint8') *255

row,col,ch= image.shape
mean = 0
var = 200
sigma = var**0.5
gauss = np.random.normal(mean,sigma,(row,col,ch))
gauss = gauss.reshape(row,col,ch).astype("uint8")
noisy = (noisy - noisy.min())/(noisy.max()-noisy.min())
noisy = (image + gauss)

推荐阅读