【问题标题】:Adding poisson noise to an image with specific mean.向具有特定均值的图像添加泊松噪声。
【发布时间】:2019-02-06 15:52:25
【问题描述】:

如何在 Matlab 中添加具有特定泊松分布均值的泊松噪声?下面的代码给了我一个完全白色的图像。

img = im2double(phantom(512));
figure; imshow(img)
mean = 1e9;
R = poissrnd(mean, [512, 512]);
J = img + R;
figure; imshow(J);

【问题讨论】:

    标签: matlab image-processing noise poisson


    【解决方案1】:

    通常,在向图像添加泊松噪声时,您希望使用像素值作为平均值(在适当缩放之后)。这将更接近地匹配图像采集中的泊松噪声。

    例如,假设您的图像(位于im2double 之后的 0-1 范围内)是在光子受限显微镜中采集的。假设缩放是这样的,一个像素上的 1e9 个光子表示为像素值 1。为了在这里模拟光子噪声,这个(无噪声)值为 1 的像素将具有(噪声)值 @ 987654323@。另一个值为 0.5 的像素的值为 poissrnd(1e9*0.5)/1e9

    在图像处理工具箱中有一个函数imnoise,它在如下调用时正是这样做的:

    img = imnoise(img,'poisson');
    

    此函数使用 1e12 的缩放比例。您想要 1e9 的缩放比例,因此您必须将图像除以 1e3:

    img = imnoise(img/1e3,'poisson')*1e3;
    

    【讨论】:

      【解决方案2】:

      你这样做的方式很好。您的平均值是 1000000000,因此数字非常非常大。

      但是要显示具有自动缩放颜色图的图像,请执行以下操作:

      img = im2double(phantom(512));
      figure; imshow(img,[])
      mean = 1e9;
      R = poissrnd(mean, [512, 512]);
      J = img + R;
      figure; imshow(J,[]);
      

      注意方括号。

      【讨论】:

      • 注意:我认为你只是在做任何你想做的事情。泊松分布是离散的,即它会给你整数,0,1,2,.... 但是你的图像是 [0-1],所以只有mean=1,嘈杂的图像将有 ~x10 的比例初始值。您可能希望将噪音添加为:J=img+R*0.1*img; 或类似的东西。
      猜你喜欢
      • 2013-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-24
      • 2013-02-13
      • 1970-01-01
      • 1970-01-01
      • 2014-07-01
      相关资源
      最近更新 更多