如何使用numpy在Python的灰度图像中添加泊松噪声?

时间:2019-09-22 12:40:16

标签: python numpy pytorch noise-generator

我正在尝试使用numpy作为Pytorch转换器来实现将Poisson噪声添加到灰度图像上,但是到目前为止,我的结果非常令人失望。这是我的各种实现方式,其结果范围从看不到可见变化到只看到没有图像的噪声。正确的方法是什么?

class Noise(object):
  def __init__(self, noise_type):
    self.noise_type = noise_type

  def __call__(self, sample):
    noise = np.random.poisson(1, sample.shape)
    return sample + noise

但是据我所知,泊松噪声不能简单地添加到图像中,这就是为什么我在这里看到的只是没有原始灰度图像的噪声(类似于电视静态图像)。

以下版本的代码不会在图像中产生可见的变化,这使我相信这是某种缩放问题,因为在泊松噪声中,噪声是相对于像素值添加的。

vals = len(np.unique(sample))
vals = 2 ** np.ceil(np.log2(vals))
noisy = np.random.poisson(sample * vals) / float(vals)
return noisy

任何帮助或见识将不胜感激。

0 个答案:

没有答案