现在时间是:
当前位置:首 页 >> Matlab>> 教学区>> 文章列表

17074148压缩图片

作者:李明明张童刘瑶冯特   发布时间:2019-06-18 16:37:03   浏览次数:61

I=imread('test.jpg');

imshow(I);

[m,n]=size(I(:,:,1));

O=zeros(m,n);

R=I(:,:,1);

G=I(:,:,2);

B=I(:,:,3);

R=double(R);

G=double(G);

B=double(B);

A=[O G R B];

[U S V]=svdQ(A);

k=1;

Sx=S(1:k,1:k);

while(sum(sum(Sx))/sum(sum(S))<0.95)%sum(sum(Sx)对矩阵Sx的所有元素求和;sum(sum(S))对矩阵S的所有元素求和;sum(Sx)是对矩阵各个列求和

     Q=timesQ(U(:,[1:k,m+1:m+k,2*m+1:2*m+k,3*m+1:3*m+k]),[Sx,zeros(k,3*k)]);

     Q=timesQ(Q,transQ(V(:,[1:k,n+1:n+k,2*n+1:2*n+k,3*n+1:3*n+k])));

     [Qm,Qn]=size(Q);

     Qn=Qn/4;%

     X(:,:,2)=Q(:,Qn+1:2*Qn);

     X(:,:,1)=Q(:,2*Qn+1:3*Qn);

     X(:,:,3)=Q(:,3*Qn+1:4*Qn);

     figure;

    imshow(uint8(X));

    k=k+1;

    Sx=S(1:k,1:k);

end  

 






上一篇:没有了    下一篇:没有了

Copyright ©2020    计算数学达人 All Right Reserved.

技术支持:自助建站 | 领地网站建设 |短信接口 |燕窝 版权所有 © 2005-2020 lingw.net.粤ICP备16125321号 -5