| 查看: 5115 | 回复: 3 | |||
[求助]
如何给图像加一个大小可控的泊松噪声 已有1人参与
|
|
如题,请教高手 matlab中用imnoise产生的poisson噪声,但噪声大小由输入图像自动生成,不可控制。 我想要可由参数控制的poisson噪声,从未产生含噪图像,用于图像降噪。 谢谢大家了 |
» 猜你喜欢
溴的反应液脱色
已经有5人回复
国自然申请面上模板最新2026版出了吗?
已经有8人回复
纳米粒子粒径的测量
已经有7人回复
常年博士招收(双一流,工科)
已经有4人回复
推荐一本书
已经有10人回复
参与限项
已经有5人回复
有没有人能给点建议
已经有5人回复
假如你的研究生提出不合理要求
已经有12人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
feixiaolin
荣誉版主 (文坛精英)
-

专家经验: +518 - 信息EPI: 3
- 应助: 942 (博后)
- 贵宾: 1.275
- 金币: 3430
- 散金: 58785
- 红花: 532
- 沙发: 11
- 帖子: 24215
- 在线: 2601.8小时
- 虫号: 2139575
- 注册: 2012-11-21
- 专业: 光学信息获取与处理
- 管辖: 数学
2楼2014-04-16 21:34:01
3楼2017-07-17 10:35:46
|
图像泊松噪声是没法控制大小的,泊松噪声是和你图像亮度挂钩的,图像越亮,泊松噪声就近似高斯分布了,图像越暗,其影响越严重,因此单论一张图来说,控制其泊松噪声的大小是没有意义的。 如果你非要改变泊松噪声,可以有如下代码 function [ b ] = poisson_fun( a,lamda ) sizeA = size(a); a = double(a( );% (Monte-Carlo Rejection Method) Ref. Numerical % Recipes in C, 2nd Edition, Press, Teukolsky, % Vetterling, Flannery (Cambridge Press) b = zeros(size(a),'like', a); idx1 = find(a<50); % Cases where pixel intensities are less than 50 units if (~isempty(idx1)) g = exp(-a(idx1)*lamda); em = -ones(size(g)); t = ones(size(g)); idx2 = (1:length(idx1))'; while ~isempty(idx2) em(idx2) = em(idx2) + 1; t(idx2) = t(idx2) .* rand(size(idx2)); idx2 = idx2(t(idx2) > g(idx2)); end b(idx1) = em; end % For large pixel intensities the Poisson pdf becomes % very similar to a Gaussian pdf of mean and of variance % equal to the local pixel intensities. Ref. Mathematical Methods % of Physics, 2nd Edition, Mathews, Walker (Addison Wesley) idx1 = find(a >= 50); % Cases where pixel intensities are at least 50 units if (~isempty(idx1)) b(idx1) = round(a(idx1) + sqrt(lamda*a(idx1)) .* randn(size(idx1))); end b =uint8(reshape(b,sizeA)); end |

4楼2018-05-02 11:19:26












回复此楼
);