【发布时间】:2015-10-28 08:45:03
【问题描述】:
让我们定义:
“百分比噪声”数字表示高斯白噪声的标准偏差与整个图像的信号的百分比。
假设我有一张大脑图像,我想通过 Matlab 代码向整个图像(组织)添加 5% 高斯噪声:
I=imread('brain91.png'); I=rgb2gray(I);I=double(I);
I = I - min(I(:));
I = I / max(I(:));
%// Add noise to image
v = 0.05*var(I(:));
I_noisy = imnoise(I, 'gaussian', 0, v);
I_noisy=255.*I_noisy;
subplot(121);imshow(I,[]);subplot(122);imshow(I_noisy,[])
该图显示了原始图像(左侧)和右侧的噪声图像。您认为我的实现对于上述定义是否正确? - (约 5% 的高斯噪声 by set v = 0.05*var(I(:)))
【问题讨论】:
-
既然标准差是方差的平方根,那不应该是
v = 0.05^2 * var(I(:))吗? -
感谢 dasdingonesin,这真的很好。但是,我不确定。需要有人验证。但我认为 var 函数返回图像的变化和句子 5% 这意味着增加 5% 的变化,而不是 sqrt 的变化
标签: matlab image-processing noise