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>
void setSecondThreshold(float threshold)
set the second threshold to reject corners in the final cornerness computation stage.
shared_ptr< PointCloud< PointT > > Ptr
std::vector< PointT, Eigen::aligned_allocator< PointT > > points
The point data.
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 point cloud using in...
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
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