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)
85 name_ =
"TrajkovicKeypoint2D";
148 greaterCornernessAtIndices (
int a,
int b)
const
158 int half_window_size_;
160 IntensityT intensity_;
162 float first_threshold_;
164 float second_threshold_;
166 unsigned int threads_{1};
172 #include <pcl/keypoints/impl/trajkovic_2d.hpp>
Keypoint represents the base class for key points.
std::string name_
The key point detection method's name.
shared_ptr< PointCloud< PointT > > Ptr
std::vector< PointT, Eigen::aligned_allocator< PointT > > points
The point data.
TrajkovicKeypoint2D implements Trajkovic and Hedley corner detector on organized point cloud using in...
unsigned int getNumberOfThreads() const
typename Keypoint< PointInT, PointOutT >::PointCloudOut PointCloudOut
void setSecondThreshold(float threshold)
set the second threshold to reject corners in the final cornerness computation stage.
void setNumberOfThreads(unsigned int nr_threads=0)
Initialize the scheduler and set the number of threads to use.
TrajkovicKeypoint2D(ComputationMethod method=FOUR_CORNERS, int window_size=3, float first_threshold=0.1, float second_threshold=100.0)
Constructor.
ComputationMethod getMethod() const
void detectKeypoints(PointCloudOut &output) override
void setWindowSize(int window_size)
Set window size.
float getSecondThreshold() const
shared_ptr< const TrajkovicKeypoint2D< PointInT, PointOutT, IntensityT > > ConstPtr
typename PointCloudIn::ConstPtr PointCloudInConstPtr
int getWindowSize() const
float getFirstThreshold() const
bool initCompute() override
void setMethod(ComputationMethod method)
set the method of the response to be calculated.
shared_ptr< TrajkovicKeypoint2D< PointInT, PointOutT, IntensityT > > Ptr
typename Keypoint< PointInT, PointOutT >::PointCloudIn PointCloudIn
void setFirstThreshold(float threshold)
set the first_threshold to reject corners in the simple cornerness computation stage.