#include <patchtagger.h>
Classes | |
struct | descriptor |
struct | grad2polar_entry |
struct | histo_entry |
struct | random_node |
Public Member Functions | |
void | cmp_descriptor (CvMat *patch, descriptor *d, float subpix_u, float subpix_v) |
unsigned | project (patch_tagger::descriptor *d) |
void | precalc () |
Static Public Member Functions | |
static patch_tagger * | singleton () |
Static Public Attributes | |
static const unsigned | patch_size = 16 |
static const unsigned | nb_zone = 4 |
static const unsigned | nb_orient = 16 |
static const unsigned | nb_test = 16 |
Static Protected Member Functions | |
static void | compute_sift_descriptor (float *descr_pt, cv::Mat patch) |
SIFT descriptor (inspired by siftpp). | |
Protected Attributes | |
histo_entry | weight_table [patch_size][patch_size] |
grad2polar_entry | cart2polar_table [512][512] |
random_node | random_tests [nb_test] |
CvMat | weight |
unsigned char | _mask [patch_size][patch_size] |
CvMat | mask |
Static Protected Attributes | |
static float | _weight [patch_size][patch_size] |
static float | tot_weight = 0 |
Definition at line 26 of file patchtagger.h.
void patch_tagger::cmp_descriptor | ( | CvMat * | patch, | |
patch_tagger::descriptor * | d, | |||
float | subpix_u, | |||
float | subpix_v | |||
) |
Definition at line 201 of file patchtagger.cpp.
References patch_tagger::descriptor::_rotated, _weight, cart2polar_table, patch_tagger::grad2polar_entry::dir1, patch_tagger::grad2polar_entry::dir2, patch_tagger::descriptor::histo, patch_tagger::grad2polar_entry::length1, patch_tagger::grad2polar_entry::length2, M_2PI, mask, nb_orient, nb_zone, patch_tagger::descriptor::orientation, patch_size, patch_tagger::descriptor::rotated, patch_tagger::descriptor::sum_orient, patch_tagger::descriptor::total, weight, patch_tagger::histo_entry::weight1, patch_tagger::histo_entry::weight2, weight_table, patch_tagger::histo_entry::zone1, and patch_tagger::histo_entry::zone2.
Referenced by pyr_keypoint::prepare_patch().
void patch_tagger::compute_sift_descriptor | ( | float * | descr_pt, | |
cv::Mat | patch | |||
) | [static, protected] |
SIFT descriptor (inspired by siftpp).
The function computes the descriptor of the keypoint keypoint. The function fills the buffer descr_pt which must be large enough. The funciton uses angle0 as rotation of the keypoint. By calling the function multiple times, different orientations can be evaluated.
Definition at line 394 of file patchtagger.cpp.
References atd, M_2PI, M_PI, max(), min(), normalize_histogram(), W, and weight.
Referenced by patch_tagger::descriptor::array().
void patch_tagger::precalc | ( | ) |
Definition at line 102 of file patchtagger.cpp.
References _mask, _weight, cart2polar_table, patch_tagger::grad2polar_entry::dir1, patch_tagger::grad2polar_entry::dir2, patch_tagger::grad2polar_entry::length1, patch_tagger::grad2polar_entry::length2, M_PI, mask, nb_orient, nb_test, nb_zone, patch_tagger::random_node::orient1, patch_tagger::random_node::orient2, patch_size, rand_range(), random_tests, tot_weight, weight, patch_tagger::histo_entry::weight1, patch_tagger::histo_entry::weight2, weight_table, patch_tagger::random_node::zone1, patch_tagger::histo_entry::zone1, patch_tagger::random_node::zone2, and patch_tagger::histo_entry::zone2.
Referenced by singleton().
unsigned patch_tagger::project | ( | patch_tagger::descriptor * | d | ) |
Definition at line 319 of file patchtagger.cpp.
References patch_tagger::descriptor::histo, M_2PI, nb_orient, nb_test, nb_zone, patch_tagger::descriptor::orientation, random_tests, patch_tagger::descriptor::total, and patch_tagger::random_node::zone1.
patch_tagger * patch_tagger::singleton | ( | ) | [static] |
Definition at line 93 of file patchtagger.cpp.
References precalc().
Referenced by pyr_keypoint::prepare_patch().
unsigned char patch_tagger::_mask[patch_size][patch_size] [protected] |
float patch_tagger::_weight [static, protected] |
grad2polar_entry patch_tagger::cart2polar_table[512][512] [protected] |
CvMat patch_tagger::mask [protected] |
const unsigned patch_tagger::nb_orient = 16 [static] |
Definition at line 31 of file patchtagger.h.
Referenced by cmp_descriptor(), precalc(), and project().
const unsigned patch_tagger::nb_test = 16 [static] |
const unsigned patch_tagger::nb_zone = 4 [static] |
Definition at line 30 of file patchtagger.h.
Referenced by cmp_descriptor(), precalc(), and project().
const unsigned patch_tagger::patch_size = 16 [static] |
Definition at line 29 of file patchtagger.h.
Referenced by patch_tagger::descriptor::array(), cmp_descriptor(), patch_tagger::descriptor::correl(), patch_tagger::descriptor::descriptor(), kpt_tracker::kpt_tracker(), patch_tagger::descriptor::operator=(), precalc(), and pyr_keypoint::prepare_patch().
random_node patch_tagger::random_tests[nb_test] [protected] |
float patch_tagger::tot_weight = 0 [static, protected] |
CvMat patch_tagger::weight [protected] |
Definition at line 86 of file patchtagger.h.
Referenced by cmp_descriptor(), compute_sift_descriptor(), and precalc().
histo_entry patch_tagger::weight_table[patch_size][patch_size] [protected] |