博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
matlab练习程序(PCA<SVD>)
阅读量:5316 次
发布时间:2019-06-14

本文共 862 字,大约阅读时间需要 2 分钟。

clear all;

close all;
clc;
img1=imread('Corner.png');
img2=imread('Corner1.png');
img3=imread('Corner2.png');

img1=imresize(img1,[35 90]); %Matlab的svd不支持太大的数据,我把数据变小了.

img2=imresize(img2,[35 90]);
img3=imresize(img3,[35 90]);

[height width]=size(img2);

a=reshape(double(img1),1,35*90);
b=reshape(double(img2),1,35*90);
c=reshape(double(img3),1,35*90);

ma=mean(a);

mb=mean(b);
mc=mean(c);

a=a-ma;

b=b-mb;
c=c-mc;

x=[a' b' c'];

x=double(x);
%y=x'*x/(height*width);

%[v d]=eig(y);

[u s w]=svd(x); %w相当于排序后的d,用svd就不用求x'*x了

ed=x*w;%v;

img4=zeros(height,width);

img4=reshape(ed(:,1),height,width);

img5=zeros(height,width);

img5=reshape(ed(:,2),height,width);

img6=zeros(height,width);

img6=reshape(ed(:,3),height,width);

imshow(mat2gray(img4));

figure,imshow(mat2gray(img5));
figure,imshow(mat2gray(img6));

 

参考:

1.

转载于:https://www.cnblogs.com/yangxiao99/p/4751245.html

你可能感兴趣的文章
linux如何查看所有的用户(user)、用户组(group)、密码(password/passwd)
查看>>
Python集合和函数
查看>>
SQL Server中,with as使用介绍
查看>>
基于Mint UI和MUI开发VUE项目一之环境搭建和首页的实现
查看>>
UI交互设计教程分享:提高界面交互体验的“葵花宝典”
查看>>
有哪些漂亮的中国风 LOGO 设计?
查看>>
Windows下的HEAP溢出及其利用
查看>>
Struts2和Struts1的不同
查看>>
linux下解压命令大全
查看>>
TeaPot 用webgl画茶壶(3) 环境纹理和skybox
查看>>
Asp.NET中如何一次性下载多个文件
查看>>
一切阅读都是误读
查看>>
MVC中提交表单的4种方式
查看>>
[sol]250OJ 1~10
查看>>
webjars管理静态资源
查看>>
前后台分离--概念相关
查看>>
LightOJ - 1027 A Dangerous Maze —— 期望
查看>>
AC自动机小结
查看>>
UITabBar Contoller
查看>>
vue---day03
查看>>