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

matlab 作业7

作者:16074323 王雨莹   发布时间:2019-06-18 16:38:42   浏览次数:83

灰度图像处理

分析:

灰色图片压缩,通过imread()读入图片数据I

转换图片数据存储类型为浮点型;

通过SVD分解矩阵,分解出USV,三个矩阵, [U S V]=svd(I);%svd奇异分解;

矩阵I=U*S*V’,取UV的前k列,S的前k行和前k列,即Ik=U(:,1:k)*S(1:k,1:k)*V(:,1:k)'

最后展示压缩的图片,这里要先把Ik数据存储类型转换回图片读入时的存储类型unit8,即imshow(uint8(Ik));

代码:

I=imread('D:4.jpg');  %图片必须是灰度图片

% I=rgb2gray(I);%灰度化矩阵

I=double(I);%转换存储类型为浮点型

[U S V]=svd(I);%svd奇异分解

for k=1:100

    Ik=U(:,1:k)*S(1:k,1:k)*V(:,1:k)';%U的前k列,S的前k行,前k列,V的前k

    figure;

    imshow(uint8(Ik));

end

彩色图像压缩

分析类似于灰色图片压缩方法,区别在于I为四元数矩阵,RGB分别表示红绿蓝三种颜色矩阵,其与I元素的关系是I=O+Ri+Gj+Bk;且UVS都为四元数矩阵所以取前k行或前k列时,如下:

Uk=U(:,[1:k m+1:m+k 2*m+1:2*m+k 3*m+1:3*m+k]);

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

Sk=[S(1:k,1:k) zeros(k,k) zeros(k,k) zeros(k,k)];

最后组成新的压缩图片的数据矩阵Ik,显示压缩图片。

 

clc

clear all

I=imread('tets.jpg');

imshow(I);m

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

A0=zeros(m,n);

A1=double(I(:,:,1));

A2=double(I(:,:,2));

A3=double(I(:,:,3));

A=[A0 A2 A1 A3];

[U S V]=svdQ(A);

k=1

Sx=s(1:K,1:K);

while(sum(Sx))/sum(sum(S))<0.95)

    J=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)]);

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

    [jm,jn]=size(J);

    jn=jn/4;

    X(:,:,2)=J(:,jn+1:2*jn);

    X(:,:,1)=J(:,2*jn+1:3*jn);

    X(:,:,3)=J(:,3*jn+1:4*jn);

    figure;

    imshow(uint8(X));

    k=k+1;

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

end

 

 

 

 

 

function [U,D,V]=svdQ(A)

%function [U,D,V]=svdQ(A)

%input the first block row of real presentation of quaternion matrix

%Q=A0+A1i+A2j+A3k

%A=(A0,A2,A1,A3);

% output

%D; %  is the diagonal matrix whose diagonal elements are singular values of quaternion matrix  Q

%U=[U0 U2 U1 U3]; % is the first block row of real presentation of left

%singular vectors

%V=[V0 V2 V1 V3]; % is the first block row of real presentation of right

%singular vectors

 

% by Zhigang Jia on Aug 14 2014, 02:33

 

[U,B,V]=bidiagQ(A);

 

[u,D,v]=svd(B);

 

U=U*blkdiag(u,u,u,u);

 

V=V*blkdiag(v,v,v,v);

 

 

 

 

 

 

 

 

 

 

 







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

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

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