43 #include <pcl/point_cloud.h>
44 #include <pcl/point_representation.h>
45 #include <pcl/kdtree/impl/kdtree_flann.hpp>
46 #include <pcl/registration/gicp.h>
71 x = y = z = 0.0f; data[3] = 1.0f;
105 class PCL_EXPORTS GeneralizedIterativeClosestPoint6D :
public GeneralizedIterativeClosestPoint<PointXYZRGBA, PointXYZRGBA>
107 using PointSource = PointXYZRGBA;
108 using PointTarget = PointXYZRGBA;
116 GeneralizedIterativeClosestPoint6D (
float lab_weight = 0.032f);
124 setInputSource (
const PointCloudSourceConstPtr& cloud)
override;
132 setInputTarget (
const PointCloudTargetConstPtr& target)
override;
141 computeTransformation (PointCloudSource& output,
142 const Eigen::Matrix4f& guess)
override;
150 searchForNeighbors (
const PointXYZLAB& query, std::vector<int>& index, std::vector<float>&
distance);
160 KdTreeFLANN<PointXYZLAB> target_tree_lab_;
166 class MyPointRepresentation :
public PointRepresentation<PointXYZLAB>
172 using Ptr = shared_ptr<MyPointRepresentation>;
173 using ConstPtr = shared_ptr<const MyPointRepresentation>;
175 MyPointRepresentation ()
182 ~MyPointRepresentation ()
189 return Ptr (
new MyPointRepresentation (*
this));
193 copyToFloatArray (
const PointXYZLAB &p,
float * out)
const override
206 MyPointRepresentation point_rep_;