我正在尝试理解并创建自己的泊松噪声发生器。我按照这里看到的代码示例: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);}
有人能指出我正确的方向吗?
谢谢!