如何在Matlab中正确在CT正弦图上添加泊松噪声。

时间:2018-08-31 18:23:21

标签: matlab

theta = linspace(0,360,900);
img = im2double(phantom(512));
figure; imshow(img)
c = radon(img, theta);
c = imnoise(c, 'poisson');
figure;imshow(c,[]);
c = iradon(c, theta);
figure; imshow(c);

我想将泊松噪声添加到幻像中。我对图像进行radon变换,然后使用imnoise()将噪声添加到正弦图中,然后进行逆radon变换。但是我无法通过imnoise()获得正确的嘈杂正弦图。

1 个答案:

答案 0 :(得分:0)

imnoise与泊松统计一起使用时,存在一定的比例因子。 根据Matlab的文档:

“如果I为双精度,则将输入像素值解释为按1e12放大的泊松分布的平均值。例如,如果输入像素的值为5.5e-12,则相应的输出像素将由均值为5.5的泊松分布生成,然后按比例缩小1e12。“

尝试

 c = 1e12.*imnoise(c./1e12, 'poisson');