我有两个点云,并尝试将它们缩放到相同大小。我的第一种方法是将特征值的平方根除掉:
pcl::PCA<pcl::PointNormal> pca;
pca.setInputCloud(model_cloud_ptr);
Eigen::Vector3f ev_M = pca.getEigenValues();
pca.setInputCloud(segmented_cloud_ptr);
Eigen::Vector3f ev_S = pca.getEigenValues();
double s = sqrt(ev_M[0])/sqrt(ev_S[0]);
这有助于我将模型云扩展到与分段云大致相同的大小。但是结果确实不是那么完美。这是一个简单的估计。我尝试使用TransformationEstimationSVDScale以及SampleConsensusModelRegistration
中的this tutorial来做。但是这样做时,我得到一条信息,即源点/索引的数量与目标点/索引的数量不同。
当云中有不同数量的点时,将云缩放到相同大小的最佳方法是什么?
似乎您应该能够: