41 #include <pcl/kdtree/impl/kdtree_flann.hpp>
42 #include <pcl/registration/gicp.h>
44 #include <pcl/pcl_exports.h>
45 #include <pcl/point_cloud.h>
46 #include <pcl/point_representation.h>
101 const Eigen::Matrix4f& guess)
override;
133 using Ptr = shared_ptr<MyPointRepresentation>;
134 using ConstPtr = shared_ptr<const MyPointRepresentation>;
Custom point representation to perform kdtree searches in more than 3 (i.e.
shared_ptr< MyPointRepresentation > Ptr
~MyPointRepresentation() override=default
void copyToFloatArray(const PointXYZLAB &p, float *out) const override
Copy point data from input point to a float array.
shared_ptr< const MyPointRepresentation > ConstPtr
GeneralizedIterativeClosestPoint6D integrates L*a*b* color space information into the Generalized Ite...
bool searchForNeighbors(const PointXYZLAB &query, pcl::Indices &index, std::vector< float > &distance)
Search for the closest nearest neighbor of a given point.
void setInputSource(const PointCloudSourceConstPtr &cloud) override
Provide a pointer to the input source (e.g., the point cloud that we want to align to the target)
void computeTransformation(PointCloudSource &output, const Eigen::Matrix4f &guess) override
Rigid transformation computation method with initial guess.
void setInputTarget(const PointCloudTargetConstPtr &target) override
Provide a pointer to the input target (e.g., the point cloud that we want to align the input source t...
MyPointRepresentation point_rep_
Enables 6d searches with kd-tree class using the color weight.
float lab_weight_
The color weight.
pcl::PointCloud< PointXYZLAB >::Ptr cloud_lab_
Holds the converted (LAB) data cloud.
KdTreeFLANN< PointXYZLAB > target_tree_lab_
6d-tree to search in model cloud.
GeneralizedIterativeClosestPoint6D(float lab_weight=0.032f)
constructor.
pcl::PointCloud< PointXYZLAB >::Ptr target_lab_
Holds the converted (LAB) model cloud.
GeneralizedIterativeClosestPoint is an ICP variant that implements the generalized iterative closest ...
KdTreeFLANN is a generic type of 3D spatial locator using kD-tree structures.
shared_ptr< PointCloud< PointT > > Ptr
PointRepresentation provides a set of methods for converting a point structs/object into an n-dimensi...
typename PointCloudSource::ConstPtr PointCloudSourceConstPtr
typename PointCloudTarget::ConstPtr PointCloudTargetConstPtr
Defines all the PCL implemented PointT point type structures.
Defines functions, macros and traits for allocating and using memory.
float distance(const PointT &p1, const PointT &p2)
IndicesAllocator<> Indices
Type used for indices in PCL.
A point structure representing Euclidean xyz coordinates, and the CIELAB color.
A point structure representing Euclidean xyz coordinates, and the RGBA color.