1

我正在尝试使用numpy作为Pytorch变压器将泊松噪声添加到灰度图像中,但到目前为止我的结果非常令人失望。这是我的各种实现,结果从看不到可见的变化到只看到没有图像的噪声。这样做的正确方法是什么?

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

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

4

0 回答 0