point_cloud_library / 1.12.1 / classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html /

Abstract detector class for AGAST corner point detectors. More...

#include <pcl/keypoints/agast_2d.h>

Classes

struct CompareScoreIndex
Score index comparator. More...
struct ScoreIndex
Structure holding an index and the associated keypoint score. More...

Public Types

using Ptr = shared_ptr< AbstractAgastDetector >
using ConstPtr = shared_ptr< const AbstractAgastDetector >

Public Member Functions

AbstractAgastDetector (const std::size_t width, const std::size_t height, const double threshold, const double bmax)
Constructor. More...
virtual ~AbstractAgastDetector ()
Destructor. More...
void detectKeypoints (const std::vector< unsigned char > &intensity_data, pcl::PointCloud< pcl::PointUV > &output) const
Detects corner points. More...
void detectKeypoints (const std::vector< float > &intensity_data, pcl::PointCloud< pcl::PointUV > &output) const
Detects corner points. More...
void applyNonMaxSuppression (const std::vector< unsigned char > &intensity_data, const pcl::PointCloud< pcl::PointUV > &input, pcl::PointCloud< pcl::PointUV > &output)
Applies non-max-suppression. More...
void applyNonMaxSuppression (const std::vector< float > &intensity_data, const pcl::PointCloud< pcl::PointUV > &input, pcl::PointCloud< pcl::PointUV > &output)
Applies non-max-suppression. More...
virtual int computeCornerScore (const unsigned char *im) const =0
Computes corner score. More...
virtual int computeCornerScore (const float *im) const =0
Computes corner score. 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...
virtual void detect (const unsigned char *im, std::vector< pcl::PointUV, Eigen::aligned_allocator< pcl::PointUV > > &corners_all) const =0
Detects points of interest (i.e., keypoints) in the given image. More...
virtual void detect (const float *im, std::vector< pcl::PointUV, Eigen::aligned_allocator< pcl::PointUV > > &) const =0
Detects points of interest (i.e., keypoints) in the given image. More...

Protected Member Functions

virtual void initPattern ()=0
Initializes the sample pattern. More...
void applyNonMaxSuppression (const pcl::PointCloud< pcl::PointUV > &input, const std::vector< ScoreIndex > &scores, pcl::PointCloud< pcl::PointUV > &output)
Non-max-suppression helper method. More...
void computeCornerScores (const unsigned char *im, const std::vector< pcl::PointUV, Eigen::aligned_allocator< pcl::PointUV > > &corners_all, std::vector< ScoreIndex > &scores) const
Computes corner scores for the specified points. More...
void computeCornerScores (const float *im, const std::vector< pcl::PointUV, Eigen::aligned_allocator< pcl::PointUV > > &corners_all, std::vector< ScoreIndex > &scores) const
Computes corner scores for the specified points. More...

Protected Attributes

std::size_t width_
Width of the image to process. More...
std::size_t height_
Height of the image to process. More...
double threshold_
Threshold for corner detection. More...
unsigned int nr_max_keypoints_
The maximum number of keypoints to return. More...
double bmax_
Max image value. More...

Detailed Description

Abstract detector class for AGAST corner point detectors.

Adapted from the C++ implementation of Elmar Mair (http://www6.in.tum.de/Main/ResearchAgast).

Author
Stefan Holzer

Definition at line 64 of file agast_2d.h.

Member Typedef Documentation

ConstPtr

Definition at line 68 of file agast_2d.h.

Ptr

Constructor & Destructor Documentation

AbstractAgastDetector()

pcl::keypoints::agast::AbstractAgastDetector::AbstractAgastDetector ( const std::size_t width,
const std::size_t height,
const double threshold,
const double bmax
)
inline

Constructor.

Parameters
[in] width the width of the image to process
[in] height the height of the image to process
[in] threshold the corner detection threshold
[in] bmax the max image value (default: 255)

Definition at line 76 of file agast_2d.h.

~AbstractAgastDetector()

virtual pcl::keypoints::agast::AbstractAgastDetector::~AbstractAgastDetector ( )
inlinevirtual

Destructor.

Definition at line 88 of file agast_2d.h.

Member Function Documentation

applyNonMaxSuppression() [1/3]

void pcl::keypoints::agast::AbstractAgastDetector::applyNonMaxSuppression ( const pcl::PointCloud< pcl::PointUV > & input,
const std::vector< ScoreIndex > & scores,
pcl::PointCloud< pcl::PointUV > & output
)
protected

Non-max-suppression helper method.

Parameters
[in] input the keypoint positions
[in] scores the keypoint scores computed on the image data
[out] output the resultant keypoints after non-max-supression

applyNonMaxSuppression() [2/3]

void pcl::keypoints::agast::AbstractAgastDetector::applyNonMaxSuppression ( const std::vector< float > & intensity_data,
const pcl::PointCloud< pcl::PointUV > & input,
pcl::PointCloud< pcl::PointUV > & output
)

Applies non-max-suppression.

Parameters
[in] intensity_data the image data
[in] input the keypoint positions
[out] output the resultant keypoints after non-max-supression

applyNonMaxSuppression() [3/3]

void pcl::keypoints::agast::AbstractAgastDetector::applyNonMaxSuppression ( const std::vector< unsigned char > & intensity_data,
const pcl::PointCloud< pcl::PointUV > & input,
pcl::PointCloud< pcl::PointUV > & output
)

Applies non-max-suppression.

Parameters
[in] intensity_data the image data
[in] input the keypoint positions
[out] output the resultant keypoints after non-max-supression

computeCornerScore() [1/2]

virtual int pcl::keypoints::agast::AbstractAgastDetector::computeCornerScore ( const float * im ) const
pure virtual

Computes corner score.

Parameters
[in] im the pixels to compute the score at

Implemented in pcl::keypoints::agast::OastDetector9_16, pcl::keypoints::agast::AgastDetector5_8, and pcl::keypoints::agast::AgastDetector7_12s.

computeCornerScore() [2/2]

virtual int pcl::keypoints::agast::AbstractAgastDetector::computeCornerScore ( const unsigned char * im ) const
pure virtual

Computes corner score.

Parameters
[in] im the pixels to compute the score at

Implemented in pcl::keypoints::agast::OastDetector9_16, pcl::keypoints::agast::AgastDetector5_8, and pcl::keypoints::agast::AgastDetector7_12s.

computeCornerScores() [1/2]

void pcl::keypoints::agast::AbstractAgastDetector::computeCornerScores ( const float * im,
const std::vector< pcl::PointUV, Eigen::aligned_allocator< pcl::PointUV > > & corners_all,
std::vector< ScoreIndex > & scores
) const
protected

Computes corner scores for the specified points.

Parameters
im
corners_all
scores

computeCornerScores() [2/2]

void pcl::keypoints::agast::AbstractAgastDetector::computeCornerScores ( const unsigned char * im,
const std::vector< pcl::PointUV, Eigen::aligned_allocator< pcl::PointUV > > & corners_all,
std::vector< ScoreIndex > & scores
) const
protected

Computes corner scores for the specified points.

Parameters
im
corners_all
scores

detect() [1/2]

virtual void pcl::keypoints::agast::AbstractAgastDetector::detect ( const float * im,
std::vector< pcl::PointUV, Eigen::aligned_allocator< pcl::PointUV > > &
) const
pure virtual

Detects points of interest (i.e., keypoints) in the given image.

Parameters
[in] im the image to detect keypoints in

Implemented in pcl::keypoints::agast::OastDetector9_16, pcl::keypoints::agast::AgastDetector5_8, and pcl::keypoints::agast::AgastDetector7_12s.

detect() [2/2]

virtual void pcl::keypoints::agast::AbstractAgastDetector::detect ( const unsigned char * im,
std::vector< pcl::PointUV, Eigen::aligned_allocator< pcl::PointUV > > & corners_all
) const
pure virtual

Detects points of interest (i.e., keypoints) in the given image.

Parameters
[in] im the image to detect keypoints in
[out] corners_all the resultant set of keypoints detected

Implemented in pcl::keypoints::agast::OastDetector9_16, pcl::keypoints::agast::AgastDetector5_8, and pcl::keypoints::agast::AgastDetector7_12s.

detectKeypoints() [1/2]

void pcl::keypoints::agast::AbstractAgastDetector::detectKeypoints ( const std::vector< float > & intensity_data,
pcl::PointCloud< pcl::PointUV > & output
) const

Detects corner points.

Parameters
intensity_data
output

detectKeypoints() [2/2]

void pcl::keypoints::agast::AbstractAgastDetector::detectKeypoints ( const std::vector< unsigned char > & intensity_data,
pcl::PointCloud< pcl::PointUV > & output
) const

Detects corner points.

Parameters
intensity_data
output

getMaxKeypoints()

unsigned int pcl::keypoints::agast::AbstractAgastDetector::getMaxKeypoints ( )
inline

Get the maximum number of keypoints to return, as set by the user.

Definition at line 166 of file agast_2d.h.

getThreshold()

double pcl::keypoints::agast::AbstractAgastDetector::getThreshold ( )
inline

Get the threshold for corner detection, as set by the user.

Definition at line 149 of file agast_2d.h.

initPattern()

virtual void pcl::keypoints::agast::AbstractAgastDetector::initPattern ( )
protectedpure virtual

setMaxKeypoints()

void pcl::keypoints::agast::AbstractAgastDetector::setMaxKeypoints ( const unsigned int nr_max_keypoints )
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 159 of file agast_2d.h.

setThreshold()

void pcl::keypoints::agast::AbstractAgastDetector::setThreshold ( const double threshold )
inline

Sets the threshold for corner detection.

Parameters
[in] threshold the threshold used for corner detection.

Definition at line 142 of file agast_2d.h.

Member Data Documentation

bmax_

double pcl::keypoints::agast::AbstractAgastDetector::bmax_
protected

Max image value.

Definition at line 255 of file agast_2d.h.

height_

std::size_t pcl::keypoints::agast::AbstractAgastDetector::height_
protected

Height of the image to process.

Definition at line 246 of file agast_2d.h.

nr_max_keypoints_

unsigned int pcl::keypoints::agast::AbstractAgastDetector::nr_max_keypoints_
protected

The maximum number of keypoints to return.

Definition at line 252 of file agast_2d.h.

threshold_

double pcl::keypoints::agast::AbstractAgastDetector::threshold_
protected

Threshold for corner detection.

Definition at line 249 of file agast_2d.h.

width_

std::size_t pcl::keypoints::agast::AbstractAgastDetector::width_
protected

Width of the image to process.

Definition at line 244 of file agast_2d.h.


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

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1keypoints_1_1agast_1_1_abstract_agast_detector.html