Point Cloud Library (PCL)
1.11.1-dev
|
40 #include <pcl/keypoints/keypoint.h>
50 template <
typename Po
intInT,
typename Po
intOutT,
typename NormalT = pcl::Normal>
54 using Ptr = shared_ptr<HarrisKeypoint3D<PointInT, PointOutT, NormalT> >;
55 using ConstPtr = shared_ptr<const HarrisKeypoint3D<PointInT, PointOutT, NormalT> >;
86 : threshold_ (threshold)
92 name_ =
"HarrisKeypoint3D";
178 unsigned int threads_;
182 #include <pcl/keypoints/impl/harris_3d.hpp>
void setRefine(bool do_refine)
Whether the detected key points should be refined or not.
void responseLowe(PointCloudOut &output) const
shared_ptr< HarrisKeypoint3D< PointInT, PointOutT, NormalT > > Ptr
void setNonMaxSupression(bool=false)
Whether non maxima suppression should be applied or the response for each point should be returned.
void responseCurvature(PointCloudOut &output) const
void setNumberOfThreads(unsigned int nr_threads=0)
Initialize the scheduler and set the number of threads to use.
typename PointCloudN::Ptr PointCloudNPtr
~HarrisKeypoint3D()
Empty destructor.
void refineCorners(PointCloudOut &corners) const
double search_radius_
The nearest neighbors search radius for each point.
void setSearchSurface(const PointCloudInConstPtr &cloud) override
Provide a pointer to a dataset to add additional information to estimate the features for every point...
bool initCompute() override
void setMethod(ResponseMethod type)
Set the method of the response to be calculated.
void setRadius(float radius)
Set the radius for normal estimation and non maxima supression.
void setInputCloud(const PointCloudInConstPtr &cloud) override
Provide a pointer to the input dataset.
PointCloudInConstPtr surface_
An input point cloud describing the surface that is to be used for nearest neighbors estimation.
typename PointCloudN::ConstPtr PointCloudNConstPtr
HarrisKeypoint3D uses the idea of 2D Harris keypoints, but instead of using image gradients,...
typename PointCloudIn::ConstPtr PointCloudInConstPtr
void responseHarris(PointCloudOut &output) const
gets the corner response for valid input points
typename Keypoint< PointInT, PointOutT >::PointCloudIn PointCloudIn
void calculateNormalCovar(const std::vector< int > &neighbors, float *coefficients) const
calculates the upper triangular part of unnormalized covariance matrix over the normals given by the ...
void setThreshold(float threshold)
Set the threshold value for detecting corners.
HarrisKeypoint3D(ResponseMethod method=HARRIS, float radius=0.01f, float threshold=0.0f)
Constructor.
std::string name_
The key point detection method's name.
shared_ptr< PointCloud< NormalT > > Ptr
void responseTomasi(PointCloudOut &output) const
shared_ptr< const PointCloud< NormalT > > ConstPtr
Keypoint represents the base class for key points.
shared_ptr< const HarrisKeypoint3D< PointInT, PointOutT, NormalT > > ConstPtr
void setNormals(const PointCloudNConstPtr &normals)
Set normals if precalculated normals are available.
void detectKeypoints(PointCloudOut &output) override
typename Keypoint< PointInT, PointOutT >::PointCloudOut PointCloudOut
void responseNoble(PointCloudOut &output) const
typename Keypoint< PointInT, PointOutT >::KdTree KdTree