38 #ifndef PCL_HARRIS_KEYPOINT_3D_H_
39 #define PCL_HARRIS_KEYPOINT_3D_H_
41 #include <pcl/keypoints/keypoint.h>
51 template <
typename Po
intInT,
typename Po
intOutT,
typename NormalT = pcl::Normal>
55 typedef boost::shared_ptr<HarrisKeypoint3D<PointInT, PointOutT, NormalT> >
Ptr;
56 typedef boost::shared_ptr<const HarrisKeypoint3D<PointInT, PointOutT, NormalT> >
ConstPtr;
85 : threshold_ (threshold)
91 name_ =
"HarrisKeypoint3D";
135 setNormals (
const PointCloudNConstPtr &normals);
170 PointCloudNConstPtr normals_;
171 unsigned int threads_;
175 #include <pcl/keypoints/impl/harris_3d.hpp>
177 #endif // #ifndef PCL_HARRIS_KEYPOINT_3D_H_
Keypoint< PointInT, PointOutT >::KdTree KdTree
PointCloudN::Ptr PointCloudNPtr
boost::shared_ptr< HarrisKeypoint3D< PointInT, PointOutT, NormalT > > Ptr
PointCloudInConstPtr surface_
An input point cloud describing the surface that is to be used for nearest neighbors estimation...
void responseHarris(PointCloudOut &output) const
gets the corner response for valid input points
void responseCurvature(PointCloudOut &output) const
void responseLowe(PointCloudOut &output) const
PointCloudN::ConstPtr PointCloudNConstPtr
Keypoint< PointInT, PointOutT >::PointCloudIn PointCloudIn
void setRadius(float radius)
Set the radius for normal estimation and non maxima supression.
void responseTomasi(PointCloudOut &output) const
virtual void setSearchSurface(const PointCloudInConstPtr &cloud)
Provide a pointer to a dataset to add additional information to estimate the features for every point...
void responseNoble(PointCloudOut &output) const
boost::shared_ptr< const PointCloud< PointInT > > ConstPtr
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 refineCorners(PointCloudOut &corners) const
HarrisKeypoint3D(ResponseMethod method=HARRIS, float radius=0.01f, float threshold=0.0f)
Constructor.
double search_radius_
The nearest neighbors search radius for each point.
pcl::PointCloud< NormalT > PointCloudN
virtual ~HarrisKeypoint3D()
Empty destructor.
void setThreshold(float threshold)
Set the threshold value for detecting corners.
HarrisKeypoint3D uses the idea of 2D Harris keypoints, but instead of using image gradients...
void setMethod(ResponseMethod type)
Set the method of the response to be calculated.
Keypoint represents the base class for key points.
void detectKeypoints(PointCloudOut &output)
Abstract key point detection method.
PointCloudIn::ConstPtr PointCloudInConstPtr
boost::shared_ptr< const HarrisKeypoint3D< PointInT, PointOutT, NormalT > > ConstPtr
boost::shared_ptr< PointCloud< NormalT > > Ptr
void setNumberOfThreads(unsigned int nr_threads=0)
Initialize the scheduler and set the number of threads to use.
Keypoint< PointInT, PointOutT >::PointCloudOut PointCloudOut
std::string name_
The key point detection method's name.
void setNonMaxSupression(bool=false)
Whether non maxima suppression should be applied or the response for each point should be returned...
void setRefine(bool do_refine)
Whether the detected key points should be refined or not.
void setNormals(const PointCloudNConstPtr &normals)
Set normals if precalculated normals are available.