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

2024-03-28 22:15:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用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

任何帮助或见解都将不胜感激。你知道吗


Tags: sample图像selfreturndeftypenprandom