#include <matcher.h>
Classes | |
struct | delta |
struct | maximum |
struct | p_match |
struct | parameters |
struct | range |
Public Member Functions | |
void | bucketFeatures (int32_t max_features, float bucket_width, float bucket_height) |
float | getGain (std::vector< int32_t > inliers) |
std::vector< Matcher::p_match > | getMatches () |
Matcher (parameters param) | |
void | matchFeatures (int32_t method) |
void | pushBack (uint8_t *I1, uint8_t *I2, int32_t *dims, const bool replace) |
void | pushBack (uint8_t *I1, int32_t *dims, const bool replace) |
~Matcher () | |
Private Member Functions | |
void | computeDescriptor (const uint8_t *I_du, const uint8_t *I_dv, const int32_t &bpl, const int32_t &u, const int32_t &v, uint8_t *desc_addr) |
void | computeDescriptors (uint8_t *I_du, uint8_t *I_dv, const int32_t bpl, std::vector< Matcher::maximum > &maxima) |
void | computeFeatures (uint8_t *I, const int32_t *dims, int32_t *&max1, int32_t &num1, int32_t *&max2, int32_t &num2, uint8_t *&I_du, uint8_t *&I_dv, uint8_t *&I_du_full, uint8_t *&I_dv_full) |
void | computePriorStatistics (std::vector< Matcher::p_match > &p_matched, int32_t method) |
void | computeSmallDescriptor (const uint8_t *I_du, const uint8_t *I_dv, const int32_t &bpl, const int32_t &u, const int32_t &v, uint8_t *desc_addr) |
uint8_t * | createHalfResolutionImage (uint8_t *I, const int32_t *dims) |
void | createIndexVector (int32_t *m, int32_t n, std::vector< int32_t > *k, const int32_t &u_bin_num, const int32_t &v_bin_num) |
void | filterImageAll (uint8_t *I, uint8_t *I_du, uint8_t *I_dv, int16_t *I_f1, int16_t *I_f2, const int *dims) |
void | filterImageSobel (uint8_t *I, uint8_t *I_du, uint8_t *I_dv, const int *dims) |
void | findMatch (int32_t *m1, const int32_t &i1, int32_t *m2, const int32_t &step_size, std::vector< int32_t > *k2, const int32_t &u_bin_num, const int32_t &v_bin_num, const int32_t &stat_bin, int32_t &min_ind, int32_t stage, bool flow, bool use_prior) |
int32_t | getAddressOffsetImage (const int32_t &u, const int32_t &v, const int32_t &width) |
void | getHalfResolutionDimensions (const int32_t *dims, int32_t *dims_half) |
void | matching (int32_t *m1p, int32_t *m2p, int32_t *m1c, int32_t *m2c, int32_t n1p, int32_t n2p, int32_t n1c, int32_t n2c, std::vector< Matcher::p_match > &p_matched, int32_t method, bool use_prior) |
float | mean (const uint8_t *I, const int32_t &bpl, const int32_t &u_min, const int32_t &u_max, const int32_t &v_min, const int32_t &v_max) |
void | nonMaximumSuppression (int16_t *I_f1, int16_t *I_f2, const int32_t *dims, std::vector< Matcher::maximum > &maxima, int32_t nms_n) |
bool | parabolicFitting (const uint8_t *I1_du, const uint8_t *I1_dv, const int32_t *dims1, const uint8_t *I2_du, const uint8_t *I2_dv, const int32_t *dims2, const float &u1, const float &v1, float &u2, float &v2, Matrix At, Matrix AtA, uint8_t *desc_buffer) |
void | refinement (std::vector< Matcher::p_match > &p_matched, int32_t method) |
void | relocateMinimum (const uint8_t *I1_du, const uint8_t *I1_dv, const int32_t *dims1, const uint8_t *I2_du, const uint8_t *I2_dv, const int32_t *dims2, const float &u1, const float &v1, float &u2, float &v2, uint8_t *desc_buffer) |
void | removeOutliers (std::vector< Matcher::p_match > &p_matched, int32_t method) |
uint8_t | saturate (int16_t in) |
Private Attributes | |
int32_t | dims_c [3] |
int32_t | dims_p [3] |
uint8_t * | I1c |
uint8_t * | I1c_du |
uint8_t * | I1c_du_full |
uint8_t * | I1c_dv |
uint8_t * | I1c_dv_full |
uint8_t * | I1p |
uint8_t * | I1p_du |
uint8_t * | I1p_du_full |
uint8_t * | I1p_dv |
uint8_t * | I1p_dv_full |
uint8_t * | I2c |
uint8_t * | I2c_du |
uint8_t * | I2c_du_full |
uint8_t * | I2c_dv |
uint8_t * | I2c_dv_full |
uint8_t * | I2p |
uint8_t * | I2p_du |
uint8_t * | I2p_du_full |
uint8_t * | I2p_dv |
uint8_t * | I2p_dv_full |
int32_t * | m1c1 |
int32_t * | m1c2 |
int32_t * | m1p1 |
int32_t * | m1p2 |
int32_t * | m2c1 |
int32_t * | m2c2 |
int32_t * | m2p1 |
int32_t * | m2p2 |
int32_t | margin |
int32_t | n1c1 |
int32_t | n1c2 |
int32_t | n1p1 |
int32_t | n1p2 |
int32_t | n2c1 |
int32_t | n2c2 |
int32_t | n2p1 |
int32_t | n2p2 |
std::vector< Matcher::p_match > | p_matched_1 |
std::vector< Matcher::p_match > | p_matched_2 |
parameters | param |
std::vector< Matcher::range > | ranges |
Matcher::Matcher | ( | parameters | param | ) |
Definition at line 33 of file matcher.cpp.
Definition at line 64 of file matcher.cpp.
void Matcher::bucketFeatures | ( | int32_t | max_features, |
float | bucket_width, | ||
float | bucket_height | ||
) |
Definition at line 243 of file matcher.cpp.
void Matcher::computeDescriptor | ( | const uint8_t * | I_du, |
const uint8_t * | I_dv, | ||
const int32_t & | bpl, | ||
const int32_t & | u, | ||
const int32_t & | v, | ||
uint8_t * | desc_addr | ||
) | [inline, private] |
Definition at line 433 of file matcher.cpp.
void Matcher::computeDescriptors | ( | uint8_t * | I_du, |
uint8_t * | I_dv, | ||
const int32_t | bpl, | ||
std::vector< Matcher::maximum > & | maxima | ||
) | [private] |
Definition at line 508 of file matcher.cpp.
void Matcher::computeFeatures | ( | uint8_t * | I, |
const int32_t * | dims, | ||
int32_t *& | max1, | ||
int32_t & | num1, | ||
int32_t *& | max2, | ||
int32_t & | num2, | ||
uint8_t *& | I_du, | ||
uint8_t *& | I_dv, | ||
uint8_t *& | I_du_full, | ||
uint8_t *& | I_dv_full | ||
) | [private] |
Definition at line 649 of file matcher.cpp.
void Matcher::computePriorStatistics | ( | std::vector< Matcher::p_match > & | p_matched, |
int32_t | method | ||
) | [private] |
Definition at line 734 of file matcher.cpp.
void Matcher::computeSmallDescriptor | ( | const uint8_t * | I_du, |
const uint8_t * | I_dv, | ||
const int32_t & | bpl, | ||
const int32_t & | u, | ||
const int32_t & | v, | ||
uint8_t * | desc_addr | ||
) | [inline, private] |
Definition at line 479 of file matcher.cpp.
uint8_t * Matcher::createHalfResolutionImage | ( | uint8_t * | I, |
const int32_t * | dims | ||
) | [private] |
Definition at line 636 of file matcher.cpp.
void Matcher::createIndexVector | ( | int32_t * | m, |
int32_t | n, | ||
std::vector< int32_t > * | k, | ||
const int32_t & | u_bin_num, | ||
const int32_t & | v_bin_num | ||
) | [private] |
Definition at line 849 of file matcher.cpp.
void Matcher::filterImageAll | ( | uint8_t * | I, |
uint8_t * | I_du, | ||
uint8_t * | I_dv, | ||
int16_t * | I_f1, | ||
int16_t * | I_f2, | ||
const int * | dims | ||
) | [private] |
Definition at line 529 of file matcher.cpp.
void Matcher::filterImageSobel | ( | uint8_t * | I, |
uint8_t * | I_du, | ||
uint8_t * | I_dv, | ||
const int * | dims | ||
) | [private] |
Definition at line 594 of file matcher.cpp.
void Matcher::findMatch | ( | int32_t * | m1, |
const int32_t & | i1, | ||
int32_t * | m2, | ||
const int32_t & | step_size, | ||
std::vector< int32_t > * | k2, | ||
const int32_t & | u_bin_num, | ||
const int32_t & | v_bin_num, | ||
const int32_t & | stat_bin, | ||
int32_t & | min_ind, | ||
int32_t | stage, | ||
bool | flow, | ||
bool | use_prior | ||
) | [inline, private] |
Definition at line 871 of file matcher.cpp.
int32_t Matcher::getAddressOffsetImage | ( | const int32_t & | u, |
const int32_t & | v, | ||
const int32_t & | width | ||
) | [inline, private] |
float Matcher::getGain | ( | std::vector< int32_t > | inliers | ) |
Definition at line 286 of file matcher.cpp.
void Matcher::getHalfResolutionDimensions | ( | const int32_t * | dims, |
int32_t * | dims_half | ||
) | [private] |
Definition at line 630 of file matcher.cpp.
std::vector<Matcher::p_match> Matcher::getMatches | ( | ) | [inline] |
void Matcher::matchFeatures | ( | int32_t | method | ) |
Definition at line 183 of file matcher.cpp.
void Matcher::matching | ( | int32_t * | m1p, |
int32_t * | m2p, | ||
int32_t * | m1c, | ||
int32_t * | m2c, | ||
int32_t | n1p, | ||
int32_t | n2p, | ||
int32_t | n1c, | ||
int32_t | n2c, | ||
std::vector< Matcher::p_match > & | p_matched, | ||
int32_t | method, | ||
bool | use_prior | ||
) | [private] |
Definition at line 937 of file matcher.cpp.
float Matcher::mean | ( | const uint8_t * | I, |
const int32_t & | bpl, | ||
const int32_t & | u_min, | ||
const int32_t & | u_max, | ||
const int32_t & | v_min, | ||
const int32_t & | v_max | ||
) | [inline, private] |
Definition at line 1474 of file matcher.cpp.
void Matcher::nonMaximumSuppression | ( | int16_t * | I_f1, |
int16_t * | I_f2, | ||
const int32_t * | dims, | ||
std::vector< Matcher::maximum > & | maxima, | ||
int32_t | nms_n | ||
) | [private] |
Definition at line 330 of file matcher.cpp.
bool Matcher::parabolicFitting | ( | const uint8_t * | I1_du, |
const uint8_t * | I1_dv, | ||
const int32_t * | dims1, | ||
const uint8_t * | I2_du, | ||
const uint8_t * | I2_dv, | ||
const int32_t * | dims2, | ||
const float & | u1, | ||
const float & | v1, | ||
float & | u2, | ||
float & | v2, | ||
Matrix | At, | ||
Matrix | AtA, | ||
uint8_t * | desc_buffer | ||
) | [private] |
Definition at line 1273 of file matcher.cpp.
void Matcher::pushBack | ( | uint8_t * | I1, |
uint8_t * | I2, | ||
int32_t * | dims, | ||
const bool | replace | ||
) |
Definition at line 95 of file matcher.cpp.
void Matcher::pushBack | ( | uint8_t * | I1, |
int32_t * | dims, | ||
const bool | replace | ||
) | [inline] |
void Matcher::refinement | ( | std::vector< Matcher::p_match > & | p_matched, |
int32_t | method | ||
) | [private] |
Definition at line 1385 of file matcher.cpp.
void Matcher::relocateMinimum | ( | const uint8_t * | I1_du, |
const uint8_t * | I1_dv, | ||
const int32_t * | dims1, | ||
const uint8_t * | I2_du, | ||
const uint8_t * | I2_dv, | ||
const int32_t * | dims2, | ||
const float & | u1, | ||
const float & | v1, | ||
float & | u2, | ||
float & | v2, | ||
uint8_t * | desc_buffer | ||
) | [private] |
Definition at line 1344 of file matcher.cpp.
void Matcher::removeOutliers | ( | std::vector< Matcher::p_match > & | p_matched, |
int32_t | method | ||
) | [private] |
Definition at line 1101 of file matcher.cpp.
uint8_t Matcher::saturate | ( | int16_t | in | ) | [inline, private] |
Definition at line 523 of file matcher.cpp.
int32_t Matcher::dims_c[3] [private] |
int32_t Matcher::dims_p[3] [private] |
uint8_t * Matcher::I1c [private] |
uint8_t * Matcher::I1c_du [private] |
uint8_t * Matcher::I1c_du_full [private] |
uint8_t * Matcher::I1c_dv [private] |
uint8_t * Matcher::I1c_dv_full [private] |
uint8_t* Matcher::I1p [private] |
uint8_t* Matcher::I1p_du [private] |
uint8_t* Matcher::I1p_du_full [private] |
uint8_t* Matcher::I1p_dv [private] |
uint8_t* Matcher::I1p_dv_full [private] |
uint8_t * Matcher::I2c [private] |
uint8_t * Matcher::I2c_du [private] |
uint8_t * Matcher::I2c_du_full [private] |
uint8_t * Matcher::I2c_dv [private] |
uint8_t * Matcher::I2c_dv_full [private] |
uint8_t * Matcher::I2p [private] |
uint8_t * Matcher::I2p_du [private] |
uint8_t * Matcher::I2p_du_full [private] |
uint8_t * Matcher::I2p_dv [private] |
uint8_t * Matcher::I2p_dv_full [private] |
int32_t * Matcher::m1c1 [private] |
int32_t * Matcher::m1c2 [private] |
int32_t* Matcher::m1p1 [private] |
int32_t* Matcher::m1p2 [private] |
int32_t * Matcher::m2c1 [private] |
int32_t * Matcher::m2c2 [private] |
int32_t * Matcher::m2p1 [private] |
int32_t * Matcher::m2p2 [private] |
int32_t Matcher::margin [private] |
int32_t Matcher::n1c1 [private] |
int32_t Matcher::n1c2 [private] |
int32_t Matcher::n1p1 [private] |
int32_t Matcher::n1p2 [private] |
int32_t Matcher::n2c1 [private] |
int32_t Matcher::n2c2 [private] |
int32_t Matcher::n2p1 [private] |
int32_t Matcher::n2p2 [private] |
std::vector<Matcher::p_match> Matcher::p_matched_1 [private] |
std::vector<Matcher::p_match> Matcher::p_matched_2 [private] |
parameters Matcher::param [private] |
std::vector<Matcher::range> Matcher::ranges [private] |