[英]PCL registration of clouds
I'm trying to pairwise register clouds to get a 3D template, but i get the warnings 我正在尝试成对注册云以获取3D模板,但我得到了警告
[pcl::SampleConsensusModelRegistration::computeSampleDistanceThreshold] Covariance matrix has NaN values! Is the input cloud finite?
[pcl::RandomSampleConsensus::computeModel] No samples could be selected!
followed by signal SIGSEGV, segmentation fault: 其次是信号SIGSEGV,分段故障:
0x00007ffff344114d in pcl::registration::TransformationEstimationSVD<pcl::PointXYZRGBA, pcl::PointXYZRGBA, float>::estimateRigidTransformation(pcl::ConstCloudIterator<pcl::PointXYZRGBA>&, pcl::ConstCloudIterator<pcl::PointXYZRGBA>&, Eigen::Matrix<float, 4, 4, 0, 4, 4>&) const ()
My code is: 我的代码是:
registration->setInputSource(source);
registration->setInputTarget(target);
registration->setMaxCorrespondenceDistance(0.3);
registration->setRANSACOutlierRejectionThreshold(0.00001);
registration->setTransformationEpsilon(10e-6);
registration->setMaximumIterations(400);
registration->setRANSACIterations(10);
CloudMapper::Cloud::Ptr c(new CloudMapper::Cloud);
registration->align(*c);
Any ideas why the covariance matrix could have NaN values? 为什么协方差矩阵可能具有NaN值? The clouds are from different frames from a kinect stream.
云来自kinect流的不同帧。
It was indeed the CorrespondenceDistance. 它确实是CorrespondenceDistance。 My point clouds were in a different scale.
我的点云有不同的规模。 In the PCL documentation, the distances are in meters but my point clouds are in millimeters, so i need a correspondence distance *1000
在PCL文档中,距离以米为单位,但我的点云以毫米为单位,因此我需要一个对应距离* 1000
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.