function y=wave_rec1(X1,X2,X3,X4)
% 输入参数:X1,X2,X3,X4 —— 是四个大小均为 r*c 维的矩阵
% 输出参数:y —— 是一个大小为 2r*2c 维的矩阵
lpr=[1 1];hpr=[1 -1];
tmp_mat=[X1,X2;X3,X4];
[row,col]=size(tmp_mat);
for k=1:col
A1=tmp_mat(1:row/2,k);
B1=tmp_mat(row/2+1:row,k);
tmp1=transit(A1,B1,lpr,hpr); % 重构序列
yt(:,k)=tmp1; % 将重构序列存入待输出矩阵 yt 的相应列,此时 y=[L|H]
end
for j=1:row % 将输出矩阵 y 的每一行,分开成左右两半
A2=yt(j,1:col/2); % 分开的两部分分别作为平均系数序列A2、细节系数序列B2
B2=yt(j,col/2+1:col);
tmp2=transit(A2,B2,lpr,hpr); % 重构序列
yt(j,:)=tmp2; % 将重构序列存入待输出矩阵 yt 的相应行,得到最终的输出矩阵 y=yt
end
y=yt;
function y=upspl(x)
% 函数 Y = UPSPL(X) 对输入的一维序列x进行上抽样,即对序列x每个元素之间
% 插零,例如 x=[x1,x2,x3,x4],上抽样后为 y=[x1,0,x2,0,x3,0,x4];
N=length(x);
M=2*N-1;
for i=1:M % 输出序列的偶数位为0,奇数位按次序等于相应位置的输入序列元素
if mod(i,2)
y(i)=x((i+1)/2);
else
y(i)=0;
end
end
end
function y = transit(A,B,lpr,hpr)
% 输入参数:A —— 平均部分的小波分解系数;
% B —— 细节部分的小波分解系数;
% lpr、hpr —— 重构所用的低通、高通滤波器。
lA=length(A); % 求出平均、细节部分分解系数的长度
lB=length(B);
while (lB)>=(lA)
upl=upspl(A); % 对平均部分系数进行上抽样
cvl=my_conv(upl,lpr); % 低通卷积
B_up=B(lB-lA+1:lB);
uph=upspl(B_up); % 对细节部分系数进行上抽样
cvh=my_conv(uph,hpr); % 高通卷积
A=cvl+cvh;
B=B(1:lB-lA);
lA=length(A);
lB=length(B);
end
function y = my_conv( x,h )
%my_conv 重写MATLAB内置卷积函数conv()
%function y = my_conv( x,h )用来计算y(n) = h(n)*x(n)的卷积
nx = length(x);
nh = length(h);
y = zeros(1,nx+nh-1);
for index = 1:nx
indexSum = x(index)*h;
y(1,index:index+nh-1) = y(1,index:index+nh-1)+indexSum;
end
end
y=A;
end
end
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
小波变换—图像处理.zip (74个子文件)
小波变换—图像处理
wave_dec1.m 2KB
wave_rec1.m 2KB
main.m 346B
wave_rec2.m 1KB
a.jpg 177B
data
薛云鹏 ZY1802338 13651001311.rar 80KB
许凤桐-ZY1802227-13110093718
许凤桐-ZY1802227-13110093718
.DS_Store 6KB
dwt2.m 739B
main.m 1KB
downsample.m 136B
idwt2.m 605B
idwt1.m 387B
dwt1.m 356B
conv.m 352B
upsample.m 194B
lena16_16.jpg 8KB
__MACOSX
许凤桐-ZY1802227-13110093718
._idwt2.m 212B
._lena16_16.jpg 243B
._idwt1.m 212B
._dwt2.m 212B
._main.m 268B
._conv.m 212B
._.DS_Store 120B
._dwt1.m 212B
._upsample.m 212B
._downsample.m 212B
lena_16x16.jpg 926B
main.m 474B
王宇鹏 SY1802212 13020073152.rar 50KB
haar_dwt2D.m 584B
王蒙_SY1802344_15810953903
main.asv 283B
wave_dec1.m 2KB
wave_rec1.m 2KB
main.m 346B
wave_rec2.m 1KB
a.jpg 177B
wave_dec2.m 583B
haar_dwt.m 281B
王蒙_SY1802344_15810953903.rar 6KB
朱熠辰 BY1805172 13020037271.zip 610KB
a2.jpg 35KB
王宇鹏 SY1802212 13020073152
王宇鹏_SY1802212_13020073152
idwt2_.m 813B
dwt_.m 295B
main.m 958B
dwt2_.m 810B
img.jpg 931B
README.docx 57KB
joint_.m 279B
conv_.m 422B
idwt_.m 297B
sample_.m 585B
朱熠辰 BY1805172 13020037271
朱熠辰+BY1805172+13020037271
mydwt2.m 472B
myfdwt1.m 171B
mydwtwave.m 397B
朱熠辰+BY1805172+13020037271.docx 595KB
plotwavedec_pyramid.m 188B
I_zyc.mat 322B
lena1.jpg 19KB
mywavedec.m 391B
mywaverec.m 291B
mydwt1.m 223B
~$辰+BY1805172+13020037271.docx 162B
myfdwt2.m 349B
a.jpg 177B
downspl.m 306B
a1.jpg 5KB
许凤桐-ZY1802227-13110093718.zip 11KB
薛云鹏 ZY1802338 13651001311
薛云鹏+ZY1802338+13651001311-小波
recover2D.m 244B
xiaobo.m 1KB
recover.m 221B
Convol.m 268B
lena.jpg 77KB
qq.jpg 465B
wave_dec2.m 583B
共 74 条
- 1
资源评论
- whph2023-07-25这个文件提供了一个简单而有效的图片二维小波变换的分解与重构的matlab代码,对于学习和实践都非常实用。
- 爱设计的唐老鸭2023-07-25代码写得很清晰,结构简洁明了,让人很容易理解和使用。
- 小崔个人精进录2023-07-25通过这份代码,我们可以明确地了解图片二维小波变换的分解与重构的步骤和流程,非常适合在课堂上进行演示和介绍。
- 半清斋2023-07-25这份文件的代码注释详尽,方便初学者学习和理解算法的原理和应用。
- 狼You2023-07-25这个文件的作者在代码中还提供了一些额外的优化方案,增加了代码的可拓展性和实用性,非常值得推荐和使用。
小达爱学习
- 粉丝: 9964
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功