- 10
- 0
- 约5.27千字
- 约 24页
- 2019-05-05 发布于福建
- 举报
小波分析实验:二维离散小波变换Mallat快速算法
HYPERLINK /Torstan/archive/2011/08/31/2161456.html 小波分析实验: 实验2 二维离散小波变换(Mallat快速算法)
实验目的:
在理解离散小波变换原理和Mallat快速算法的基础上,通过编程对图像进行二维离散小波变换,从而加深对二维小波分解和重构的理性和感性认识,并能提高编程能力,为今后的学习和工作奠定基础。
实验工具:
计算机,matlab6.5
附录:
(1)二维小波分解函数
%二维小波分解函数
?
function Y=mallatdec2(X,wname,level)
%输入:X????? 载入的二维图像像数值;
%???? level? 小波分解次(级)数设定值(如果设定值超过最高可分解次数,按最高分解次数分解)
%????? wname? 小波名字wavelet name
%输出:Y???? 多极小波分解后的小波系数矩阵
?
[h,g]=wfilters(wname,d);? %h,g分别为低通和高通滤波器
X=double(X);
t=1;
hh=size(X,2);
?
while t=level?
??? %先进行行小波变换
??? for? row=1:hh
??????? Y(row,1:hh)=mdec1(X(row,1:hh),h,g) ;
??? end
??? %再进行列小波变换
??? for col=1:hh
??????? temp=mdec1( Y(1:hh,col),h,g);
??????? Y(1:hh,col)=temp;
??? end
t=t+1;
hh=hh/2;
X=Y;
end
?
%内部子函数,对一行(row)矢量进行一次小波变换,利用fft实现
function y=mdec1(x,h,g)
%输入:x 行数组
%???? h为低通滤波器
%???? g为高通滤波器
%输出: y 进行一级小波分解后的系数
lenx=size(x,2);
lenh=size(h,2);
?
rh=h(end:-1:1);
rrh=[zeros(1,(lenx-lenh)),rh];
rrh=circshift(rrh,1);
?
rg=g(end:-1:1);
rrg=[zeros(1,(lenx-lenh)),rg];
rrg=circshift(rrg,1);
r1=dyaddown(ifft(fft(x).*fft(rrh,lenx)),1);? %use para 1
r2=dyaddown(ifft(fft(x).*fft(rrg,lenx)),1);
y=[r1,r2];
?
(2)二维小波重构函数
%二维小波重构函数
function Y=mallatrec2(X,wname,level)
%输入:X????? 载入的小波系数矩阵;
%?? ??level? 小波分解次(级)数设定值(如果设定值超过最高可分解次数,按最高分解次数分解)
%????? wname? 小波名字wavelet name
%输出:Y???? 重构图像矩阵
?
[h,g]=wfilters(wname,d);? %h,g分别为重构低通滤波器和重构高通滤波器
?
hz=size(X,2);
h1=hz/(2^(level-1));
while h1=hz
??? % 对列变换
??? for col=1:h1
??????? temp=mrec1(X(1:h1,col),h,g);
??????? X(1:h1,col)=temp;
??? end
??? %再对行变换
??? for row=1:h1
??????? temp=mrec1(X(row,1:h1),h,g);
???????? X(row,1:h1)=temp;
???? end
???? h1=h1*2;
????
end
Y=X;
?
?
?
%内部子函数,对一行小波系数进行重构
function y=mrec1(x,h,g)
%输入:x 行数组
%???? h为低通滤波器
%???? g为高通滤波器
%输出: y 进行一级小波重构后值
lenx=size(x,2);
?
?
r3=dyadup(x(1,1:lenx*0.5),0);?? %内插零use para 0
r4=dyadup(x(1,(lenx*0.5+1):lenx),0);?? %use para 0
y=ifft(fft(r3,lenx).*fft(h,lenx))+ ifft(fft(r4,lenx).*fft(g,lenx));??
?
(3)测试函数(主函数)
%测试函数(主函数)
clc;clear;
X=imread(E:\Libin的文档\Course\Course_wavele
原创力文档

文档评论(0)