📄 exe080903_lot_2d.m
字号:
%------------------------------------------------------------------------------------
% exe080903_LOT_2d.m
% N ------ 信号的长度, N只能取2的整次幂,且 N=8,16,...,512;
% k ------ 压缩时的参数,舍掉k个点用以重建, 0<p<=8
%------------------------------------------------------------------------------------
clear
N=128;
k=6;
% 调出图像数据 girl.bmp;
X=imread('girl.bmp','bmp');
A=double(X);
% 对信号作 LOT;
M=8; L=2*M;
a=[0.13*pi 0.16*pi 0.13*pi];
P=fast_LOT(a);
B=zeros(size(A)+L);
A2=zeros(size(B));
A2(1:M,1:M)=A(M:-1:1,M:-1:1);
A2((M+1):(N+M),(M+1):(N+M))=A';
A2((N+M+1):N+L,(N+M+1):N+L)=A(N:-1:N-M+1,N:-1:N-M+1);
C=zeros(size(A2));
%
s=size(A2);
for m=1:s(1)-1
if rem(m,8)==0
for n=1:s(2)-1
if rem(n,8)==0
B((m-8+1):m,(n-8+1):n)=P'*A2((m-8+1):m+8,(n-8+1):n+8)*P;
B((m-k+1):m,(n-8+1):n)=0;
B((m-8+1):m,(n-k+1):n)=0;
end
end
end
end
%逆 LOT,重建信号;
for m=1:s(1)-1
if rem(m,8)==0
for n=1:s(2)-1
if rem(n,8)==0
C((m-8+1):m+8,(n-8+1):n+8)=C((m-8+1):m+8,(n-8+1):n+8)+P*B((m-8+1):m,(n-8+1):n)*P';
end
end
end
end
s=size(A);
D=wkeep(C,s);
D=uint8(D');
subplot(2,2,1);
subimage(X);
axis square;xlabel('original image')
subplot(2,2,2);
subimage(D);
axis square;xlabel('reconstructed image K=2');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -