小波图像重构 Matlab 程序 - V3.0版

这是一个介绍如何使用Matlab进行小波图像重构的程序,包括mywaverec2函数及其辅助函数的详细解释。程序支持图像的多级分解与重构,并提供了重构图像的示例,展示了16x16随机矩阵的分解和重构过程,结果显示重构图像与原图像一致。

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

%----------------------------------------------------------%
小波图像分解 Matlab 程序 - V2.0版
 
小波图像重构 Matlab 程序 - V2.0版
%----------------------------------------------------------%
%----------------------------------------------------------%
       小波重构矩阵 Matlab 程序 - V3.0版
%----------------------------------------------------------%
function xrec=mywaverec2(coef,scf,recdim,wname)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 函数 MYWAVEREC2() 对输入的分解系数矩阵x进行 recdim 层重构,得到重构矩阵 xrec
% 输入参数:y —— 分解系数矩阵;
%          recdim —— 重构级数;
%          wname —— 重构所用的小波函数
% 输出参数:xrec —— 重构矩阵。
%
% Copyright by Zou Yuhua ( chenyusiyuan ), Version: 3.0, Date: 2008-07-08
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 
% 求小波函数对应的重构滤波器组系数
[Lo_R,Hi_R] = wfilters(wname,'r');
% 通过小波系数矩阵求出图像的分解级数 decdim
[yr,yc]=size(coef); % 小波系数矩阵 coef 是一个细胞矩阵(cell matrix),其中有 yr 个子矩阵,yc=1
decdim=(yr-1)/3;    % 图像的 N 级分解会产生 1 个低频矩阵,N*3 个高频矩阵
if decdim<recdim
    error(['Reconstruction level can not larger than decomposition level ( declev = ',num2str(decdim),' )'])
end
 
rcA=coef{1};
for i=1:recdim          % 依次获取第 decdim 级至第(decdim - recdim + 1)级的高频系数矩阵
    rcV=coef{(i-1)*3+2};
    rcH=coef{(i-1)*3+3};
    rcD=coef{(i-1)*3+4};            
    rcA=myidwt2(rcA,rcV,rcH,rcD,Lo_R,Hi_R,scf(i+2,:));           % 第 N 级重构得到第 N-1 级低频系数矩阵 
end
xrec=rcA;                    % 重构结束后得到的矩阵 rcA 即为输出矩阵 xrec
 
plotxrec(decdim,recdim,xrec)
 
 
function plotxrec(decdim,recdim,xrec)
figure;
xr=uint8(xrec);            % 将矩阵xrec的数据格式转换为适合显示图像的uint8格式
[sr,sc]=size(xr);
imshow(xr);
title(['Reconstructed Image. DecLevel = ',num2str(decdim),' , RecLevel = ',num2str(recdim)]);
xlabel(['Size : ',num2str(sr),'*',num2str(sc)]);    % 显示重构矩阵的大小
 
 
 
function outcA=myidwt2(rcA,rcV,rcH,rcD,Lo_R,Hi_R,scf)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 函数 MYIDWT2() 对输入的子矩阵序列进行逆小波变换,重构出矩阵 y
% 输入参数:rcA,rcV,rcH,rcD —— 第 N 级低频、高频系数矩阵
%          Lo_R,Hi_R —— 图像重构用到的低通、高通滤波器系数
%          scf —— 本级小波分解系数矩阵的大小
% 输出参数:outcA —— 第 N-1 级低频系数矩阵,当N-1=0时即为重构图像。
%
% Copyright by Zou Yuhua ( chenyusiyuan ), Version: 3.0, Date: 2008-07-08
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
% 将四个第 N 级系数矩阵组合成一个矩阵
tmp_mat=[rcA,rcV;rcH,rcD];
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值