【发布时间】:2016-08-17 19:02:35
【问题描述】:
目标是向图像添加均值为零且方差为 400 的加性高斯噪声。
例如,如果我想添加均值为零且方差为 0.5 的加性高斯噪声,我可以使用以下两种方法之一:
1) Matlab中的imnoise命令:
Noisyimg=imnoise(I,'gaussian',0,0.5)
我的图像在哪里 其中添加了噪声,Noisyimg 是噪声图像。
2) 创建一个取自正态分布的随机数矩阵 使用 randn 指定平均值和标准差 命令。
noisemat= a*randn(size(I))+ b; where a=standard deviation and b=mean
Noisyimg=noisemat+I;
因此,对于零均值和 0.5 的方差,
noisemat=sqrt(0.5)*randn(size(I))+0;
因为标准差 是方差的平方根。
但是,当我尝试应用上述两种方法来获得具有零均值和方差为 400 的加性高斯噪声的噪声图像时,最终会得到难以辨认的图像。例如,使用方法二,
noisemat=sqrt(400)*randn(size(I))+0;
Noisyimg=noisemat+I;
由此产生的噪声图像与我应该获得的实际噪声图像相去甚远。我知道,因为我有我应该获得的实际噪声输出的图片。我在执行命令时是否犯了任何错误,或者我错过了一些关键点。
我附上了我试图添加高斯噪声的原始图像和添加噪声后获得的图像。
original image(I)
Noisyimg
任何帮助将不胜感激!!
【问题讨论】:
-
“无法识别的图像”是什么意思?原始图像的 RMS 是多少?
标签: matlab image-processing gaussian noise