J = imnoise(I,type)
向亮度图I中添加指定类型的噪声。type是字符串,可以是以下值。
''gaussian''(高斯噪声);''localvar''(均值为零,且一个变量与图像亮度有关);''poisson''(泊松噪声);''salt&pepper''(椒盐噪声);''speckle''(乘性噪声)
J = imnoise(I,type,parameters) 《Simulink与信号处理》
根据噪声类型,可以确定该函数的其它参数。所有的数值参数都进行归一化处理,它们对应于亮度从0到1的图像操作。
J = imnoise(I,'gaussian',m,v)
将均值为m,方差为v的高斯噪声添加到图像I中。默认值为均值是0,方差是0.01的噪声。 《Simulink与信号处理》
J = imnoise(I,'localvar',V)
将均值为0,局部方差为v的高斯噪声添加到图像I上。其中V是与f大小相同的一个数组,它包含了每个点的理想方差值。
J =
imnoise(I,'localvar',image_intensity,var)
将均值为0的高斯噪声添加到图像I上,其中噪声的局部方差var是图像I的亮度值的函数。参量image_intensity和var是大小相同的向量,plot(image_intensity,var)绘制出噪声方差和图像亮度的函数关系。向量image_intensity必须包含范围在[0,1]内的归一化亮度值。
J = imnoise(I,'poisson')
从数据中生成泊松噪声,而不是将人工的噪声添加到数据中。为了遵守泊松统计,uint8类和uint16类图像的亮度必须和光子的数量相符合。每当像素的光子数大于65535(但小于10e12)时,就要使用双精度图像。亮度值在0和1之间变化,并且对应于光子的数量除以10e12
J = imnoise(I,'salt &
pepper',d)
用椒盐噪声污染图像I,其中d是噪声密度。因此,大约有d*numel(f)个像素受到了影响。默认的噪声密度为0.05.
J = imnoise(I,'speckle',v)
用方程g=f+n*f将乘性噪声添加到图像I上,其中n是均值为0,方差为v的均匀分布的随机噪声。v的默认值为0.04.
注:函数imnoise在给函数添加噪声之前,将他转换为范围[0,1]内的double类图像。
例一:
I = imread('eight.tif');
J = imnoise(I,'salt & pepper',0.02);
figure, imshow(I)
figure, imshow(J)