processs.m
来自「这是一个不错的图像压缩的Matlab程序,希望能对你有所帮助.」· M 代码 · 共 52 行
M
52 行
function ProcessS(S)
global Xa
global T
global LSP
global LISi;global LISj;
global outline
global each
global LISisz
%if S(1)==13
% S(1)
%end
%if S(2)==4
% S(2)
%end
if max(abs(Xa(S(1):S(1)+S(2)-1)))>=T
outline=[outline,'1'];
%if S is a coefficient,output sign of S and add S to LSP
if S(2)==1 %S是单点数
LSP=[LSP,S(1)];
if Xa(S(1))>0
outline=[outline,'+'];
else
outline=[outline,'-'];
end
else %S是集合
CodeS(S);
end
%
j=find(LISi==S(1));
k=find(LISj(j)==S(2));
if LISj(j(k))==S(2) %判断是否S在LIS内
LISi=[LISi(1:j(k)-1),LISi(j(k)+1:end)]; %移走S
LISj=[LISj(1:j(k)-1),LISj(j(k)+1:end)];
each=each-1;
LISisz=LISisz-1;
%LISk=[LISk(1:j-1),LISk(j+1:end)];
end
else
outline=[outline,'0'];
j=find(LISi==S(1));
k=find(LISj(j)==S(2));
if LISj(j(k))==S(2) %判断是否S在LIS内
break;
else
LISi=[LISi,S(1)]; %添加S到LIS
LISj=[LISj,S(2)];
%each=each+1;
%LISk=[LISk,squa(S(2))];
end
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?