手动创建泊松/散粒噪声

时间:2017-02-10 16:43:12

标签: c poisson noise-generator

我正在尝试理解并创建自己的泊松噪声发生器。我按照这里看到的代码示例:https://imagej.nih.gov/ij/plugins/download/Poisson_Noise.java

它产生泊松噪声,但我的理解是这种类型的噪声是由光子样本控制的,我在这里看不到任何地方。我也不了解如何控制噪音的强度。

这是我的代码版本:

  double L, p;
  int k, var=0;

  L = exp (-(float)(src(x,y,0)+src(x,y,1)+src(x,y,2))*0.333); // Red, green and blue channels averaged to one intensity (for now)
  k = 0;
  p = 1.0;

  do
    {
      k++;
      p *= ((float)rand () / (double) RAND_MAX);
    }
  while (p >= L);
  var = k - 1;

  pset(x,y,0, var);
  pset(x,y,1, var);
  pset(x,y,2, var);}

有人能指出我正确的方向吗?

谢谢!

0 个答案:

没有答案