[Documentation] [TitleIndex] [WordIndex

This package implements point cloud registration, using the Normal Distributions Transform. Two basic classes are available - point to distributiuon registration (NDTMatcherP2D) and distribution to distribution registration (NDTMatcherD2D). The point to distribution algorithm is described here and the distribution to distribution here.

Documentation

Refer to CodeAPI for detailed description of the classes and interfaces.

Example

   1 #include <ndt_matcher_d2d.h>
   2 #include <pointcloud_utils.h>
   3 
   4 int main() {
   5     double __res[] = {0.5, 1, 2, 4};
   6     std::vector<double> resolutions (__res, __res+sizeof(__res)/sizeof(double));
   7     lslgeneric::NDTMatcherD2D <pcl::PointXYZ,pcl::PointXYZ> matcherD2D (false,false,resolutions);
   8     Eigen::Transform<double,3,Eigen::Affine,Eigen::ColMajor> T;
   9     pcl::PointCloud<pcl::PointXYZ> cloud1,cloud2;
  10     //... load information into cloud1 and cloud2 ...
  11     bool ret = matcherD2D.match2D(cloud1,cloud2,T);
  12     //we now have T, which minimizes |cloud1 - cloud2*T| 
  13     lslgeneric::transformPointCloudInPlace<pcl::PointXYZ>(T,cloud2);
  14 }

Nodes


2024-06-15 12:58