python-3.x - 高斯噪声不会应用于整个图像

标签 python-3.x opencv

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

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)

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

Input Output

最佳答案

错误是因为它的裁剪值是 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)

关于python-3.x - 高斯噪声不会应用于整个图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61683643/

相关文章:

python - 如何将空参数传递给python函数?

python - Python 2.x 和 Python 3.x 的脚本不兼容

python-3.x - sklearn 中的 K 最近邻 - ValueError : query data dimension must match training data dimension

python - opencv python错误:断言失败:size.width> 0 && size.height> 0

python - Python 中的自定义格式化程序无法处理格式化的日志消息

python-3.x - 重复的日志 Flask - Google Cloud Logging

opencv - 如何使用 opencv 使用点列表切割图像

javascript - 如何将 OpenCV 包含到 javascript 项目中?

python - 为什么我不能创建图像并将其设置为 OpenCV 中的背景?

python - 我想用 openCv 从图像中删除模糊的黑色边框