Detects 2D AGAST corner points. More...
#include <pcl/keypoints/agast_2d.h>
Public Types |
|
using | PointCloudIn = typename Keypoint< PointInT, PointOutT >::PointCloudIn |
using | PointCloudOut = typename Keypoint< PointInT, PointOutT >::PointCloudOut |
using | KdTree = typename Keypoint< PointInT, PointOutT >::KdTree |
using | PointCloudInConstPtr = typename PointCloudIn::ConstPtr |
using | AgastDetectorPtr = pcl::keypoints::agast::AbstractAgastDetector::Ptr |
Public Types inherited from pcl::Keypoint< PointInT, PointOutT > | |
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 Member Functions |
|
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< PointInT, PointOutT > | |
Keypoint () | |
Keypoint () | |
Empty constructor. More... |
|
void | harrisCorner (PointInT &output, PointInT &input, const float sigma_d, const float sigma_i, const float alpha, const float thresh) |
void | hessianBlob (PointInT &output, PointInT &input, const float sigma, bool SCALE) |
void | hessianBlob (PointInT &output, PointInT &input, const float start_scale, const float scaling_factor, const int num_scales) |
void | imageElementMultiply (PointInT &output, PointInT &input1, PointInT &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 |
|
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< PointInT, PointOutT > | |
const std::string & | getClassName () const |
Get a string representation of the name of this class. More... |
|
virtual void | detectKeypoints (PointCloudOut &output)=0 |
Abstract key point detection method. More... |
|
Protected Attributes |
|
IntensityT | 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< PointInT, PointOutT > | |
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
template<typename PointInT, typename PointOutT, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
class pcl::AgastKeypoint2DBase< PointInT, PointOutT, IntensityT >
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.
- Note
- This is an abstract base class. All children must implement a detectKeypoints method, based on the type of AGAST keypoint to be used.
Definition at line 556 of file agast_2d.h.
Member Typedef Documentation
AgastDetectorPtr
using pcl::AgastKeypoint2DBase< PointInT, PointOutT, IntensityT >::AgastDetectorPtr = pcl::keypoints::agast::AbstractAgastDetector::Ptr |
Definition at line 564 of file agast_2d.h.
KdTree
using pcl::AgastKeypoint2DBase< PointInT, PointOutT, IntensityT >::KdTree = typename Keypoint<PointInT, PointOutT>::KdTree |
Definition at line 561 of file agast_2d.h.
PointCloudIn
using pcl::AgastKeypoint2DBase< PointInT, PointOutT, IntensityT >::PointCloudIn = typename Keypoint<PointInT, PointOutT>::PointCloudIn |
Definition at line 559 of file agast_2d.h.
PointCloudInConstPtr
using pcl::AgastKeypoint2DBase< PointInT, PointOutT, IntensityT >::PointCloudInConstPtr = typename PointCloudIn::ConstPtr |
Definition at line 562 of file agast_2d.h.
PointCloudOut
using pcl::AgastKeypoint2DBase< PointInT, PointOutT, IntensityT >::PointCloudOut = typename Keypoint<PointInT, PointOutT>::PointCloudOut |
Definition at line 560 of file agast_2d.h.
Constructor & Destructor Documentation
AgastKeypoint2DBase()
|
inline |
Constructor.
Definition at line 572 of file agast_2d.h.
~AgastKeypoint2DBase()
|
inline |
Destructor.
Definition at line 582 of file agast_2d.h.
Member Function Documentation
detectKeypoints()
|
overrideprotectedpure virtual |
Detects the keypoints.
- Parameters
-
[out] output the resultant keypoints
getAgastDetector()
|
inline |
Definition at line 658 of file agast_2d.h.
getMaxDataValue()
|
inline |
Get the bmax image value, as set by the user.
Definition at line 630 of file agast_2d.h.
getMaxKeypoints()
|
inline |
Get the maximum number of keypoints to return, as set by the user.
Definition at line 614 of file agast_2d.h.
getNonMaxSuppression()
|
inline |
Returns whether non-max-suppression is applied or not.
Definition at line 646 of file agast_2d.h.
getThreshold()
|
inline |
Get the threshold for corner detection, as set by the user.
Definition at line 597 of file agast_2d.h.
initCompute()
|
overrideprotectedvirtual |
Initializes everything and checks whether input data is fine.
Reimplemented from pcl::Keypoint< PointInT, PointOutT >.
Definition at line 49 of file agast_2d.hpp.
setAgastDetector()
|
inline |
Definition at line 652 of file agast_2d.h.
setMaxDataValue()
|
inline |
Sets the max image data value (affects how many iterations AGAST does)
- Parameters
-
[in] bmax the max image data value
Definition at line 623 of file agast_2d.h.
setMaxKeypoints()
|
inline |
Sets the maximum number of keypoints to return.
The estimated keypoints are sorted by their internal score.
- Parameters
-
[in] nr_max_keypoints set the maximum number of keypoints to return
Definition at line 607 of file agast_2d.h.
setNonMaxSuppression()
|
inline |
Sets whether non-max-suppression is applied or not.
- Parameters
-
[in] enabled determines whether non-max-suppression is enabled.
Definition at line 639 of file agast_2d.h.
setThreshold()
|
inline |
Sets the threshold for corner detection.
- Parameters
-
[in] threshold the threshold used for corner detection.
Definition at line 590 of file agast_2d.h.
Member Data Documentation
apply_non_max_suppression_
|
protected |
Determines whether non-max-suppression is activated.
Definition at line 681 of file agast_2d.h.
Referenced by pcl::AgastKeypoint2DBase< pcl::PointXYZ, pcl::PointUV, pcl::common::IntensityFieldAccessor< pcl::PointXYZ > >::getNonMaxSuppression(), and pcl::AgastKeypoint2DBase< pcl::PointXYZ, pcl::PointUV, pcl::common::IntensityFieldAccessor< pcl::PointXYZ > >::setNonMaxSuppression().
bmax_
|
protected |
Max image value.
Definition at line 684 of file agast_2d.h.
Referenced by pcl::AgastKeypoint2DBase< pcl::PointXYZ, pcl::PointUV, pcl::common::IntensityFieldAccessor< pcl::PointXYZ > >::getMaxDataValue(), and pcl::AgastKeypoint2DBase< pcl::PointXYZ, pcl::PointUV, pcl::common::IntensityFieldAccessor< pcl::PointXYZ > >::setMaxDataValue().
detector_
|
protected |
The Agast detector to use.
Definition at line 687 of file agast_2d.h.
Referenced by pcl::AgastKeypoint2DBase< pcl::PointXYZ, pcl::PointUV, pcl::common::IntensityFieldAccessor< pcl::PointXYZ > >::getAgastDetector(), and pcl::AgastKeypoint2DBase< pcl::PointXYZ, pcl::PointUV, pcl::common::IntensityFieldAccessor< pcl::PointXYZ > >::setAgastDetector().
intensity_
|
protected |
Intensity field accessor.
Definition at line 675 of file agast_2d.h.
nr_max_keypoints_
|
protected |
The maximum number of keypoints to return.
Definition at line 690 of file agast_2d.h.
Referenced by pcl::AgastKeypoint2DBase< pcl::PointXYZ, pcl::PointUV, pcl::common::IntensityFieldAccessor< pcl::PointXYZ > >::getMaxKeypoints(), and pcl::AgastKeypoint2DBase< pcl::PointXYZ, pcl::PointUV, pcl::common::IntensityFieldAccessor< pcl::PointXYZ > >::setMaxKeypoints().
threshold_
|
protected |
Threshold for corner detection.
Definition at line 678 of file agast_2d.h.
Referenced by pcl::AgastKeypoint2DBase< pcl::PointXYZ, pcl::PointUV, pcl::common::IntensityFieldAccessor< pcl::PointXYZ > >::getThreshold(), and pcl::AgastKeypoint2DBase< pcl::PointXYZ, pcl::PointUV, pcl::common::IntensityFieldAccessor< pcl::PointXYZ > >::setThreshold().
The documentation for this class was generated from the following files:
- pcl/keypoints/agast_2d.h
- pcl/keypoints/impl/agast_2d.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_agast_keypoint2_d_base.html