40 #include <pcl/keypoints/keypoint.h>
41 #include <pcl/common/intensity.h>
53 template <
typename Po
intInT,
typename Po
intOutT,
typename IntensityT = pcl::common::IntensityFieldAccessor<Po
intInT> >
57 using Ptr = shared_ptr<TrajkovicKeypoint2D<PointInT, PointOutT, IntensityT> >;
58 using ConstPtr = shared_ptr<const TrajkovicKeypoint2D<PointInT, PointOutT, IntensityT> >;
78 float first_threshold = 0.1,
79 float second_threshold = 100.0)
81 , window_size_ (window_size)
82 , first_threshold_ (first_threshold)
83 , second_threshold_ (second_threshold)
86 name_ =
"TrajkovicKeypoint2D";
149 greaterCornernessAtIndices (
int a,
int b)
const
159 int half_window_size_;
161 IntensityT intensity_;
163 float first_threshold_;
165 float second_threshold_;
167 unsigned int threads_;
173 #include <pcl/keypoints/impl/trajkovic_2d.hpp>
void setSecondThreshold(float threshold)
set the second threshold to reject corners in the final cornerness computation stage.
void setMethod(ComputationMethod method)
set the method of the response to be calculated.
ComputationMethod getMethod() const
bool initCompute() override
std::string name_
The key point detection method's name.
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...
std::vector< PointT, Eigen::aligned_allocator< PointT > > points
The point data.
Keypoint represents the base class for key points.
void detectKeypoints(PointCloudOut &output) override
typename Keypoint< PointInT, PointOutT >::PointCloudIn PointCloudIn
typename Keypoint< PointInT, PointOutT >::PointCloudOut PointCloudOut
shared_ptr< PointCloud< PointT > > Ptr
float getSecondThreshold() const
unsigned int getNumberOfThreads() const
TrajkovicKeypoint2D(ComputationMethod method=FOUR_CORNERS, int window_size=3, float first_threshold=0.1, float second_threshold=100.0)
Constructor.
typename PointCloudIn::ConstPtr PointCloudInConstPtr
int getWindowSize() const
shared_ptr< const TrajkovicKeypoint2D< PointInT, PointOutT, IntensityT > > ConstPtr
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
shared_ptr< TrajkovicKeypoint2D< PointInT, PointOutT, IntensityT > > Ptr