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

16074301 实训3

作者:成婷   发布时间:2019-05-21 17:23:46   浏览次数:82

1、  灰白图压缩

代码:

I=imread('1.jpg');

I=double(I);

[U,S,V]=svd(I);

for k=1:50

    I_k=U(:,1:k)*S(1:k,1:k)*V(:,1:k)';

    figure;

    imshow(I_k);

end

实验结果:

Figure 1 原图                               Figure 2 压缩图                          

1、  彩色图压缩

代码:

clc

clear all

I=imread('4.jpg');

imshow(I);

I=double(I);

R=I(:,:,1);

G=I(:,:,2);

B=I(:,:,3);

[M,N]=size(R);

A0=zeros(M,N);

A=[A0 G R B];

[U,S,V]=svdQ(A);

for k=1:15

    Ik=timesQ(U(:,[1:k M+1:M+k 2*M+1:2*M+k 3*M+1:3*M+k]),[S(1:k,1:k) zeros(k,k) zeros(k,k) zeros(k,k)]);

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

    figure;

    imshowQ(Ik);

end

实验结果

Figure 3 原图                                Figure 4  压缩图

 

 







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

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

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