MATLAB详解高斯噪声、椒盐噪声,简单实现图像的均值滤波、中值滤波并分析其有效性 | 您所在的位置:网站首页 › 高斯噪音 › MATLAB详解高斯噪声、椒盐噪声,简单实现图像的均值滤波、中值滤波并分析其有效性 |
文章目录
一、高斯噪声与椒盐噪声的基本特点二、使用Matlab的imnoise()函数为图像添加噪声三、使用imfilter()进行均值滤波处理四、使用medfilt3()进行中值滤波处理五、两种滤波处理高斯噪声、椒盐噪声效果对比六、参考代码
一、高斯噪声与椒盐噪声的基本特点
噪声类型基本特点滤波处理高斯噪声噪声的概率密度函数服从高斯分布(即正态分布),即某个强度的噪声点个数最多,离这个强度越远噪声点个数越少。高斯噪声是一种加性噪声,即噪声直接加到原图像上,因此可以用线性滤波器滤除。使用均值滤波等线性滤波方法效果更佳椒盐噪声由图像传感器、传输信道、解码处理等产生的黑白相间的亮暗点噪声,往往由图像切割引起。椒盐噪声是指两种噪声,盐噪声(高灰度噪声)、胡椒噪声(低灰度噪声)。同时出现时,在图像上呈现为黑白杂点。使用中值滤波方法效果更佳
二、使用Matlab的imnoise()函数为图像添加噪声
在Matlab中使用imnoise函数可为图像加入不同类型的噪声,常用调用方法如下:J=imnoise(I,type,parameters) 其中,I指原图像,type指噪声类型,parameters指不同类型噪声的参数,J为添加噪声后的图像。 type的参数值代表的噪声gaussian高斯噪声salt & pepper (注意中间有空格)椒盐噪声speckle乘法噪声poission泊松噪声 三、使用imfilter()进行均值滤波处理在Matlab中使用imfilter函数可对多维图像进行线性滤波处理,常用调用方法如下: B = imfilter(A,H) H=fspecial(‘average’,para) 其中,A指原图像,B为输出图像,H指滤波算子,‘average’指算子类型为均值,para是指定相应的参数,默认值为3。para的数值越大,均值滤波效果越显著,不过图像也会变得越模糊,测试后挑选一个合适的值即可。 均值滤波处理灰度图 在Matlab中使用medfilt3函数可对多维图像进行中值滤波处理,常用调用方法如下: B = medfilt3(A) 其中,A指原图像,B为输出图像。 中值滤波处理灰度图 1.使用均值滤波、中值滤波处理椒盐噪声 imread()内为所需处理的图片路径,具体代码如下: A=imread('D:\matlab\Fig1119(a).tif'); figure('name','对高斯噪声进行滤波处理') subplot(2,2,1) imshow(A) title('原图像') subplot(2,2,2) B=imnoise(A,'gaussian',0,0.03); imshow(B) title('高斯噪声图像') subplot(2,2,3) C=imfilter(B,fspecial('average',3)); imshow(C,[]) title('均值滤波处理') subplot(2,2,4) D=medfilt3(B); imshow(D,[]) title('中值滤波处理') |
CopyRight 2018-2019 实验室设备网 版权所有 |