Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
pcl::keypoints::agast::AbstractAgastDetector Class Reference

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

#include <agast_2d.h>

Inheritance diagram for pcl::keypoints::agast::AbstractAgastDetector:
Inheritance graph
[legend]

List of all members.

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
< const AbstractAgastDetector
ConstPtr
typedef boost::shared_ptr
< AbstractAgastDetector
Ptr

Public Member Functions

 AbstractAgastDetector (const size_t width, const size_t height, const double threshold, const double bmax)
 Constructor.
void applyNonMaxSuppression (const std::vector< unsigned char > &intensity_data, const pcl::PointCloud< pcl::PointUV > &input, pcl::PointCloud< pcl::PointUV > &output)
 Applies non-max-suppression.
void applyNonMaxSuppression (const std::vector< float > &intensity_data, const pcl::PointCloud< pcl::PointUV > &input, pcl::PointCloud< pcl::PointUV > &output)
 Applies non-max-suppression.
virtual int computeCornerScore (const unsigned char *im) const =0
 Computes corner score.
virtual int computeCornerScore (const float *im) const =0
 Computes corner score.
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.
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.
void detectKeypoints (const std::vector< unsigned char > &intensity_data, pcl::PointCloud< pcl::PointUV > &output)
 Detects corner points.
void detectKeypoints (const std::vector< float > &intensity_data, pcl::PointCloud< pcl::PointUV > &output)
 Detects corner points.
unsigned int getMaxKeypoints ()
 Get the maximum nuber of keypoints to return, as set by the user.
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. The estimated keypoints are sorted by their internal score.
void setThreshold (const double threshold)
 Sets the threshold for corner detection.
virtual ~AbstractAgastDetector ()
 Destructor.

Protected Member Functions

void applyNonMaxSuppression (const pcl::PointCloud< pcl::PointUV > &input, const std::vector< ScoreIndex > &scores, pcl::PointCloud< pcl::PointUV > &output)
 Non-max-suppression helper method.
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.
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.
virtual void initPattern ()=0
 Initializes the sample pattern.

Protected Attributes

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

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 62 of file agast_2d.h.


Member Typedef Documentation


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 74 of file agast_2d.h.

Destructor.

Definition at line 86 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

Definition at line 245 of file agast_2d.cpp.

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

Definition at line 273 of file agast_2d.cpp.

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

Definition at line 104 of file agast_2d.cpp.

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
[in]bmax

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

Definition at line 301 of file agast_2d.cpp.

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

Definition at line 332 of file agast_2d.cpp.

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
[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.

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

Definition at line 80 of file agast_2d.cpp.

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

Detects corner points.

Parameters:
intensity_data
output

Definition at line 92 of file agast_2d.cpp.

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

Definition at line 165 of file agast_2d.h.

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

Definition at line 148 of file agast_2d.h.

virtual void pcl::keypoints::agast::AbstractAgastDetector::initPattern ( ) [protected, pure 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 158 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 141 of file agast_2d.h.


Member Data Documentation

Max image value.

Definition at line 255 of file agast_2d.h.

Height of the image to process.

Definition at line 246 of file agast_2d.h.

The maximum number of keypoints to return.

Definition at line 252 of file agast_2d.h.

Threshold for corner detection.

Definition at line 249 of file agast_2d.h.

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 files:


pcl
Author(s): Open Perception
autogenerated on Wed Aug 26 2015 15:44:11