38 #ifndef PCL_TRAJKOVIC_KEYPOINT_2D_H_
39 #define PCL_TRAJKOVIC_KEYPOINT_2D_H_
41 #include <pcl/keypoints/keypoint.h>
42 #include <pcl/common/intensity.h>
54 template <
typename Po
intInT,
typename Po
intOutT,
typename IntensityT = pcl::common::IntensityFieldAccessor<Po
intInT> >
58 typedef boost::shared_ptr<TrajkovicKeypoint2D<PointInT, PointOutT, IntensityT> >
Ptr;
59 typedef boost::shared_ptr<const TrajkovicKeypoint2D<PointInT, PointOutT, IntensityT> >
ConstPtr;
79 float first_threshold = 0.1,
80 float second_threshold = 100.0)
82 , window_size_ (window_size)
83 , first_threshold_ (first_threshold)
84 , second_threshold_ (second_threshold)
87 name_ =
"TrajkovicKeypoint2D";
150 greaterCornernessAtIndices (
int a,
int b)
const
160 int half_window_size_;
162 IntensityT intensity_;
164 float first_threshold_;
166 float second_threshold_;
168 unsigned int threads_;
174 #include <pcl/keypoints/impl/trajkovic_2d.hpp>
176 #endif // #ifndef PCL_TRAJKOVIC_KEYPOINT_2D_H_
void setSecondThreshold(float threshold)
set the second threshold to reject corners in the final cornerness computation stage.
boost::shared_ptr< const PointCloud< PointT > > ConstPtr
void detectKeypoints(PointCloudOut &output)
Abstract key point detection method.
boost::shared_ptr< PointCloud< PointT > > Ptr
std::string name_
The key point detection method's name.
void setMethod(ComputationMethod method)
set the method of the response to be calculated.
ComputationMethod getMethod() const
void setNumberOfThreads(unsigned int nr_threads=0)
Initialize the scheduler and set the number of threads to use.
TrajkovicKeypoint2D implements Trajkovic and Hedley corner detector on organized pooint cloud using i...
PointCloudIn::ConstPtr PointCloudInConstPtr
std::vector< PointT, Eigen::aligned_allocator< PointT > > points
The point data.
boost::shared_ptr< TrajkovicKeypoint2D< PointInT, PointOutT, IntensityT > > Ptr
Keypoint represents the base class for key points.
float getSecondThreshold() const
unsigned int getNumberOfThreads() const
boost::shared_ptr< const TrajkovicKeypoint2D< PointInT, PointOutT, IntensityT > > ConstPtr
TrajkovicKeypoint2D(ComputationMethod method=FOUR_CORNERS, int window_size=3, float first_threshold=0.1, float second_threshold=100.0)
Constructor.
Keypoint< PointInT, PointOutT >::PointCloudOut PointCloudOut
int getWindowSize() const
Keypoint< PointInT, PointOutT >::PointCloudIn PointCloudIn
void setWindowSize(int window_size)
Set window size.
void setFirstThreshold(float threshold)
set the first_threshold to reject corners in the simple cornerness computation stage.
float getFirstThreshold() const