【图像去噪】基于高斯滤波、均值滤波、中值滤波、双边滤波四种滤波实现椒盐噪声图像去噪附matlab代码

简介: 【图像去噪】基于高斯滤波、均值滤波、中值滤波、双边滤波四种滤波实现椒盐噪声图像去噪附matlab代码

1 简介

图像是生活中重要的信息来源,处理图像有助于理解信息的基本信息.但图像本身可能存在一些被干扰的信息或者噪声.研究了基于高斯滤波、均值滤波、中值滤波和双边滤波算法的数字图像处理技术用于对图像的噪声进行消除.通过对图像进行理论模拟和实际图像处理,对两种算法进行比较和模拟得出相应结论.为今后的噪声消除方法的选择和实际工作的改进提供数据参考和依据.

图像是人类认识世界的第一视角,我们可以通过图像获得比较真实的信息和直观的结果。但实际上,在产生和传输过程中的信号不可避免地会与一些噪声混合.因此,在接收图像信号时,消除或降低噪声成为获得高清图像的重要方法.在对图像进行去噪之前,我们需要对噪声图像进行建模,获得噪声的原始信息.由于噪声生成是不可避免的,因此,只能选择通过相应的方法进行消除,这也是图像噪声消除问题的研究意义.

随着计算机应用技术高速发展,人类接触的信息不再是单纯的语音信号.图像信号越多,数字信息就越多,也就会存在更多的干扰和噪声.随着社会发展,人们对于接收外部信息源的图像质量的要求不断增加,这对去除噪声的技术也提出了更高的要求.随着人们的研究不断深入,很多关于图像处理技术在不断提高,图像去噪技术也越来越完善.当今的图像去噪已经是一个相对视觉化的研究主题,其范围非常广泛,对军事和医学领域有很大帮助.因此,进一步从计算机层面对图像的去噪进行研究具有重要的现实意义。

总体来说,高斯滤波器是一种线性的平滑类型的滤波器,其对于处理系统性的高斯噪声效果非常好,主要是对图像对应的数字信号进行加权平均的处理.比如,任何一个噪声的位置结果,采用周边的加权平均,就能让噪声点消失在周围的加权平均结果中,在具体实施的过程中,主要是用加权平均函数将结果进行加权,之后,用平均值覆盖特殊值.

噪声去除过程,实际上都是滤波器的实现过程.高斯滤波器就是对高斯噪声进行滤波,从而得到一个信噪比较好的图像,信噪比越高,无失真的结果就越强.对于一个图像来说,如果噪声一直存在,就可能会造成不良的噪声传递.高斯滤波的过程首先是对信号进行高斯的平滑处理.随后,对噪声进行相应的剔除.高斯滤波器的存在目的是构建一个滤波器,进行二阶过滤,并且进行相应的能量转化过程,在频率域的范围内,能量是相对直接的体现.我们往往不能直接使用理想滤波器来进行处理信号,因为这样很可能会存在信号的振铃现象.高斯滤波器的优势在于其系统函数比较可靠,可以有效地对产生的系统噪声进行平滑处理,避免不良振铃现象。

通过对双边的滤波进行分析和研究,笔者认为,双边滤波和高斯滤波的算法是有区别的.和高斯滤波不同,双边滤波方法是一种非线性的图像信号数字处理方法,双边滤波可以覆盖高斯滤波的算法,也就兼顾了灰度点值和毛边去掉的双重效果.但对于图像而言,选择高斯滤波和双边滤波的结合进行去噪处理相对来说更好一些.具体从算法而言,双边滤波是从高斯滤波转变而来,对高斯滤波的函数进行双卷积处理,将滤波权重系数进行优化,滤波权重的系数和图像的频率域卷积结果进行乘积处理,由此得到了在去除灰度基础上的去除毛边的效果,发挥了高斯滤波噪声的优势,同时也得到了双边平滑优化效果.

理论上来说,双边滤波得到的结果效果比较好,其图像的平滑程度较好,实用性强.再来说明一下双边滤波过程中的权重加强情况,双边滤波的加权系数总体上来说是高斯滤波和卷积后的结果系数的非线性组合,主要利用的是空间的图像近似函数和亮度近似函数的系数记性卷积计算.对于前者而言,随着计算步长的变化,图像得到的像素点与后面中心点之间的数学距离会变小,如果增加图像的清晰度,则这种距离就会变小.也就是说,像素越高的图像,在处理过程中,双边滤波器会转化为相应的低通滤波器,使得图像的边缘能够得到更好的保护.一般来说,双边滤波的结果受3个参数的影响,分别是滤波器半宽 N、参数δs和δr.对于一般的双边滤波分析来说,滤波过程中的临近因子和亮度的变化因子都是比较剧烈的.我们在进行图像处理的过程中,不能仅仅保留高频或者低频的信号,因此,双边滤波的使用,可以对频率域比较宽的图像处理有很好的保护,其效果的实现主要是通过双边滤波的函数完成.在双边的滤波器中,会生成像素的输出结果.根据前人的研究来看,双边滤波拥有非线性处理能力强、局部处理效果好并且计算过程没有迭代的特性.但双边滤波的不足之处是容易将本身图像的信号处理掉,这一点就需要高斯滤波的配合.换言之,如果前期不用灰度处理或者其他的处理方式,将毛边进行覆盖,那么双边滤波的效果可能就不理想,下面给出双边滤波的数学模型


2 部分代码

%%%2020/04/07%%%对比高斯滤波、均值滤波、中值滤波、双边滤波在图像降噪中的应用close allclear alluyclcSNRBilateral = SNR(Pic,ResultofBilateral)%% 结果figure(1)subplot(121); imshow(graybefore); title('加噪前');subplot(122); imshow(gray);    title('加噪后');figure(2)subplot(121); imshow(gray); title('原始图像');subplot(122); imshow(ResultofGaussian);    title('高斯滤波后图像');figure(3);subplot(121); imshow(gray); title('原始图像');subplot(122); imshow(ResultofAverage);  title('均值滤波后图像');figure(4);subplot(121); imshow(gray); title('原始图像');subplot(122); imshow(ResultofMedian);    title('中值滤波后图像');figure(5);subplot(121); imshow(gray); title('原始图像');subplot(122); imshow(ResultofBilateral);    title('双边滤波后图像');figure(6)subplot(3,2,1); imshow(Img); title('原始图像');subplot(3,2,2); imshow(gray);    title('加噪后');subplot(3,2,3); imshow(ResultofGaussian); title('高斯滤波后图像');subplot(3,2,4); imshow(ResultofAverage); title('均值滤波后图像');subplot(3,2,5); imshow(ResultofMedian); title('中值滤波后图像');subplot(3,2,6); imshow(ResultofBilateral);  title('双边滤波后图像');

3 仿真结果

4 参考文献

[1]潘梁静. 基于高斯滤波和双边滤波的数字图像去噪算法[J]. 商丘职业技术学院学报, 2020, 19(1):4.

[2]袁新星. 基于中值滤波的高密度椒盐噪声图像去噪算法研究[D]. 湖北工业大学.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。


相关文章
|
2月前
|
机器学习/深度学习 算法 计算机视觉
霍夫变换车道线识别-车牌字符识别代码(matlab仿真与图像处理系列第5期)
霍夫变换车道线识别-车牌字符识别代码(matlab仿真与图像处理系列第5期)
30 2
|
2月前
|
算法
MATLAB | 插值算法 | 一维interpl插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 一维interpl插值法 | 附数据和出图代码 | 直接上手
36 0
|
3月前
|
Perl
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
|
3月前
【数值分析】迭代法求方程的根(附matlab代码)
【数值分析】迭代法求方程的根(附matlab代码)
|
3月前
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)
|
3月前
【数值分析】二分法求方程的根(附matlab代码)
【数值分析】二分法求方程的根(附matlab代码)
|
7月前
|
机器学习/深度学习 传感器 算法
基于同步压缩的多变量数据时频分析附 matlab代码
基于同步压缩的多变量数据时频分析附 matlab代码
|
2月前
|
算法
MATLAB | 插值算法 | 二维interp2插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 二维interp2插值法 | 附数据和出图代码 | 直接上手
58 0
|
2月前
|
算法
MATLAB | 插值算法 | 二维griddata插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 二维griddata插值法 | 附数据和出图代码 | 直接上手
38 0
|
2月前
|
算法
MATLAB | 插值算法 | 一维Lagrange插值法 | 附数据和出图代码 | 直接上手
MATLAB | 插值算法 | 一维Lagrange插值法 | 附数据和出图代码 | 直接上手
21 0