【问题标题】:Gaussian noise is not covering the main image-Python高斯噪声没有覆盖主图像-Python
【发布时间】:2018-12-11 18:04:38
【问题描述】:

我正在尝试将高斯噪声添加到图像(“pepper.jpg”)。它有效,如结果所示(“noisy pepper.png”);但噪音并没有覆盖“辣椒”,而是在它周围。应用噪音时我缺少什么吗? 任何建议将不胜感激。

import cv2
import numpy as np

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)
noisyp = gauss + img
noisyp = noisyp.astype('uint8')
cv2.imwrite('noisy pepper.png', noisyp)

问候, 贝鲁兹

【问题讨论】:

    标签: python computer-vision gaussian


    【解决方案1】:

    您到 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 这样的女巫,你不会看到噪音。请看一下这个(sigma 将在 14 左右):

    ..
    var = 200
    sigma = var ** 0.5
    ..
    

    【讨论】:

    • 谢谢你,大卫。感谢您的帮助。
    猜你喜欢
    • 2016-02-07
    • 2022-01-20
    • 1970-01-01
    • 2019-07-03
    • 2012-03-27
    • 1970-01-01
    • 2014-08-26
    • 2016-08-17
    • 2017-09-01
    相关资源
    最近更新 更多