二维二进小波的快速分解与重构算法matlab实现-ex7-4.rar
使用matlab来实现非正交二次样条二维二进小波的快速分解和重构
编程实现例7.4中可分离二维二进小波的快速分解与重构算法
算法实现
使用matlab来实现非正交二次样条二维二进小波的快速分解和重构,实现的函数说明如下
l
function [a, d1, d2] = swt1_decomp
函数功能:
二维二进小波分解
输入参数:
x – 待分解的二维数组
n – 分解的级数
h – 分解低通滤波器系数
g – 分解高通滤波器系数
输出参数:
a – 逼近矩阵
d1 – 水平细节信息矩阵
d2 – 竖直细节信息矩阵
l
function x = swt1_recon
函数功能:
二维二进小波重构
输入参数:
a – 逼近矩阵
d1 – 水平细节信息矩阵
d2 – 竖直细节信息矩阵
n – 重构的级数
h – 重构低通滤波器系数
g – 重构高通滤波器系数
l – 重构滤波器系数
输出参数:
x – 重构的二维数组
在实现以上函数时主要用到了以下wavelet toolbox中的函数:
l
wconv函数对二维数组和滤波器进行卷积运算
l
wextend函数在卷积前对二维图像进行周期延拓
l
wkeep函数对卷积结果进行截断
还用到了dyadup和dyaddown对滤波器进行上抽样和下抽样。
测试结果
以下是使用所实现的算法对二维图片的测试结果
图片大小为256*256,使用4级二进小波进行分解
matlab6.gif
2022-02-11 20:51:53
770KB
matlab
1