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

📄 ca1.m

📁 独特的压缩方法,基于空间向量的压缩方法,压缩比不大但是效果好.
💻 M
字号:
%从压缩的码中重构图象过程(3)
function g=CA1(Ag,z)
[m,n]=size(Ag);
Ag=double(Ag);
Ang=mean2(Ag); %Ang为整图平均值
Ang1=(Ag <= Ang);   %Ang1为左侧平均值
Ang1=double(Ang1);
p=sum(Ang1(:));
Ang1=Ang1.*Ag;%重新根据Ag计算左右两侧平均值
Ang1=sum(Ang1(:))/p;

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

Ar1=zeros(m,n);
Ab1=zeros(m,n);
for i3=1:16
    for j3=1:16
       
       for l=1:32
            for k=1:32
                 pr1=z(i3,j3,1);pr2=z(i3,j3,2);pr3=z(i3,j3,3);pb1=z(i3,j3,4);pb2=z(i3,j3,5);pb3=z(i3,j3,6);
                if Ang1 >= Ag((i3-1)*32+l,(j3-1)*32+k)
                    Ar1((i3-1)*32+l,(j3-1)*32+k)=Ag((i3-1)*32+l,(j3-1)*32+k)+pr1;
                    Ab1((i3-1)*32+l,(j3-1)*32+k)=Ag((i3-1)*32+l,(j3-1)*32+k)+pb1;
                elseif Ag((i3-1)*32+l,(j3-1)*32+k) >= Ang2
                     Ar1((i3-1)*32+l,(j3-1)*32+k)=Ag((i3-1)*32+l,(j3-1)*32+k)+pr3;
                     Ab1((i3-1)*32+l,(j3-1)*32+k)=Ag((i3-1)*32+l,(j3-1)*32+k)+pb3;
                else
                     Ar1((i3-1)*32+l,(j3-1)*32+k)=Ag((i3-1)*32+l,(j3-1)*32+k)+pr2;
                     Ab1((i3-1)*32+l,(j3-1)*32+k)=Ag((i3-1)*32+l,(j3-1)*32+k)+pb2;
                end
            end
        end
    end
end
Ar1=mat2gray(Ar1);
Ag=mat2gray(Ag);
Ab1=mat2gray(Ab1);
g=cat(3,Ar1,Ag,Ab1);
imshow(g);

⌨️ 快捷键说明

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