基本的に私は持っています:
sourceImage = im2double(imread(srcPath));
noiseImage = imnoise(sourceImage,'poisson');
問題は、sourceImageとnoiseImageの両方がかなり同じに見えることです。
確かに私がそうするなら
norm(sourceImage - noiseImage)
私は得ます1.4810e-05(これはあまりにも低い違いのようです)
私はそれを間違っていますか?
基本的に私は持っています:
sourceImage = im2double(imread(srcPath));
noiseImage = imnoise(sourceImage,'poisson');
問題は、sourceImageとnoiseImageの両方がかなり同じに見えることです。
確かに私がそうするなら
norm(sourceImage - noiseImage)
私は得ます1.4810e-05(これはあまりにも低い違いのようです)
私はそれを間違っていますか?
ポアソン分布の独自の説明に基づいて、問題を処理する方法は2つあると思いますimnoise(これをと呼びますp)。
1)で記述された画像srcPathを整数領域で保持します
2)画像を手動でアップスケールおよびダウンスケールします。http://www.mathworks.com/matlabcentral/newsreader/view_thread/242444を参照してください。
ケース1)の理由は、p整数値をスケーリングしないためです。ただし、doubleを使用pする場合は、1e12でスケーリングされていると想定しますが、実際にはそうではありません。類推として、それは[0、1]の範囲のdoubleを切り捨てるようなものであり、0または1とは異なる整数を取得することを期待します。