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> >
81 , window_size_ (window_size)
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>
Iterator class for point clouds with or without given indices.
Keypoint represents the base class for key points.
std::string name_
The key point detection method's name.
pcl::PointIndicesPtr keypoints_indices_
Indices of the keypoints in the input cloud.
PointCloudConstPtr input_
The input point cloud dataset.
IndicesPtr indices_
A pointer to the vector of point indices to use.
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 pooint cloud using i...
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
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.
typename Keypoint< PointInT, PointOutT >::PointCloudIn PointCloudIn
void setFirstThreshold(float threshold)
set the first_threshold to reject corners in the simple cornerness computation stage.