2

基本上我有:

sourceImage = im2double(imread(srcPath));

noiseImage = imnoise(sourceImage,'poisson');

问题是 sourceImage 和 noiseImage 看起来都差不多。

确实,如果我这样做

norm(sourceImage - noiseImage)

我明白1.4810e-05了(这似乎差异太小)

我做错了吗?

4

1 回答 1

1

我相信有两种方法可以处理您的问题,基于对imnoise泊松分布的描述(我将其称为p):

1)将描述的图像保持srcPath在整数域中

2)手动放大和缩小图像,请参阅http://www.mathworks.com/matlabcentral/newsreader/view_thread/242444

案例 1) 的原因是它p不缩放整数值。但是,当使用双打时,p假设它们按 1e12 缩放,但您的情况并非如此。打个比方,这就像在 [0, 1] 范围内截断双精度,并期望得到不同于 0 或 1 的整数。

于 2012-12-07T23:07:04.453 回答