✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
基于高斯滤波、均值滤波、中值滤波和双边滤波的组合方法是常用的图像去噪技术。以下是它们的基本原理和操作流程:
- 高斯滤波:高斯滤波利用高斯函数对图像进行平滑处理,有效降低高频噪声。该滤波器通过对每个像素周围一定范围内的像素进行加权平均,减少噪声的影响。
- 均值滤波:均值滤波将图像中的每个像素替换为其周围像素的平均值,以去除随机噪声。该滤波器通过计算像素的邻域均值来实现去噪。
- 中值滤波:中值滤波以中心像素周围一定范围内像素值的中值来替代该像素值,达到去除椒盐噪声或脉冲噪声的目的。该滤波器对于特别较大或较小值的噪声点有较好的去除效果。
- 双边滤波:双边滤波综合考虑空间距离和像素值相似性,能够保留图像的边缘信息并降衡空间距离和灰度差异来进行滤波处理。
程如下:
- 输入待去噪的图像。
- 对图像应用高斯滤波,可以使用合适的卷积核大小和标准差。
- 对高斯滤波后的图像应用均值滤波,采用适当的邻域均值窗口。
- 对均值滤波后的图像进行中值滤波,选择适当的窗口大小。
- 最后,对中值滤波后的图像应用双边滤波,调整空间域和灰度域的参数。
- 输出去噪后的图像,结果具有降噪效果且保留了图像的细节特征。
需要注意的是,在实际应用中,根据噪声类型、图像内容和去噪效果需求等因素,可能需要调整各个滤波器的参数以获取最优的去噪结果。只使用某一种滤波器或组合不同顺序的滤波器也可能得到更好的效果。因此,对于特定场景和问题,可以根据实际情况进行策略调整和算法组合,以获得适应的图像去噪效果。
用高斯滤波、均值滤波、中值滤波,双边滤波滤波进行去噪处理,这四种滤波是在添加高斯噪声的基础上,分别得到信噪比,通过对比信噪比值,最终得到那种方式处理效果最好。并且源码可以在不同的卷积核滤波器大小、添加不同浓度的高斯噪声、不同的滤波去噪方式等条件下,进行滤波处理,得到处理后的图像。
⛄ 部分代码
%%%%%%对比高斯滤波、均值滤波、中值滤波、双边滤波在图像降噪中的应用close allclear allclc%% 读取图像Img = imread('1.bmp');M = size(Img);%获取图像的尺寸信息,如果图像时彩色的,则将图像转化为灰度图if numel(M)>2 graybefore = rgb2gray(Img);else graybefore = Img;end%% 对图像添加噪声gray=imnoise(graybefore,'gaussian',0,0.02);%% salt & pepper:代表椒盐噪声,gaussian:代表高斯噪声,默认均值0,方差0.01/0.02gray=double(gray)/255; %%对图像进行归一化处理%% 创建滤波器W = 7;%%设置卷积核长度 W=3/5/7%高斯滤波器WGaussian = fspecial('gaussian',[W,W],1);%%[W,W]代表卷积核的尺寸,1代表滤波器标准值,越大越平滑ResultofGaussian = imfilter(gray, WGaussian, 'replicate');%%对灰度图像进行滤波,'replicate'为默认值,代表对边界的处理选择%均值滤波器WAverage=fspecial('average',W); %%生成卷积核为3X3均值滤波器滤波器ResultofAverage=imfilter(gray,WAverage,'replicate');%%用生成的滤波器进行滤波%中值滤波器ResultofMedian=medfilt2(gray,[W W]); %生成卷积核为3X3的中值滤波%双边滤波器w = W/2; % 卷积核宽度的一半 sigma = [1 0.1]; % 双边滤波器标准差ResultofBilateral = bfilter2(gray,w,sigma);%% 信噪比计算Pic = double(graybefore)/255;SNRGaussian = SNR(Pic,ResultofGaussian)SNRAverage = SNR(Pic,ResultofAverage)SNRMedian = SNR(Pic,ResultofMedian)SNRBilateral = 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(graybefore); 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('双边滤波后图像');
⛄ 运行结果
⛄ 参考文献
[1] 管文.低照度固体成像系统的图像降噪与金字塔HDR成像算法[D].北京理工大学[2023-07-06].DOI:CNKI:CDMD:2.1016.716580.
[2] 雷碎朱.基于机器视觉的微位移检测系统的研究与实现[D].武汉理工大学,2019.
[3] 刘炳良.一种小波域改进双边滤波的水果图像去噪算法[J].红外技术, 2014, 36(3):5.DOI:10.11846/j.issn.1001_8891.201403004.
[4] 杨永发,李琦.双边滤波算法的太赫兹共焦扫描图像去噪应用[J].激光与光电子学进展, 2015, 52(12):6.DOI:CNKI:SUN:JGDJ.0.2015-12-015.