⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ac.m

📁 独特的压缩方法,基于空间向量的压缩方法,压缩比不大但是效果好.
💻 M
字号:
%压缩过程 被se调用返回压缩系数(2)
function [pr1,pr2,pr3,pb1,pb2,pb3]=AC(Ar,Ag,Ab)
Ang=0;%均值赋值为0
Ang1=0;
Ang2=0;
count1=0;count2=0;count3=0;count11=0;count22=0;count33=0;%计数器初始化为0
pr1=0;pr2=0;pr3=0;pb1=0;pb2=0;pb3=0;%压缩系数初始化为0
%Ar=double(Ar);Ag=double(Ag);Ab=double(Ab);
[m,n]=size(Ag);%Ag为32x32,m n为Ag行列数
Ang=mean2(Ag); %Ang为整图块平均值
Ang1=(Ag<=Ang);   %Ang1为左侧平均值
Ang1=double(Ang1);
p=sum(Ang1(:));
Ang1=Ang1.*Ag;
Ang1=sum(Ang1(:))/p;%Ang1为左侧均值点

Ang2=(Ag>Ang);  
Ang2=double(Ang2);
q=sum(Ang2(:));
Ang2=Ang2.*Ag;
Ang2=sum(Ang2(:))/q;%Ang2为右侧平均值


for i1=1:m
    for j1=1:n
        if  Ang1 >= Ag(i1,j1)
            pr1=pr1+(Ar(i1,j1)-Ag(i1,j1));
            count1=count1+1;
        elseif Ang2 >= Ag(i1,j1)
                pr3=pr3+(Ar(i1,j1)-Ag(i1,j1));
                count3=count3+1;
        else
            pr2=pr2+(Ar(i1,j1)-Ag(i1,j1));
            count2=count2+1;
        end
    end
end
if count1 == 0
    pr1=pr1;
else
    pr1=pr1/count1;
end
if count2 == 0
    pr2=pr2;
else
    pr2=pr2/count2;
end
if count3 == 0
    pr3=pr3;
else
    pr3=pr3/count3;
end




for i2=1:m
    for j2=1:n
        if Ang1 >= Ag(i2,j2)
            pb1=pb1+(Ab(i2,j2)-Ag(i2,j2));
            count11=count11+1;
        elseif Ag(i2,j2) >= Ang2
                pb3=pb3+(Ab(i2,j2)-Ag(i2,j2));
                count33=count33+1;
        else
            pb2=pb2+(Ab(i2,j2)-Ag(i2,j2));
            count22=count22+1;
        end
    end
end
if count11==0
    pb1=pb1;
else
    pb1=pb1/count11;
end
if count22==0
    pb2=pb2;
else
    pb2=pb2/count22;
end
if count33==0
    pb3=pb3;
else
    pb3=pb3/count33;
end


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -