Loading...
Searching...
No Matches
pcl::AgastKeypoint2D< pcl::PointXYZ, pcl::PointUV > Class Reference
Module keypoints

Detects 2D AGAST corner points. More...

`#include <pcl/keypoints/agast_2d.h>`

Inheritance diagram for pcl::AgastKeypoint2D< pcl::PointXYZ, pcl::PointUV >:

## Public Member Functions

| AgastKeypoint2D ()
| Constructor.
| ~AgastKeypoint2D () override=default
| Destructor.
Public Member Functions inherited from pcl::AgastKeypoint2DBase< pcl::PointXYZ, pcl::PointUV, pcl::common::IntensityFieldAccessor< pcl::PointXYZ > >
| AgastKeypoint2DBase ()
| Constructor.
| ~AgastKeypoint2DBase () override=default
| Destructor.
void | setThreshold (const double threshold)
| Sets the threshold for corner detection.
double | getThreshold ()
| Get the threshold for corner detection, as set by the user.
void | setMaxKeypoints (const unsigned int nr_max_keypoints)
| Sets the maximum number of keypoints to return.
unsigned int | getMaxKeypoints ()
| Get the maximum number of keypoints to return, as set by the user.
void | setMaxDataValue (const double bmax)
| Sets the max image data value (affects how many iterations AGAST does)
double | getMaxDataValue ()
| Get the bmax image value, as set by the user.
void | setNonMaxSuppression (const bool enabled)
| Sets whether non-max-suppression is applied or not.
bool | getNonMaxSuppression ()
| Returns whether non-max-suppression is applied or not.
void | setAgastDetector (const AgastDetectorPtr &detector)
AgastDetectorPtr | getAgastDetector ()
Public Member Functions inherited from pcl::Keypoint< ImageType >
| Keypoint ()=default
void | harrisCorner (ImageType &output, ImageType &input, const float sigma_d, const float sigma_i, const float alpha, const float thresh)
void | hessianBlob (ImageType &output, ImageType &input, const float sigma, bool SCALE)
void | hessianBlob (ImageType &output, ImageType &input, const float start_scale, const float scaling_factor, const int num_scales)
void | imageElementMultiply (ImageType &output, ImageType &input1, ImageType &input2)
| Keypoint ()
| Empty constructor.
| ~Keypoint () override=default
| Empty destructor.
virtual void | setSearchSurface (const PointCloudInConstPtr &cloud)
| Provide a pointer to the input dataset that we need to estimate features at every point for.
PointCloudInConstPtr | getSearchSurface ()
| Get a pointer to the surface point cloud dataset.
void | setSearchMethod (const KdTreePtr &tree)
| Provide a pointer to the search object.
KdTreePtr | getSearchMethod ()
| Get a pointer to the search method used.
double | getSearchParameter ()
| Get the internal search parameter.
void | setKSearch (int k)
| Set the number of k nearest neighbors to use for the feature estimation.
int | getKSearch ()
| get the number of k nearest neighbors used for the feature estimation.
void | setRadiusSearch (double radius)
| Set the sphere radius that is to be used for determining the nearest neighbors used for the key point detection.
double | getRadiusSearch ()
| Get the sphere radius used for determining the neighbors.
pcl::PointIndicesConstPtr | getKeypointsIndices ()
void | compute (PointCloudOut &output)
| Base method for key point detection for all points given in <setInputCloud (), setIndices ()> using the surface in setSearchSurface () and the spatial locator in setSearchMethod ()
int | searchForNeighbors (pcl::index_t index, double parameter, pcl::Indices &indices, std::vector< float > &distances) const
| Search for k-nearest neighbors using the spatial locator from setSearchmethod, and the given surface from setSearchSurface.
Public Member Functions inherited from pcl::PCLBase< PointInT >
| PCLBase ()
| Empty constructor.
| PCLBase (const PCLBase &base)
| Copy constructor.
virtual | ~PCLBase ()=default
| Destructor.
virtual void | setInputCloud (const PointCloudConstPtr &cloud)
| Provide a pointer to the input dataset.
PointCloudConstPtr const | getInputCloud () const
| Get a pointer to the input point cloud dataset.
virtual void | setIndices (const IndicesPtr &indices)
| Provide a pointer to the vector of indices that represents the input data.
virtual void | setIndices (const IndicesConstPtr &indices)
| Provide a pointer to the vector of indices that represents the input data.
virtual void | setIndices (const PointIndicesConstPtr &indices)
| Provide a pointer to the vector of indices that represents the input data.
virtual void | setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols)
| Set the indices for the points laying within an interest region of the point cloud.
IndicesPtr | getIndices ()
| Get a pointer to the vector of indices used.
IndicesConstPtr const | getIndices () const
| Get a pointer to the vector of indices used.
const PointInT & | operator[] (std::size_t pos) const
| Override PointCloud operator[] to shorten code.

## Protected Member Functions

void | detectKeypoints (pcl::PointCloud< pcl::PointUV > &output) override
| Detects the keypoints.
Protected Member Functions inherited from pcl::AgastKeypoint2DBase< pcl::PointXYZ, pcl::PointUV, pcl::common::IntensityFieldAccessor< pcl::PointXYZ > >
bool | initCompute () override
| Initializes everything and checks whether input data is fine.
void | detectKeypoints (PointCloudOut &output) override=0
| Detects the keypoints.
Protected Member Functions inherited from pcl::Keypoint< ImageType >
const std::string & | getClassName () const
| Get a string representation of the name of this class.
virtual void | detectKeypoints (PointCloudOut &output)=0
| Abstract key point detection method.
Protected Member Functions inherited from pcl::PCLBase< PointInT >
bool | initCompute ()
| This method should get called before starting the actual computation.
bool | deinitCompute ()
| This method should get called after finishing the actual computation.

## Additional Inherited Members

Public Types inherited from pcl::AgastKeypoint2DBase< pcl::PointXYZ, pcl::PointUV, pcl::common::IntensityFieldAccessor< pcl::PointXYZ > >
using | PointCloudIn = typename Keypoint< pcl::PointXYZ, pcl::PointUV >::PointCloudIn
using | PointCloudOut = typename Keypoint< pcl::PointXYZ, pcl::PointUV >::PointCloudOut
using | KdTree = typename Keypoint< pcl::PointXYZ, pcl::PointUV >::KdTree
using | PointCloudInConstPtr = typename PointCloudIn::ConstPtr
using | AgastDetectorPtr = pcl::keypoints::agast::AbstractAgastDetector::Ptr
Public Types inherited from pcl::Keypoint< ImageType >
using | Ptr = shared_ptr< Keypoint< PointInT, PointOutT > >
using | ConstPtr = shared_ptr< const Keypoint< PointInT, PointOutT > >
using | BaseClass = PCLBase< PointInT >
using | KdTree = pcl::search::Search< PointInT >
using | KdTreePtr = typename KdTree::Ptr
using | PointCloudIn = pcl::PointCloud< PointInT >
using | PointCloudInPtr = typename PointCloudIn::Ptr
using | PointCloudInConstPtr = typename PointCloudIn::ConstPtr
using | PointCloudOut = pcl::PointCloud< PointOutT >
using | SearchMethod = std::function< int(pcl::index_t, double, pcl::Indices &, std::vector< float > &)>
using | SearchMethodSurface = std::function< int(const PointCloudIn &cloud, pcl::index_t index, double, pcl::Indices &, std::vector< float > &)>
Public Types inherited from pcl::PCLBase< PointInT >
using | PointCloud = pcl::PointCloud< PointInT >
using | PointCloudPtr = typename PointCloud::Ptr
using | PointCloudConstPtr = typename PointCloud::ConstPtr
using | PointIndicesPtr = PointIndices::Ptr
using | PointIndicesConstPtr = PointIndices::ConstPtr
Protected Attributes inherited from pcl::AgastKeypoint2DBase< pcl::PointXYZ, pcl::PointUV, pcl::common::IntensityFieldAccessor< pcl::PointXYZ > >
pcl::common::IntensityFieldAccessor< pcl::PointXYZ > | intensity_
| Intensity field accessor.
double | threshold_
| Threshold for corner detection.
bool | apply_non_max_suppression_
| Determines whether non-max-suppression is activated.
double | bmax_
| Max image value.
AgastDetectorPtr | detector_
| The Agast detector to use.
unsigned int | nr_max_keypoints_
| The maximum number of keypoints to return.
Protected Attributes inherited from pcl::Keypoint< ImageType >
std::string | name_
| The key point detection method's name.
SearchMethod | search_method_
| The search method template for indices.
SearchMethodSurface | search_method_surface_
| The search method template for points.
PointCloudInConstPtr | surface_
| An input point cloud describing the surface that is to be used for nearest neighbors estimation.
KdTreePtr | tree_
| A pointer to the spatial search object.
double | search_parameter_ {0.0}
| The actual search parameter (casted from either search_radius_ or k_).
double | search_radius_ {0.0}
| The nearest neighbors search radius for each point.
int | k_ {0}
| The number of K nearest neighbors to use for each point.
pcl::PointIndicesPtr | keypoints_indices_
| Indices of the keypoints in the input cloud.
Protected Attributes inherited from pcl::PCLBase< PointInT >
PointCloudConstPtr | input_
| The input point cloud dataset.
IndicesPtr | indices_
| A pointer to the vector of point indices to use.
bool | use_indices_
| Set to true if point indices are used.
bool | fake_indices_
| If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud.

## Detailed Description

Detects 2D AGAST corner points.

Based on the original work and paper reference by

  Elmar Mair, Gregory D. Hager, Darius Burschka, Michael Suppa, and Gerhard Hirzinger. Adaptive and generic corner detection based on the accelerated segment test. In Proceedings of the European Conference on Computer Vision (ECCV'10), September 2010.

Code example:

pcl::PointCloud<pcl::PointXYZRGBA> cloud;
pcl::AgastKeypoint2D<pcl::PointXYZRGBA> agast;
agast.setThreshold (30);
agast.setInputCloud (cloud);
PointCloud<pcl::PointUV> keypoints;
agast.compute (keypoints);
pcl::AgastKeypoint2DBase::setThreshold
void setThreshold(const double threshold)
Sets the threshold for corner detection.
Definition agast_2d.h:586
pcl::AgastKeypoint2D
Detects 2D AGAST corner points.
Definition agast_2d.h:716
pcl::Keypoint::compute
void compute(PointCloudOut &output)
Base method for key point detection for all points given in <setInputCloud (), setIndices ()> using t...
Definition keypoint.hpp:137
pcl::PCLBase::setInputCloud
virtual void setInputCloud(const PointCloudConstPtr &cloud)
Provide a pointer to the input dataset.
Definition pcl_base.hpp:65
pcl::PointCloud
PointCloud represents the base class in PCL for storing collections of 3D points.
Definition point_cloud.h:173

Note
  This is a specialized version for PointXYZ clouds, and operates on depth (z) as float. The output keypoints are of the PointXY type.
  The AGAST keypoint type used is 7_12s.

Author
  Stefan Holzer, Radu B. Rusu

Definition at line 775 of file agast_2d.h.

## Constructor & Destructor Documentation

## AgastKeypoint2D()

pcl::AgastKeypoint2D< pcl::PointXYZ, pcl::PointUV >::AgastKeypoint2D | ( |  | ) |

inline

Constructor.

Definition at line 780 of file agast_2d.h.

References pcl::AgastKeypoint2DBase< PointInT, PointOutT, IntensityT >::bmax_, and pcl::Keypoint< PointInT, PointOutT >::name_.

## ~AgastKeypoint2D()

pcl::AgastKeypoint2D< pcl::PointXYZ, pcl::PointUV >::~AgastKeypoint2D | ( |  | ) |

override default

Destructor.

## Member Function Documentation

## detectKeypoints()

void pcl::AgastKeypoint2D< pcl::PointXYZ, pcl::PointUV >::detectKeypoints | ( | pcl::PointCloud< pcl::PointUV > & | output | ) |

override protected

Detects the keypoints.

Parameters

  [out] | output | the resultant keypoints

The documentation for this class was generated from the following file:

- pcl/keypoints/agast_2d.h