PCL MLS-Processing: нет облака точек вывода - PullRequest
0 голосов
/ 26 мая 2020

Я новичок в PCL и поэтому не знаю, как это отладить. В учебнике я нашел код для сглаживания поверхности и расчета нормалей на основе MLS. Каждый раз, когда я хочу выполнить этот фрагмент кода, я получаю пустое облако точек. Я протестировал его на файле, зафиксированном в учебнике, в котором он работал, и на другом облаке точек, зафиксированном в другом руководстве. Здесь MLS-алгоритм вернул облако точек, но каждый нормальный был 0. Я был бы рад, если бы мне кто-нибудь помог. Есть ли ограничения на обработку баллов? В моем облаке точек 4,5 миллиона точек, и это сканирование БПЛА.

// Load input file into a PointCloud<T> with an appropriate type
  pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ> ());

  // Create a KD-Tree
  pcl::search::KdTree<pcl::PointXYZ>::Ptr tree (new pcl::search::KdTree<pcl::PointXYZ>);

  // Output has the PointNormal type in order to store the normals calculated by MLS
  pcl::PointCloud<pcl::PointNormal> mls_points;

  // Init object (second point type is for the normals, even if unused)
  pcl::MovingLeastSquares<pcl::PointXYZ, pcl::PointNormal> mls;

  mls.setComputeNormals (true);

  // Set parameters
  mls.setInputCloud (cloud);
  mls.setPolynomialOrder (2);
  mls.setSearchMethod (tree);
  mls.setSearchRadius (0.03);

  // Reconstruct
  mls.process (mls_points);


...