【图像去噪】基于高斯滤波+均值滤波+中值滤波+双边滤波滤波实现图像去噪(含信噪比)附Matlab代码
基于高斯滤波、均值滤波、中值滤波和双边滤波的组合方法是常用的图像去噪技术。以下是它们的基本原理和操作流程:高斯滤波:高斯滤波利用高斯函数对图像进行平滑处理,有效降低高频噪声。该滤波器通过对每个像素周围一定范围内的像素进行加权平均,减少噪声的影响。均值滤波:均值滤波将图像中的每个像素替换为其周围像素的平均值,以去除随机噪声。该滤波器通过计算像素的邻域均值来实现去噪。中值滤波:中值滤波以中心像素周围一
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
基于高斯滤波、均值滤波、中值滤波和双边滤波的组合方法是常用的图像去噪技术。以下是它们的基本原理和操作流程:
-
高斯滤波:高斯滤波利用高斯函数对图像进行平滑处理,有效降低高频噪声。该滤波器通过对每个像素周围一定范围内的像素进行加权平均,减少噪声的影响。
-
均值滤波:均值滤波将图像中的每个像素替换为其周围像素的平均值,以去除随机噪声。该滤波器通过计算像素的邻域均值来实现去噪。
-
中值滤波:中值滤波以中心像素周围一定范围内像素值的中值来替代该像素值,达到去除椒盐噪声或脉冲噪声的目的。该滤波器对于特别较大或较小值的噪声点有较好的去除效果。
-
双边滤波:双边滤波综合考虑空间距离和像素值相似性,能够保留图像的边缘信息并降衡空间距离和灰度差异来进行滤波处理。
程如下:
-
输入待去噪的图像。
-
对图像应用高斯滤波,可以使用合适的卷积核大小和标准差。
-
对高斯滤波后的图像应用均值滤波,采用适当的邻域均值窗口。
-
对均值滤波后的图像进行中值滤波,选择适当的窗口大小。
-
最后,对中值滤波后的图像应用双边滤波,调整空间域和灰度域的参数。
-
输出去噪后的图像,结果具有降噪效果且保留了图像的细节特征。
需要注意的是,在实际应用中,根据噪声类型、图像内容和去噪效果需求等因素,可能需要调整各个滤波器的参数以获取最优的去噪结果。只使用某一种滤波器或组合不同顺序的滤波器也可能得到更好的效果。因此,对于特定场景和问题,可以根据实际情况进行策略调整和算法组合,以获得适应的图像去噪效果。
用高斯滤波、均值滤波、中值滤波,双边滤波滤波进行去噪处理,这四种滤波是在添加高斯噪声的基础上,分别得到信噪比,通过对比信噪比值,最终得到那种方式处理效果最好。并且源码可以在不同的卷积核滤波器大小、添加不同浓度的高斯噪声、不同的滤波去噪方式等条件下,进行滤波处理,得到处理后的图像。
⛄ 部分代码
%%%
%%%对比高斯滤波、均值滤波、中值滤波、双边滤波在图像降噪中的应用
close all
clear all
clc
%% 读取图像
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.02
gray=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.
⛳️ 代码获取关注我
❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料
🍅 仿真咨询
1.卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断
2.图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知
3.旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划
4.无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配
5.传感器部署优化、通信协议优化、路由优化、目标定位
6.信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号
7.生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化
8.微电网优化、无功优化、配电网重构、储能配置
9.元胞自动机交通流 人群疏散 病毒扩散 晶体生长
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)