【图像重建】小波变换图像分解重建(PSNR对比)【含Matlab源码 2686期】

💥💥💥💥💥💥💥💥💞💞💞💞💞💞💞💞💞Matlab武动乾坤博客之家💞💞💞💞💞💞💞💞💞💥💥💥💥💥💥💥💥
🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚤🚀🚀🚀🚀🚀🚀🚀🚀🚀🚀
在这里插入图片描述
🔊博主简介:985研究生,Matlab领域科研开发者;

🚅座右铭:行百里者,半于九十。

🏆代码获取方式:
CSDN Matlab武动乾坤—代码获取方式

更多Matlab图像处理仿真内容点击👇
Matlab图像处理(进阶版)

⛳️关注CSDN Matlab武动乾坤,更多资源等你来!!

⛄一、小波的二维图像分解简介

本文使用了两种小波分析方法:haar和db3,这两种小波很好的体现了小波变换的特点。下面就分别介绍这两种小波函数。

1 Haar小波函数
Haar函数是在小波分析中最早用到的一个具有紧支撑的正交小波函数,同时也是最简单的一个函数,它是非连续的,类似一个阶梯函数。Haar小波函数的定义为:
在这里插入图片描述
2 db3小波函数
db3小波函数是dbN(Daubechies)小波系中的一个,Daubechies函数是由世界著名的小波分析学者Inrid Daubechies构造的小波函数,除了db1(即Haar小波)外,其他的小波没有明确的表达式,但转换函数h的平方模是很明确的。dbN函数是紧支撑标准正交小波,它的出现使离散小波分析成为可能。

下面给出dbN的定义:
在这里插入图片描述
dbN小波函数ψ和尺度函数φ的有效支撑长度为2N-1,小波函数ψ的消失矩阶数为N。
dbN大多数不具有对称性,对于有些小波函数,不对称是非常明显的。
正则性随着序号N的增加而增加。
函数具有正交性。
Davbechies小波函数提供了比Haar小波函数更有效的分析和综合。Daubechies系中的小波基记为dbN,N为序号,且N=1,2,…10。
这里就不给出db3的图像了。

2 小波分解与重构过程
Haar小波是最简单的小波函数,因此这里以Haar小波为例说明小波分解与重构的具体过程。假设有一幅分辨率只有4 个像素p0,p1,p2,p3的一维图像,对应的像素值或者叫做图像位置的系数分别为:

[9 7 3 5]

那么计算它的Haar小波变换系数的步骤如下。

步骤1:求均值(averaging)。计算相邻像素对的平均值,得到一幅分辨率比较低的新图像,它的像素数目变成了2个,即新的图像的分辨率是原来的1/2,相应的像素值为:

[8 4]

步骤2:求差值(differencing)。很明显,用2个像素表示这幅图像时,图像的信息已经部分丢失。为了能够从由2个像素组成的图像重构出由4个像素组成的原始图像,就需要存储一些图像的细节系数(detail coefficient),以便在重构时找回丢失的信息。方法是把像素对的第一个像素值减去这个像素对的平均值,或者使用这个像素对的差值除以2。在这个例子中,第一个细节系数是(9-8)=1,因为计算得到的平均值是8,它比9小1 而比7大1,存储这个细节系数就可以恢复原始图像的前两个像素值。使用同样的方法,第二个细节系数是(3-4)=-1,存储这个细节系数就可以恢复后2 个像素值。因此,原始图像就可以用下面的两个平均值和两个细节系数表示:

[8 4 1 -1]

步骤3:重复第1,2 步,把由第一步分解得到的图像进一步分解成分辨率更低的图像和细节系数。在这个例子中,分解到最后,就用一个像素的平均值6和三个细节系数2,1和-1表示整幅图像。

[6 2 1 -1]

由此可见,通过上述分解就把由4像素组成的一幅图像用一个平均像素值和三个细节系数表示,这个过程就是Haar小波变换。

在这个过程中可以看到:

1)变换过程中没有丢失信息,因为能够从所记录的数据中重构出原始图像。

2)对这个给定的变换,可以从所记录的数据中重构出各种分辨率的图像。

3)变换之后产生的细节系数的幅度值比较小,这为图像压缩提供了一种途径,例如去掉一些微不足道的细节系数而不影响对重构图像的理解。

上面的例子可以看出,在对一维信号的变换中求均值和差值的过程实际上就是Haar小波分解的过程,这对于其他的小波函数也是一样的,只是计算方法有所不同。而对于多维信号,只要分别先对每一行进行求均值和差值的过程,然后对每一列进行同样的分解,就可以实现。如,对于下面这个二维数组X进行Haar小波分解:
在这里插入图片描述
先对每一行进行求均值和差值的过程,即对每一行进行一维Haar小波变换,可以得到下面这个数组:
在这里插入图片描述
其中每行第一个数据是每一行的均值,其余的是这行的细节系数。

然后使用同样的方法对每一列进行求均值和差值的过程,即对每一列进行一维Haar小波变换,就可以得到经Haar小波分解后的信息:
在这里插入图片描述
其中,左上角的元素表示整个图像块的像素值的平均值,其余是该图像块的细节系数。由此我们可以设置一个阈值,通过将一些小于此阈值的细节系数看作0来提高编码效率,达到压缩的目的。比如在这里设定阈值d=5,即将细节系数小于5的数据看作0,得到数组:
在这里插入图片描述
由于0的数量多了,可以使编码效率大大提高,从而实现压缩的目的。而将此数组进行Haar小波逆变换,即小波重构,就可以得到原数组的近似重构数组:
在这里插入图片描述
由此数组看出重构得到的数组与原数组还是有相当的近似程度,在一定程度上是可以接受的。

⛄二、部分源代码

clear all;
X=imread(‘1.bmp’,‘bmp’);
subplot(321);imshow(X);
title(‘原始图像’);
%三级小波分解及显示
[c,s]=wavedec2(X,3,‘db2’);
ca3=appcoef2(c,s,‘db2’,3);
ch3=detcoef2(‘h’,c,s,3);
cv3=detcoef2(‘v’,c,s,3);
cd3=detcoef2(‘d’,c,s,3);
ch2=detcoef2(‘h’,c,s,2);
cv2=detcoef2(‘v’,c,s,2);
cd2=detcoef2(‘d’,c,s,2);
ch1=detcoef2(‘h’,c,s,1);
cv1=detcoef2(‘v’,c,s,1);
cd1=detcoef2(‘d’,c,s,1);
A2=[ca34,ch34;cv34,cd34]
%显示分解结果
k=s(2,1)2-s(3,1)
ch2=padarray(ch2,[k k],1,‘post’);
cv2=padarray(cv2,[k k],1,‘post’);
cd2=padarray(cd2,[k k],1,‘post’);
A1=[A2,ch2
4;cv24,cd24];
k=s(2,1)4-s(4,1)
ch1=padarray(ch1,[k k],1,‘post’);
cv1=padarray(cv1,[k k],1,‘post’);
cd1=padarray(cd1,[k k],1,‘post’);
A=[A1,ch1
4;cv14,cd14]
min=min(A(😃);
max=max(A(😃);
subplot(322);imshow(A,[min max]);
title(‘小波变换的三级分解图’);

⛄三、运行结果

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

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]李利明,杨莉军,王洪.基于小波的二维图像分解与重构[J].湖南冶金职业技术学院学报. 2005,(04)

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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值