bazar
1.3.1
|
Pyramidal YAPE (Feature point extractor) More...
#include <yape.h>
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 | |
PyrImage * | internal_pim |
PyrImage * | pscores |
dir_table * | pDirs [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< keypoint > | keypoint_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_table * | Dirs |
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 |
Pyramidal YAPE (Feature point extractor)
Improve Yape to work with multi-scale pyramids (PyrImage).
pyr_yape::pyr_yape | ( | int | w, |
int | h, | ||
int | nbLev | ||
) |
w | width passed to Yape constructor |
h | height passed to Yape constructor |
nbLev | pyramid 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.
|
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.
|
inline |
Call pyramidBlurDetect():
Definition at line 209 of file yape.h.
References pyramidBlurDetect().
Referenced by pyramidBlurDetect().
Pyramidal feature point detection.
Detect features on the pyramid, filling the scale field of keypoints with the pyramid level.
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.
im | the input image. Must be 1 channel (gray levels). |
points | an array to store keypoints. |
max_point_number | the size of this array. |
caller_pim | the 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.
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().