http://blog.csdn.net/a784763307/article/details/17289317

这篇比较棒


openCV版

void PrintMatrix(CvMat *Matrix,int Rows,int Cols)
{
for(int i=;i<Rows;i++)
{
for(int j=;j<Cols;j++)
{
printf("%.2f ",cvGet2D(Matrix,i,j).val[]);
}
printf("\n");
}
}
int main()
{
float Coordinates[]={1.5,2.3,
3.0,1.7,
1.2,2.9,
2.1,2.2,
3.1,3.1,
1.3,2.7,
2.0,1.7,
1.0,2.0,
0.5,0.6,
1.0,0.9};
CvMat *Vector1;
CvMat *AvgVector;
CvMat *EigenValue_Row;
CvMat *EigenVector; Vector1=cvCreateMat(,,CV_32FC1);
cvSetData(Vector1,Coordinates,Vector1->step);
AvgVector=cvCreateMat(,,CV_32FC1);
EigenValue_Row=cvCreateMat(,,CV_32FC1);
EigenVector=cvCreateMat(,,CV_32FC1); cvCalcPCA(Vector1,AvgVector,EigenValue_Row,EigenVector,CV_PCA_DATA_AS_ROW); printf("Original Data:\n");
PrintMatrix(Vector1,,); printf("==========\n");
PrintMatrix(AvgVector,,); printf("\nEigne Value:\n");
PrintMatrix(EigenValue_Row,,); printf("\nEigne Vector:\n"); //每一行是一个特征向量。
PrintMatrix(EigenVector,,);
cout<<"******************************"<<endl; system("pause");
return ; }

最新文章

  1. Linux笔记:使用Vim编辑器
  2. 【软件使用】GitHub使用教程for Eclipse
  3. easyUI datagrid学习笔记
  4. LVS NAT模式
  5. Docker中的镜像分层技术详解
  6. Android应用增加计时器
  7. 转__Android Studio ,基于intellij idea
  8. CSS3 伪类选择器 :nth-child()
  9. 韦东山yy公开课笔记(2)--汇编,段,栈,重定位/链接地址,位置无关吗
  10. Python中 os._exit() sys.exit() exit()区别
  11. easyui treegrid实现显示checkbox并能获取到选定值的
  12. Alamofire源码解读系列(八)之安全策略(ServerTrustPolicy)
  13. 大数据处理架构hadoop
  14. Mapreduce入门和优化方案
  15. zabbix_get无法执行agent端的脚本文件解决办法
  16. c语言的fopen
  17. GNU Radio: Multiple USRP configurations 配置多个USRP设备
  18. UVA10859 Placing Lampposts
  19. 一键去除网页BOM属性【解决乱码,头部空白,&amp;#65279问题】
  20. 禁用Java JDK的自动更新

热门文章

  1. RPC学习--C#使用Thrift简介,C#客户端和Java服务端相互交互
  2. Android开发LogCat一直不停输出的解决方法
  3. Error:Protocol family unavailable
  4. [z]查找锁表并解锁
  5. 我 &amp;&amp; symfony3 (路由)
  6. Spring ioc容器
  7. 中国能用的NTP服务器地址
  8. ASP数组全集,多维数组和一维数组[转]
  9. Xamarin For Android 遇到错误java.exe exited with code 1. (msb6006)
  10. jsp:软件包 javax.servlet 不存在