点云技术相关产学研社区

 找回密码
 立即注册加入PCL中国点云技术相关产学研社区

扫一扫,访问微社区

查看: 4676|回复: 5

关于pcl协方差矩阵和matlab协方差矩阵

[复制链接]
发表于 2015-3-27 15:42:41 | 显示全部楼层 |阅读模式
本人测试的代码由pcl得到的协方差矩阵和matlab得到的协方差矩阵,二者的结果不一样。
测试样例:
-2.531021  2.438431  -1.507828
-2.522415  2.462479  -1.511612
-2.53389  2.441177  -1.642807
pcl 代码:

pcl::PointCloud<pcl::PointXYZ> cloud_xyz;
                pcl::io::loadPCDFile("plant.pcd",cloud_xyz);

                //计算协方差矩阵
                Eigen::Matrix3f covariance_matrix;
                Eigen::Vector4f xyz_centroid;
                pcl::compute3DCentroid(cloud_xyz,xyz_centroid);
                pcl::computeCovarianceMatrix(cloud_xyz,xyz_centroid,covariance_matrix);
        std::cout<<covariance_matrix;

matlab中:
a=[-2.531021  2.438431  -1.507828-2.522415  2.462479  -1.511612
-2.53389  2.441177  -1.642807];
b=cov(a)
二者的结果不同,求大神解答



回复

使用道具 举报

发表于 2015-6-23 10:55:04 | 显示全部楼层
没有正规化吧
回复 支持 反对

使用道具 举报

发表于 2015-6-23 16:33:03 | 显示全部楼层
本帖最后由 yleiou 于 2015-6-23 21:56 编辑

现在搞清楚了,在pcl中,计算的是总体的协方差矩阵,是除以n
而matlab是根据抽样估计总体的协方差矩阵,是除以n-1.
回复 支持 反对

使用道具 举报

发表于 2017-4-25 09:35:20 | 显示全部楼层
yleiou 发表于 2015-6-23 16:33
现在搞清楚了,在pcl中,计算的是总体的协方差矩阵,是除以n
而matlab是根据抽样估计总体的协方差矩阵,是 ...

还是不太懂,pcl可以逐点的计算pca的三个特征值么
回复 支持 反对

使用道具 举报

发表于 2017-6-5 15:47:14 | 显示全部楼层
这个问题可以百度出来,百度上说的很具体
回复 支持 反对

使用道具 举报

本版积分规则

QQ|小黑屋|点云技术相关产学研社区 ( 陕ICP备13001629号 )

GMT+8, 2024-4-25 21:37 , Processed in 1.700256 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表