Point Cloud Library (PCL)  1.9.1-dev
List of all members | Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
pcl::keypoints::agast::AbstractAgastDetector Class Referenceabstract

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

#include <pcl/keypoints/agast_2d.h>

+ Inheritance diagram for pcl::keypoints::agast::AbstractAgastDetector:

Classes

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

Public Types

typedef boost::shared_ptr< AbstractAgastDetectorPtr
 
typedef boost::shared_ptr< const AbstractAgastDetectorConstPtr
 

Public Member Functions

 AbstractAgastDetector (const size_t width, const 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)
 Detects corner points. More...
 
void detectKeypoints (const std::vector< float > &intensity_data, pcl::PointCloud< pcl::PointUV > &output)
 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)
 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)
 Computes corner scores for the specified points. More...
 

Protected Attributes

size_t width_
 Width of the image to process. More...
 
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 61 of file agast_2d.h.

Member Typedef Documentation

Definition at line 65 of file agast_2d.h.

Definition at line 64 of file agast_2d.h.

Constructor & Destructor Documentation

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

Constructor.

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

Definition at line 73 of file agast_2d.h.

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

Destructor.

Definition at line 85 of file agast_2d.h.

Member Function Documentation

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_datathe image data
[in]inputthe keypoint positions
[out]outputthe resultant keypoints after non-max-supression
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_datathe image data
[in]inputthe keypoint positions
[out]outputthe resultant keypoints after non-max-supression
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]inputthe keypoint positions
[in]scoresthe keypoint scores computed on the image data
[out]outputthe resultant keypoints after non-max-supression
virtual int pcl::keypoints::agast::AbstractAgastDetector::computeCornerScore ( const unsigned char *  im) const
pure virtual

Computes corner score.

Parameters
[in]imthe pixels to compute the score at

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

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

Computes corner score.

Parameters
[in]imthe pixels to compute the score at

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

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 
)
protected

Computes corner scores for the specified points.

Parameters
im
corners_all
scores
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 
)
protected

Computes corner scores for the specified points.

Parameters
im
corners_all
scores
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]imthe image to detect keypoints in
[out]corners_allthe resultant set of keypoints detected

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

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]imthe image to detect keypoints in

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

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

Detects corner points.

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

Detects corner points.

Parameters
intensity_data
output
unsigned int pcl::keypoints::agast::AbstractAgastDetector::getMaxKeypoints ( )
inline

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

Definition at line 163 of file agast_2d.h.

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

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

Definition at line 146 of file agast_2d.h.

virtual void pcl::keypoints::agast::AbstractAgastDetector::initPattern ( )
protectedpure virtual
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_keypointsset the maximum number of keypoints to return

Definition at line 156 of file agast_2d.h.

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

Sets the threshold for corner detection.

Parameters
[in]thresholdthe threshold used for corner detection.

Definition at line 139 of file agast_2d.h.

Member Data Documentation

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

Max image value.

Definition at line 252 of file agast_2d.h.

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

Height of the image to process.

Definition at line 243 of file agast_2d.h.

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

The maximum number of keypoints to return.

Definition at line 249 of file agast_2d.h.

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

Threshold for corner detection.

Definition at line 246 of file agast_2d.h.

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

Width of the image to process.

Definition at line 241 of file agast_2d.h.


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