【图像去噪】基于matlab小波变换和多种阙值改进的小波变换灰色图像去噪【含Matlab源码 3699期】

本文介绍了MATLAB中的图像去噪技术,着重讨论了图像噪声的来源、分类,特别是小波滤波在去噪中的应用,包括基于小波变换的模极大值、相邻尺度系数相关性和阈值去噪方法。提供了使用MATLAB实现的噪声添加和去噪代码示例,展示了各种阈值处理方法的PSNR指标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

💥💥💥💥💥💥💞💞💞💞💞💞💞💞欢迎来到海神之光博客之家💞💞💞💞💞💞💞💞💥💥💥💥💥💥
在这里插入图片描述
✅博主简介:热爱科研的Matlab仿真开发者,修心和技术同步精进;
🍎个人主页:海神之光
🏆代码获取方式:
海神之光Matlab王者学习之路—代码获取方式

⛳️座右铭:行百里者,半于九十。
更多Matlab图像处理仿真内容点击👇
Matlab图像处理(进阶版)
付费专栏Matlab图像处理(初级版)

⛳️关注CSDN海神之光,更多资源等你来!!

⛄一、图像去噪及滤波简介

1 图像去噪
1.1 图像噪声定义
噪声是干扰图像视觉效果的重要因素,图像去噪是指减少图像中噪声的过程。噪声分类有三种:加性噪声,乘性噪声和量化噪声。我们用f(x,y)表示图像,g(x,y)表示图像信号,n(x,y)表示噪声。
图像去噪是指减少数字图像中噪声的过程。现实中的数字图像在数字化和传输过程中常受到成像设备与外部环境噪声干扰等影响,称为含噪图像或噪声图像。去噪是图像处理研究中的一个重点内容。在图像的获取、传输、发送、接收、复制、输出等过程中,往往都会产生噪声,其中的椒盐噪声是比较常见的一种噪声,它属于加性噪声。

1.2 图像噪声来源
(1)图像获取过程中
图像传感器CCD和CMOS采集图像过程中受传感器材料属性、工作环境、电子元器件和电路结构等影响,会引入各种噪声。
(2)图像信号传输过程中
传输介质和记录设备等的不完善,数字图像在其传输记录过程中往往会受到多种噪声的污染。

1.3 噪声分类
噪声按照不同的分类标准可以有不同的分类形式:
基于产生原因:内部噪声,外部噪声。
基于噪声与信号的关系:
加性噪声:加性噪声和图像信号强度是不相关的,这类带有噪声的图像g可看成为理想无噪声图像f与噪声n之和:
g = f + n;
乘性嗓声:乘性噪声和图像信号是相关的,往往随图像信号的变化而变化,载送每一个象素信息的载体的变化而产生的噪声受信息本身调制。在某些情况下,如信号变化很小,噪声也不大。为了分析处理方便,常常将乘性噪声近似认为是加性噪声,而且总是假定信号和噪声是互相统计独立。
g = f + f*n
按照基于统计后的概率密度函数:
是比较重要的,主要因为引入数学模型这就有助于运用数学手段去除噪声。在不同场景下噪声的施加方式都不同,由于在外界的某种条件下,噪声下图像-原图像(没有噪声时)的概率密度函数(统计结果)服从某种分布函数,那么就把它归类为相应的噪声。下面将具体说明基于统计后的概率密度函数的噪声分类及其消除方式。

2 小波滤波
随着小波理论的日益完善,其以自身良好的时频特性在图像去噪领域受到越来越多的关注,开辟了用非线性方法去噪的先河。具体来说,小波能够去噪主要得益于小波变换有如下特点:
(1)低熵性。小波系数的稀疏分布,使图像变换后的熵降低。 意思是对信号(即图像)进行分解后,有更多小波基系数趋于0(噪声),而信号主要部分多集中于某些小波基,采用阈值去噪可以更好的保留原始信号。
(2)多分辨率特性。由于采用了多分辨方法,所以可以非常好地刻画信号的非平稳性,如突变和断点等(例如0-1突变是傅里叶变化无法合理表示的),可以在不同分辨率下根据信号和噪声的分布来消除噪声。
(3)去相关性。小波变换可对信号去相关,且噪声在变换后有白化趋势,所以小波域比时域更利于去噪。
(4)基函数选择灵活。小波变换可灵活选择基函数,也可根据信号特点和去噪要求选择多带小波和小波包等(小波包对高频信号再次分解,可提高时频分辨率),对不同场合,选择不同小波基函数。

根据基于小波系数处理方式的不同,常见去噪方法可分为三类:
(1)基于小波变换模极大值去噪(信号与噪声模极大值在小波变换下会呈现不同变化趋势)
(2)基于相邻尺度小波系数相关性去噪(噪声在小波变换的各尺度间无明显相关性,信号则相反)
(3)基于小波变换阈值去噪

小波去噪实现步骤:
(1)二维信号的小波分解。选择一个小波和小波分解的层次N,然后计算信号s到第N层的分解。
(2)对高频系数进行阈值量化。对于从1~N的每一层,选择一个阈值,并对这一层的高频系数进行软阈值量化处理。
(3)二维小波重构。根据小波分解的第N层的低频系数和经过修改的从第一层到第N的各层高频系数,计算二维信号的小波重构。

⛄二、部分源代码

% 所有实验结果汇总
close all;clear all,clc;
I = imread(‘lena.png’); % 读入图像
X = im2double(I); % 转为双精度类型
% x = noise(X, ‘gaussian’, 0.005); % 添加噪声 高斯噪声 方差 0.005
x = noise(X, ‘gaussian’, 0.01); % 添加噪声 高斯噪声 方差 0.01
% x = noise(X, ‘guassian’, 0.02); % 高斯噪声 方差 0.02
% x = noise(X, ‘salt & pepper’, 0.02); % 椒盐噪声 密度 0.02
% x = noise(X, ‘salt & pepper’, 0.05); % 椒盐噪声 密度 0.05

[C, S] = wavedec2(x, 2, ‘sym4’);
thr = Donoho(x); % 计算Donoho全局阈值
thr_lvd = Birge_Massart(C, S); % 计算Bige-Massa策略阈值
alpha = 0.5;

% 去噪 2层分解 sym4 小波--------------------------------------------------------
x_soft = wdenoise(x, ‘gbl’, ‘s’, thr, ‘sym4’, 2); % 软阈值方法 Donoho 全局阈值
x_hard = wdenoise(x, ‘gbl’, ‘h’, thr, ‘sym4’, 2); % 硬阈值方法 Donoho 全局阈值
x_soft_lvd = wdenoise(x, ‘lvd’, ‘s’, thr_lvd, ‘sym4’, 2); % 软阈值方法 Birge-Massart策略 计算的阈值
x_hard_lvd = wdenoise(x, ‘lvd’, ‘h’, thr_lvd, ‘sym4’, 2); % 硬阈值方法 Birge-Massart策略 计算的阈值
x1 = den1(x, ‘sym4’, 2, thr); % 半软阈值 原始方法
x1_5 = den1_5_1(x, ‘sym4’, 2, thr, 0.5thr); % 半软阈值 + 均值滤波
x1_9 = den1_9(x, ‘sym4’, 2, thr, 0.5
thr); % 半软阈值 + 指数衰减
x1_10 = den1_10(x, ‘sym4’, 2, thr, 0.5*thr); % 半软阈值 + 再次进行小波阈值去噪
x2 = den2(x, ‘sym4’, 2, thr, 0.4); % 软硬阈值的改进方法
x3 = den3(x, ‘sym4’, 2, thr, 5); % 广义小波阈值函数
x4 = den4(x, ‘sym4’, 2); % 自适应特征阈值

% 计算峰值信噪比--------------------------------------------------------------
psnr_soft = PSNR(x_soft, X) % Donoho公式 软阈值
psnr_hard = PSNR(x_hard, X) % Donoho公式 硬阈值
psnr_soft_lvd = PSNR(x_soft_lvd, X) % Birge-Massart策略 软阈值
psnr_hard_lvd = PSNR(x_hard_lvd, X) % Birge-Massart策略 硬阈值
psnr1 = PSNR(x1, X) % 半软阈值
psnr1_5 = PSNR(x1_5, X) % 半软阈值 + 均值滤波
psnr1_9 = PSNR(x1_9, X) % 半软阈值 指数衰减
psnr1_10 = PSNR(x1_10, X) % 半软阈值 再次进行小波阈值去噪
psnr2 = PSNR(x2, X) % 软硬阈值的改进方法
psnr3 = PSNR(x3, X) % 广义小波阈值函数
psnr4 = PSNR(x4, X) % 自适应特征阈值

% 显示图像---------------------------------------------------------------------
figure; imshow(x_soft); title(‘软阈值方法 Donoho 全局阈值’);
figure; imshow(x_hard); title(‘硬阈值方法 Donoho 全局阈值’);
figure; imshow(x_soft_lvd); title(‘软阈值方法 Birge-Massart策略’);
figure; imshow(x_hard_lvd); title(‘硬阈值方法 Birge-Massart策略’);
figure; imshow(x1); title(‘半软阈值方法’);
figure; imshow(x1_5); title(‘半软阈值方法 线性衰减’);
figure; imshow(x1_9); title(‘半软阈值方法 指数衰减’);
figure; imshow(x1_10); title(‘半软阈值方法 再次进行小波去噪’);
figure; imshow(x2); title(‘软硬阈值函数的改进方法’);
figure; imshow(x3); title(‘广义小波阈值函数’);
figure; imshow(x4); title(‘自适应特征阈值’);

⛄三、运行结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.
[5]基于matlab的传统算法图像去噪的实现原理

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

🍅 仿真咨询
1 各类智能优化算法改进及应用

生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化

2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断

3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知

4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化

5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配

6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化

7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化

8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置

9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长

10 雷达方面
卡尔曼滤波跟踪、航迹关联、航迹融合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海神之光

有机会获得赠送范围1份代码

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值