Я пытаюсь зарегистрировать попарно облако, чтобы получить 3D-шаблон, но я получаю предупреждениерегистрация PCL облаков
[pcl::SampleConsensusModelRegistration::computeSampleDistanceThreshold] Covariance matrix has NaN values! Is the input cloud finite?
[pcl::RandomSampleConsensus::computeModel] No samples could be selected!
с последующим сигналом 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()
Моим код является:
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);
Любые идеи, почему матрица ковариации может иметь значения NaN? Облака из разных кадров из потока kinect.
В матрице cov используются точки соответствия вашего источника и облака целевой точки. Вы устанавливаете максимальное расстояние соответствия 0,3, но, возможно, соответствия в облаках имеют большее расстояние. Таким образом, у вас нет соответствий для построения матрицы cov. – bashbug