bazar  1.3.1
Public Member Functions | Public Attributes | List of all members
pyr_yape Class Reference

Pyramidal YAPE (Feature point extractor) More...

#include <yape.h>

Inheritance diagram for pyr_yape:
Inheritance graph
[legend]
Collaboration diagram for pyr_yape:
Collaboration graph
[legend]

Public Member Functions

 pyr_yape (int w, int h, int nbLev)
virtual ~pyr_yape ()
int pyramidBlurDetect (IplImage *im, keypoint *points, int max_point_number, PyrImage *caller_pim=0)
 Blur the given image, build a pyramid and call detect().
int detect (IplImage *im, keypoint *points, int max_point_number)
 Call pyramidBlurDetect():
int detect (PyrImage *image, keypoint *points, int max_point_number)
 Pyramidal feature point detection.
void save_image_of_detected_points (char *name, IplImage *image, keypoint *points, int points_nb)
 Save a color image with the detected points on the original image. Useful for visualisation...
void stat_points (keypoint *points, int nb_pts)
 compute and print on stdout a keypoint scale histogram.
void select_level (int l)
- Public Member Functions inherited from yape
 yape (int width, int height)
 Constructor for detection in width x height images.
virtual ~yape ()
void set_radius (int radius)
int get_radius (void)
void set_tau (int tau)
int get_tau (void)
void activate_bins (void)
void disactivate_bins (void)
void set_use_bins (bool p_use_bins)
bool get_use_bins (void)
void set_bins_number (int nb_u, int nb_v)
void activate_subpixel (void)
 Subpixel. Can be activated or disactived (default) for monoscale detection. Always activated for multi-scale detection.
void disactivate_subpixel (void)
void set_use_subpixel (bool p_use_subpixel)
void set_minimal_neighbor_number (int p_minimal_neighbor_number)
int get_minimal_neighbor_number (void)
int detect (IplImage *image, keypoint *points, int max_point_number, IplImage *smoothed_image=0)
void raw_detect (IplImage *im)
 detect interest points and add them to tmp_points.
int pick_best_points (keypoint *points, unsigned int max_point_number)
 sort and select the max_point_number best features.
IplImage * get_scores_image (void)
 Return scores and filtered images, for debugging purposes.
IplImage * get_filtered_image (void)
void subpix_refine (IplImage *im, keypoint *p)

Public Attributes

PyrImageinternal_pim
PyrImagepscores
dir_tablepDirs [12]
int * pDirs_nb [12]
bool equalize
 Limit the maximum number of detected keypoint per level.

Additional Inherited Members

- Static Public Member Functions inherited from yape
static int static_detect (IplImage *image, keypoint *points, int max_point_number, int radius=7, int tau=10)
 Static function for point detection. Slower but avoids an instantiation.
- Protected Types inherited from yape
typedef std::vector< keypointkeypoint_vector
- Protected Member Functions inherited from yape
void reserve_tmp_arrays (void)
int get_local_maxima (IplImage *image, int R, float scale)
void perform_one_point (const unsigned char *I, const int x, short *Scores, const int Im, const int Ip, const short *dirs, const unsigned char opposite, const unsigned char dirs_nb)
bool double_check (IplImage *image, int x, int y, short *dirs, unsigned char dirs_nb)
bool third_check (const short *Sb, const int next_line)
void precompute_directions (IplImage *image, short *_Dirs, int *_Dirs_nb, int R)
void init_for_monoscale (void)
- Protected Attributes inherited from yape
int minimal_neighbor_number
int width
int height
int radius
int tau
dir_tableDirs
int * Dirs_nb
keypoint_vector tmp_points
bool use_bins
keypoint_vector bins [10][10]
int bin_nb_u
int bin_nb_v
bool use_subpixel
IplImage * scores
IplImage * filtered_image
int stats_state [100]
int stats_iter [100]
int score
int a
int b
int A
int B0
int B1
int B2
int state
CvMat * H
CvMat * mg
CvMat * shift

Detailed Description

Pyramidal YAPE (Feature point extractor)

Improve Yape to work with multi-scale pyramids (PyrImage).

Definition at line 200 of file yape.h.

Constructor & Destructor Documentation

pyr_yape::pyr_yape ( int  w,
int  h,
int  nbLev 
)
Parameters
wwidth passed to Yape constructor
hheight passed to Yape constructor
nbLevpyramid depth

Definition at line 823 of file yape.cpp.

References yape::Dirs, yape::Dirs_nb, equalize, internal_pim, pDirs, pDirs_nb, yape::precompute_directions(), pscores, yape::scores, and yape_max_radius.

pyr_yape::~pyr_yape ( )
virtual

Definition at line 842 of file yape.cpp.

References yape::Dirs, yape::Dirs_nb, internal_pim, PyrImage::nbLev, pDirs, pDirs_nb, pscores, and yape::scores.

Member Function Documentation

int pyr_yape::detect ( IplImage *  im,
keypoint points,
int  max_point_number 
)
inline

Call pyramidBlurDetect():

Definition at line 209 of file yape.h.

References pyramidBlurDetect().

Referenced by pyramidBlurDetect().

int pyr_yape::detect ( PyrImage image,
keypoint points,
int  max_point_number 
)

Pyramidal feature point detection.

Detect features on the pyramid, filling the scale field of keypoints with the pyramid level.

Returns
the detected keypoint number.

Definition at line 867 of file yape.cpp.

References yape::get_local_maxima(), PyrImage::images, PyrImage::nbLev, yape::pick_best_points(), yape::radius, yape::raw_detect(), yape::reserve_tmp_arrays(), select_level(), and yape::subpix_refine().

int pyr_yape::pyramidBlurDetect ( IplImage *  im,
keypoint points,
int  max_point_number,
PyrImage caller_pim = 0 
)

Blur the given image, build a pyramid and call detect().

This method does the following: 1) Apply a Gaussian blur filter on the provided image, putting the result in the pyramid lowest level. 2) Build the pyramid 3) call detect() on it.

If no pyramid is given by the caller, a temporary pyramid image is created and recycled for future calls.

Parameters
imthe input image. Must be 1 channel (gray levels).
pointsan array to store keypoints.
max_point_numberthe size of this array.
caller_pimthe pyramid to work on, or 0 for an internal pyramid.

Definition at line 903 of file yape.cpp.

References PyrImage::build(), detect(), PyrImage::images, internal_pim, PyrImage::nbLev, pscores, and yape::radius.

Referenced by detect().

void pyr_yape::save_image_of_detected_points ( char *  name,
IplImage *  image,
keypoint points,
int  points_nb 
)

Save a color image with the detected points on the original image. Useful for visualisation...

Reimplemented from yape.

Definition at line 939 of file yape.cpp.

References PyrImage::convCoord(), PyrImage::convCoordf(), mcvCircle(), mcvGrayToColor(), mcvRainbowColor(), mcvSaveImage(), and yape::radius.

void pyr_yape::select_level ( int  l)

Definition at line 857 of file yape.cpp.

References yape::Dirs, yape::Dirs_nb, PyrImage::images, pDirs, pDirs_nb, pscores, and yape::scores.

Referenced by detect().

void pyr_yape::stat_points ( keypoint points,
int  nb_pts 
)

compute and print on stdout a keypoint scale histogram.

Definition at line 951 of file yape.cpp.

References PyrImage::nbLev, pscores, and keypoint::scale.

Member Data Documentation

bool pyr_yape::equalize

Limit the maximum number of detected keypoint per level.

Definition at line 230 of file yape.h.

Referenced by pyr_yape().

PyrImage* pyr_yape::internal_pim

Definition at line 224 of file yape.h.

Referenced by pyr_yape(), pyramidBlurDetect(), and ~pyr_yape().

dir_table* pyr_yape::pDirs[12]

Definition at line 226 of file yape.h.

Referenced by pyr_yape(), select_level(), and ~pyr_yape().

int* pyr_yape::pDirs_nb[12]

Definition at line 227 of file yape.h.

Referenced by pyr_yape(), select_level(), and ~pyr_yape().

PyrImage* pyr_yape::pscores

Definition at line 225 of file yape.h.

Referenced by pyr_yape(), pyramidBlurDetect(), select_level(), stat_points(), and ~pyr_yape().


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