首页 文章

高斯噪声不包括主图像-Python

提问于
浏览
1

我正在尝试将高斯噪声添加到图像中(“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)

此致,Behrouz

1 回答

  • 0

    你转换为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
    ..
    

相关问题