37 #ifndef PCL_HARRIS_KEYPOINT_6D_H_
38 #define PCL_HARRIS_KEYPOINT_6D_H_
40 #include <pcl/keypoints/keypoint.h>
49 template <
typename Po
intInT,
typename Po
intOutT,
typename NormalT = pcl::Normal>
53 typedef boost::shared_ptr<HarrisKeypoint6D<PointInT, PointOutT, NormalT> >
Ptr;
54 typedef boost::shared_ptr<const HarrisKeypoint6D<PointInT, PointOutT, NormalT> >
ConstPtr;
77 : threshold_ (threshold)
84 name_ =
"HarrisKeypoint6D";
135 unsigned int threads_;
136 boost::shared_ptr<pcl::PointCloud<NormalT> > normals_;
137 boost::shared_ptr<pcl::PointCloud<pcl::IntensityGradient> > intensity_gradients_;
141 #include <pcl/keypoints/impl/harris_6d.hpp>
143 #endif // #ifndef PCL_HARRIS_KEYPOINT_6D_H_
A point structure representing normal coordinates and the surface curvature estimate.
void calculateCombinedCovar(const std::vector< int > &neighbors, float *coefficients) const
boost::shared_ptr< const PointCloud< PointT > > ConstPtr
void refineCorners(PointCloudOut &corners) const
void setNonMaxSupression(bool=false)
whether non maxima suppression should be applied or the response for each point should be returned ...
virtual ~HarrisKeypoint6D()
Empty destructor.
std::string name_
The key point detection method's name.
double search_radius_
The nearest neighbors search radius for each point.
HarrisKeypoint6D(float radius=0.01, float threshold=0.0)
Constructor.
void responseTomasi(PointCloudOut &output) const
void detectKeypoints(PointCloudOut &output)
Abstract key point detection method.
Keypoint represents the base class for key points.
Keypoint< PointInT, PointOutT >::PointCloudOut PointCloudOut
boost::shared_ptr< HarrisKeypoint6D< PointInT, PointOutT, NormalT > > Ptr
PointCloudInConstPtr surface_
An input point cloud describing the surface that is to be used for nearest neighbors estimation...
void setNumberOfThreads(unsigned int nr_threads=0)
Initialize the scheduler and set the number of threads to use.
void setRadius(float radius)
set the radius for normal estimation and non maxima supression.
void setRefine(bool do_refine)
whether the detected key points should be refined or not.
PointCloudIn::ConstPtr PointCloudInConstPtr
void setThreshold(float threshold)
set the threshold value for detecting corners.
A point structure representing the intensity gradient of an XYZI point cloud.
boost::shared_ptr< const HarrisKeypoint6D< PointInT, PointOutT, NormalT > > ConstPtr
Keypoint< PointInT, PointOutT >::PointCloudIn PointCloudIn
virtual void setSearchSurface(const PointCloudInConstPtr &cloud)
Provide a pointer to the input dataset that we need to estimate features at every point for...
Keypoint detector for detecting corners in 3D (XYZ), 2D (intensity) AND mixed versions of these...
Keypoint< PointInT, PointOutT >::KdTree KdTree