Detects 2D AGAST corner points. More...
#include <pcl/keypoints/agast_2d.h>
Public Member Functions |
|
AgastKeypoint2D () | |
Constructor. More... |
|
~AgastKeypoint2D () | |
Destructor. More... |
|
Public Member Functions inherited from pcl::AgastKeypoint2DBase< pcl::PointXYZ, pcl::PointUV, pcl::common::IntensityFieldAccessor< pcl::PointXYZ > > | |
AgastKeypoint2DBase () | |
Constructor. More... |
|
~AgastKeypoint2DBase () | |
Destructor. More... |
|
void | setThreshold (const double threshold) |
Sets the threshold for corner detection. More... |
|
double | getThreshold () |
Get the threshold for corner detection, as set by the user. More... |
|
void | setMaxKeypoints (const unsigned int nr_max_keypoints) |
Sets the maximum number of keypoints to return. More... |
|
unsigned int | getMaxKeypoints () |
Get the maximum number of keypoints to return, as set by the user. More... |
|
void | setMaxDataValue (const double bmax) |
Sets the max image data value (affects how many iterations AGAST does) More... |
|
double | getMaxDataValue () |
Get the bmax image value, as set by the user. More... |
|
void | setNonMaxSuppression (const bool enabled) |
Sets whether non-max-suppression is applied or not. More... |
|
bool | getNonMaxSuppression () |
Returns whether non-max-suppression is applied or not. More... |
|
void | setAgastDetector (const AgastDetectorPtr &detector) |
AgastDetectorPtr | getAgastDetector () |
Public Member Functions inherited from pcl::Keypoint< pcl::PointXYZ, pcl::PointUV > | |
Keypoint () | |
Keypoint () | |
Empty constructor. More... |
|
void | harrisCorner (pcl::PointXYZ &output, pcl::PointXYZ &input, const float sigma_d, const float sigma_i, const float alpha, const float thresh) |
void | hessianBlob (pcl::PointXYZ &output, pcl::PointXYZ &input, const float sigma, bool SCALE) |
void | hessianBlob (pcl::PointXYZ &output, pcl::PointXYZ &input, const float start_scale, const float scaling_factor, const int num_scales) |
void | imageElementMultiply (pcl::PointXYZ &output, pcl::PointXYZ &input1, pcl::PointXYZ &input2) |
~Keypoint () | |
Empty destructor. More... |
|
virtual void | setSearchSurface (const PointCloudInConstPtr &cloud) |
Provide a pointer to the input dataset that we need to estimate features at every point for. More... |
|
PointCloudInConstPtr | getSearchSurface () |
Get a pointer to the surface point cloud dataset. More... |
|
void | setSearchMethod (const KdTreePtr &tree) |
Provide a pointer to the search object. More... |
|
KdTreePtr | getSearchMethod () |
Get a pointer to the search method used. More... |
|
double | getSearchParameter () |
Get the internal search parameter. More... |
|
void | setKSearch (int k) |
Set the number of k nearest neighbors to use for the feature estimation. More... |
|
int | getKSearch () |
get the number of k nearest neighbors used for the feature estimation. More... |
|
void | setRadiusSearch (double radius) |
Set the sphere radius that is to be used for determining the nearest neighbors used for the key point detection. More... |
|
double | getRadiusSearch () |
Get the sphere radius used for determining the neighbors. More... |
|
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 () More... |
|
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. More... |
|
Protected Member Functions |
|
void | detectKeypoints (pcl::PointCloud< pcl::PointUV > &output) override |
Detects the keypoints. More... |
|
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. More... |
|
void | detectKeypoints (PointCloudOut &output) override=0 |
Detects the keypoints. More... |
|
Protected Member Functions inherited from pcl::Keypoint< pcl::PointXYZ, pcl::PointUV > | |
const std::string & | getClassName () const |
Get a string representation of the name of this class. More... |
|
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< pcl::PointXYZ, pcl::PointUV > | |
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 > &)> |
Protected Attributes inherited from pcl::AgastKeypoint2DBase< pcl::PointXYZ, pcl::PointUV, pcl::common::IntensityFieldAccessor< pcl::PointXYZ > > | |
pcl::common::IntensityFieldAccessor< pcl::PointXYZ > | intensity_ |
Intensity field accessor. More... |
|
double | threshold_ |
Threshold for corner detection. More... |
|
bool | apply_non_max_suppression_ |
Determines whether non-max-suppression is activated. More... |
|
double | bmax_ |
Max image value. More... |
|
AgastDetectorPtr | detector_ |
The Agast detector to use. More... |
|
unsigned int | nr_max_keypoints_ |
The maximum number of keypoints to return. More... |
|
Protected Attributes inherited from pcl::Keypoint< pcl::PointXYZ, pcl::PointUV > | |
std::string | name_ |
The key point detection method's name. More... |
|
SearchMethod | search_method_ |
The search method template for indices. More... |
|
SearchMethodSurface | search_method_surface_ |
The search method template for points. More... |
|
PointCloudInConstPtr | surface_ |
An input point cloud describing the surface that is to be used for nearest neighbors estimation. More... |
|
KdTreePtr | tree_ |
A pointer to the spatial search object. More... |
|
double | search_parameter_ |
The actual search parameter (casted from either search_radius_ or k_). More... |
|
double | search_radius_ |
The nearest neighbors search radius for each point. More... |
|
int | k_ |
The number of K nearest neighbors to use for each point. More... |
|
pcl::PointIndicesPtr | keypoints_indices_ |
Indices of the keypoints in the input cloud. More... |
|
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:
agast.
setThreshold (30);
agast.setInputCloud (cloud);
PointCloud<pcl::PointUV> keypoints;
agast.
compute (keypoints);
- 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.
Definition at line 781 of file agast_2d.h.
Constructor & Destructor Documentation
AgastKeypoint2D()
|
inline |
Constructor.
Definition at line 786 of file agast_2d.h.
References pcl::AgastKeypoint2DBase< PointInT, pcl::PointUV, pcl::common::IntensityFieldAccessor< PointInT > >::bmax_, and pcl::Keypoint< PointInT, pcl::PointUV >::name_.
~AgastKeypoint2D()
|
inline |
Destructor.
Definition at line 793 of file agast_2d.h.
Member Function Documentation
detectKeypoints()
|
overrideprotected |
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
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_agast_keypoint2_d_3_01pcl_1_1_point_x_y_z_00_01pcl_1_1_point_u_v_01_4.html