1.添加标准偏差为10的高斯噪声:imnoise
最直接的方式就是使用MATLAB提供的函数imnoise(), 根据帮助文档中的调用格式 J = imnoise(I, ‘gaussian’, M, V)(M 为均值,V为方差),想当然的将语句写为J = imnoise(I, ‘gaussian’, 0, 10^2),但是运行后发现完全不是预期的效果,因为加噪后的图像基本是一片白色,源图像几乎完全被淹没在噪声中。
在经过仔细阅读文档后发现,其实MATLAB的说明文档已经写得很清楚,现摘出如下:
J = imnoise(I,type,parameters) Depending on type, you can specify additional parameters to imnoise. All numerical parameters are normalized— they correspond to operations with images with intensities ranging from 0 to 1.
其中最关键的就是 normalized,即归一化,方差值在0~1之间。即默认的M,V值分别为0, 0.01(注意此处的方差形式)。
所以最终的结论就是 需要对方差归一化处理 ,比如此处要对一幅256*256的图像加入标准偏差为10的高斯噪声,那么相应的语句应为:
J = imnoise(I