📄 denoising_2d.m
字号:
%此函数文件即是最终成型的2维去除噪声的程序,其他的是在此基础上的改进型
function Ys=denoising_2D(s,tt,r)
%S为输入信号,tt为分解层数,r为协调系数(0~1之间)
[c,l]=wavedec2(s,tt,'sym4');
cs=c;
A=appcoef2(c,l,'sym4',tt);
sA=size(A);
rA=sA(1,1);%计算的A行数
cA=sA(1,2);%计算的A列数
newA=zhuan(A,rA,cA);
tA=rA*cA;
for i=tt:-1:1
HL=detcoef2('h',c,l,i);
LH=detcoef2('v',c,l,i);
HH=detcoef2('d',c,l,i);
sD=size(LH);
rD=sD(1,1);%计算的D行数
cD=sD(1,2);%计算的D列数
tD=rD*cD;
nLH=zhuan(LH,rD,cD);%huan
nLH=nLH*r;
t1=tA+tD+1; t2=tA+tD*2;
t11=tA+1; t21=tA+tD;
t12=tA+tD*2+1; t22=tA+tD*3;
cs(t1:t2)=nLH;
cs(t11:t21)=0;
cs(t12:t22)=0;
tA=tA+tD*3;
end
Ys=waverec2(cs,l,'sym4');
%sub Function 2
function news=zhuan(s,a,b)
c=0;
for i=1:b
r=1+c;c=a*i;
news(r:c)=s(:,i);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -