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

16074306 作业七

作者:唐书娟   发布时间:2019-05-21 17:28:48   浏览次数:128

灰白图的压缩:

分析:利用奇异值分解的svd函数可压缩,通过取前k个奇异值对应矩阵可得压缩图

代码:

I=imread('2.jpg');

I=double(I);

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

for k=1:50

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

   figure;

   imshow(J);%uint8(J)

end

实验结果:

原图:

压缩后的图:

彩图的压缩:

分析:

利用四元数矩阵存储彩色照片,利用四元数的奇异值分解svdQ函数取前k个奇异值对应矩阵,以及四元数绘图函数imshowQ绘出压缩后的图形。

代码:

I=imread('tets.jpg');

imshow(I);

R=I(:,:,1);

G=I(:,:,2);

B=I(:,:,3);

R=double(R);

G=double(G);

B=double(B);

[M,N]=size(B);

O=zeros(M,N);

A=[O G R B];

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

for k=1:40

   J=timesQ(timesQ([U(:,1:k),U(:,(M+1):(M+k)),U(:,(M*2+1):(M*2+k)),U(:,(M*3+1):(M*3+k))],[S(1:k,1:k),zeros(k,k),zeros(k,k),zeros(k,k)]),transQ([V(:,1:k),V(:,(N+1):(N+k)),V(:,(N*2+1):(N*2+k)),V(:,(N*3+1):(N*3+k))]));

   figure;

   imshowQ(J);

end          

实验结果:

原图:

彩图的压缩:

分析:

利用四元数矩阵存储彩色照片,利用四元数的奇异值分解svdQ函数取前k个奇异值对应矩阵,以及四元数绘图函数imshowQ绘出压缩后的图形。

代码:

I=imread('tets.jpg');

imshow(I);

R=I(:,:,1);

G=I(:,:,2);

B=I(:,:,3);

R=double(R);

G=double(G);

B=double(B);

[M,N]=size(B);

O=zeros(M,N);

A=[O G R B];

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

for k=1:40

   J=timesQ(timesQ([U(:,1:k),U(:,(M+1):(M+k)),U(:,(M*2+1):(M*2+k)),U(:,(M*3+1):(M*3+k))],[S(1:k,1:k),zeros(k,k),zeros(k,k),zeros(k,k)]),transQ([V(:,1:k),V(:,(N+1):(N+k)),V(:,(N*2+1):(N*2+k)),V(:,(N*3+1):(N*3+k))]));

   figure;

   imshowQ(J);

end          

实验结果:

原图:

压缩后的图:







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

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

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