Point Cloud Library (PCL)
1.11.1-dev
|
43 #include <pcl/features/feature.h>
66 template <
typename Po
intInT,
typename Po
intNT,
typename Po
intOutT,
typename Po
intRFT = pcl::ReferenceFrame>
71 using Ptr = shared_ptr<SHOTEstimationBase<PointInT, PointNT, PointOutT, PointRFT> >;
72 using ConstPtr = shared_ptr<const SHOTEstimationBase<PointInT, PointNT, PointOutT, PointRFT> >;
117 const std::vector<float> &sqr_dists,
118 Eigen::VectorXf &shot) = 0;
145 const std::vector<float> &sqr_dists,
147 std::vector<double> &binDistance,
149 Eigen::VectorXf &shot);
166 std::vector<double> &bin_distance_shape);
218 template <
typename Po
intInT,
typename Po
intNT,
typename Po
intOutT = pcl::SHOT352,
typename Po
intRFT = pcl::ReferenceFrame>
222 using Ptr = shared_ptr<SHOTEstimation<PointInT, PointNT, PointOutT, PointRFT> >;
223 using ConstPtr = shared_ptr<const SHOTEstimation<PointInT, PointNT, PointOutT, PointRFT> >;
265 const std::vector<float> &sqr_dists,
266 Eigen::VectorXf &shot)
override;
296 template <
typename Po
intInT,
typename Po
intNT,
typename Po
intOutT = pcl::SHOT1344,
typename Po
intRFT = pcl::ReferenceFrame>
300 using Ptr = shared_ptr<SHOTColorEstimation<PointInT, PointNT, PointOutT, PointRFT> >;
301 using ConstPtr = shared_ptr<const SHOTColorEstimation<PointInT, PointNT, PointOutT, PointRFT> >;
330 bool describe_color =
true)
351 const std::vector<float> &sqr_dists,
352 Eigen::VectorXf &shot)
override;
374 const std::vector<float> &sqr_dists,
376 std::vector<double> &binDistanceShape,
377 std::vector<double> &binDistanceColor,
378 const int nr_bins_shape,
379 const int nr_bins_color,
380 Eigen::VectorXf &shot);
401 RGB2CIELAB (
unsigned char R,
unsigned char G,
unsigned char B,
float &L,
float &A,
float &B2);
408 #ifdef PCL_NO_PRECOMPILE
409 #include <pcl/features/impl/shot.hpp>
shared_ptr< Feature< PointInT, pcl::SHOT1344 > > Ptr
SHOTEstimation()
Empty constructor.
FeatureWithLocalReferenceFrames provides a public interface for descriptor extractor classes which ne...
SHOTEstimation estimates the Signature of Histograms of OrienTations (SHOT) descriptor for a given po...
void computePointSHOT(const int index, const pcl::Indices &indices, const std::vector< float > &sqr_dists, Eigen::VectorXf &shot) override
Estimate the SHOT descriptor for a given point based on its spatial neighborhood of 3D points with no...
void createBinDistanceShape(int index, const pcl::Indices &indices, std::vector< double > &bin_distance_shape)
Create a binned distance shape histogram.
virtual void computePointSHOT(const int index, const pcl::Indices &indices, const std::vector< float > &sqr_dists, Eigen::VectorXf &shot)=0
Estimate the SHOT descriptor for a given point based on its spatial neighborhood of 3D points with no...
static void RGB2CIELAB(unsigned char R, unsigned char G, unsigned char B, float &L, float &A, float &B2)
Converts RGB triplets to CIELab space.
double radius1_2_
1/2 of the search radius.
virtual float getLRFRadius() const
Get the radius used for local reference frame estimation.
bool initCompute() override
This method should get called before starting the actual computation.
~SHOTEstimation()
Empty destructor.
bool b_describe_shape_
Compute shape descriptor.
shared_ptr< const Feature< PointInT, pcl::SHOT1344 > > ConstPtr
static float sRGB_LUT[256]
~SHOTColorEstimation()
Empty destructor.
const int maxAngularSectors_
...
bool b_describe_color_
Compute color descriptor.
void computeFeature(pcl::PointCloud< PointOutT > &output) override
Estimate the Signatures of Histograms of OrienTations (SHOT) descriptors at a set of points given by ...
const int nr_grid_sector_
Number of azimuthal sectors.
SHOTEstimation estimates the Signature of Histograms of OrienTations (SHOT) descriptor for a given po...
void interpolateSingleChannel(const pcl::Indices &indices, const std::vector< float > &sqr_dists, const int index, std::vector< double > &binDistance, const int nr_bins, Eigen::VectorXf &shot)
Quadrilinear interpolation used when color and shape descriptions are NOT activated simultaneously.
virtual void setLRFRadius(float radius)
Set the radius used for local reference frame estimation if the frames are not set by the user.
Eigen::VectorXf shot_
Placeholder for a point's SHOT.
int nr_shape_bins_
The number of bins in each shape histogram.
int nr_color_bins_
The number of bins in each color histogram.
void interpolateDoubleChannel(const pcl::Indices &indices, const std::vector< float > &sqr_dists, const int index, std::vector< double > &binDistanceShape, std::vector< double > &binDistanceColor, const int nr_bins_shape, const int nr_bins_color, Eigen::VectorXf &shot)
Quadrilinear interpolation; used when color and shape descriptions are both activated.
void computePointSHOT(const int index, const pcl::Indices &indices, const std::vector< float > &sqr_dists, Eigen::VectorXf &shot) override
Estimate the SHOT descriptor for a given point based on its spatial neighborhood of 3D points with no...
SHOTColorEstimation(bool describe_shape=true, bool describe_color=true)
Empty constructor.
IndicesAllocator<> Indices
Type used for indices in PCL.
int descLength_
One SHOT length.
void computeFeature(pcl::PointCloud< PointOutT > &output) override
Estimate the Signatures of Histograms of OrienTations (SHOT) descriptors at a set of points given by ...
~SHOTEstimationBase()
Empty destructor.
SHOTEstimationBase(int nr_shape_bins=10)
Empty constructor.
void normalizeHistogram(Eigen::VectorXf &shot, int desc_length)
Normalize the SHOT histogram.
static float sXYZ_LUT[4000]
double radius3_4_
3/4 of the search radius.
double sqradius_
The squared search radius.
double radius1_4_
1/4 of the search radius.
SHOTColorEstimation estimates the Signature of Histograms of OrienTations (SHOT) descriptor for a giv...
std::string feature_name_
The feature name.
float lrf_radius_
The radius used for the LRF computation.
Feature represents the base feature class.