【问题标题】:Image Poisson Noise on image in double precision (shot noise) [duplicate]双精度图像上的图像泊松噪声(散粒噪声)[重复]
【发布时间】:2013-02-13 14:30:15
【问题描述】:

我正在尝试以双精度向图像添加泊松噪声。我愿意:

I = im2double(imread('mypic.tif')); % mypic.tif is already in the range 0...1 in double precision
J = imnoise(I,'poisson');
imshow(I),figure,imshow(J);

我看到IJ 都差不多。我做错了什么?
请注意,我确实知道 imnoise 将值缩放 1e-12 但真诚地我不明白如何正确使用它。

我在想我可以使用poissrnd() 手动添加噪音以绕过imnoise

关于缩放我使用的是code like this

maxValue = max(I(:));

% This is necessary based on imnoise behaviour
I = I * 10e-12;

% Generate noisy image and scale back to the original intensities. 
J = maxValue * imnoise(I, 'poisson'); 

但它返回的图像几乎是全黑的。

【问题讨论】:

  • 请记住,绝大多数图像的每个通道都有 8 位深度(红色、蓝色、绿色、灰色等),这意味着 256 个不同的值,即使映射到 0..1 .为了使像素有所不同,噪声阈值必须> 1/256 ~= 4e-3。如果您的泊松源真的缩放到 1e-12,那方式低于阈值...

标签: matlab noise poisson


【解决方案1】:

正如链接所说,这是一个大数字问题。

尝试使用较小的比例:

I = im2double(imread('eight.tif')); %Matlab default image
scale = 1e9;
J = scale * imnoise(I/scale, 'poisson'); 
close all; imshow(J);

输入:

输出(1e9):

输出(1e10):

【讨论】:

  • 关于这个的文档非常模糊。无论如何,谢谢,我会尝试
  • 现在开始工作了!但是,你能解释一下吗?为什么我们需要按比例划分图像?
  • 按这个因子缩放它会使噪点达到对图像有一定影响的水平,请参阅@twalberg 的评论
  • 我明白了。我有什么方法可以根据我的图像计算出正确的比例因子吗?
猜你喜欢
  • 2013-10-17
  • 1970-01-01
  • 1970-01-01
  • 2013-10-24
  • 1970-01-01
  • 1970-01-01
  • 2019-02-06
  • 2011-01-27
相关资源
最近更新 更多