#include <geometric_hash.h>
Public Types | |
typedef std::map< int, std::pair< int, int > > | ModelVotes |
Public Member Functions | |
int | addModel (CvSeq *edge) |
void | addModelBasis (CvSeq *edge, int idx_origin, const AffineBasis &basis) |
void | aggregateVotes (const std::vector< int > &basis_votes, std::map< int, std::pair< int, int > > &agg_votes) const |
EdgeMatcher (cv::Point3f _size, const cv::Point3f *_range) | |
const AffineBasis & | getBasis (int basis_id) const |
const GeometricHash3D & | getHash () const |
CvSeq * | getModel (int modelID) |
CvSeq * | getModelByBasisID (int basis_id) const |
AffineBasis | match (CvSeq *edge, std::map< int, std::pair< int, int > > &votes) const |
void | matchBasis (CvSeq *edge, const AffineBasis &basis, int idx_origin, std::vector< int > &votes) const |
Static Public Member Functions | |
static bool | votes_greater (const std::pair< int, std::pair< int, int > > &elem1, const std::pair< int, std::pair< int, int > > &elem2) |
Protected Attributes | |
std::vector< CvSeq * > | edges |
GeometricHash3D | hash |
Static Protected Attributes | |
static const float | min_angle = 0.15f |
Definition at line 122 of file geometric_hash.h.
typedef std::map<int,std::pair<int,int> > EdgeMatcher::ModelVotes |
Definition at line 130 of file geometric_hash.h.
EdgeMatcher::EdgeMatcher | ( | cv::Point3f | _size, |
const cv::Point3f * | _range | ||
) | [inline] |
Definition at line 132 of file geometric_hash.h.
int EdgeMatcher::addModel | ( | CvSeq * | edge | ) |
Definition at line 215 of file geometric_hash.cpp.
void EdgeMatcher::addModelBasis | ( | CvSeq * | edge, |
int | idx_origin, | ||
const AffineBasis & | basis | ||
) |
Definition at line 242 of file geometric_hash.cpp.
void EdgeMatcher::aggregateVotes | ( | const std::vector< int > & | basis_votes, |
std::map< int, std::pair< int, int > > & | agg_votes | ||
) | const |
Definition at line 269 of file geometric_hash.cpp.
const AffineBasis& EdgeMatcher::getBasis | ( | int | basis_id | ) | const [inline] |
Definition at line 141 of file geometric_hash.h.
const GeometricHash3D& EdgeMatcher::getHash | ( | ) | const [inline] |
Definition at line 142 of file geometric_hash.h.
CvSeq* EdgeMatcher::getModel | ( | int | modelID | ) | [inline] |
Reimplemented in PointEdgeMatcher.
Definition at line 139 of file geometric_hash.h.
CvSeq* EdgeMatcher::getModelByBasisID | ( | int | basis_id | ) | const [inline] |
Reimplemented in PointEdgeMatcher.
Definition at line 140 of file geometric_hash.h.
AffineBasis EdgeMatcher::match | ( | CvSeq * | edge, |
std::map< int, std::pair< int, int > > & | votes | ||
) | const |
Definition at line 253 of file geometric_hash.cpp.
void EdgeMatcher::matchBasis | ( | CvSeq * | edge, |
const AffineBasis & | basis, | ||
int | idx_origin, | ||
std::vector< int > & | votes | ||
) | const |
Definition at line 288 of file geometric_hash.cpp.
static bool EdgeMatcher::votes_greater | ( | const std::pair< int, std::pair< int, int > > & | elem1, |
const std::pair< int, std::pair< int, int > > & | elem2 | ||
) | [inline, static] |
Definition at line 144 of file geometric_hash.h.
std::vector<CvSeq*> EdgeMatcher::edges [protected] |
Definition at line 125 of file geometric_hash.h.
GeometricHash3D EdgeMatcher::hash [protected] |
Definition at line 126 of file geometric_hash.h.
const float EdgeMatcher::min_angle = 0.15f [static, protected] |
Definition at line 127 of file geometric_hash.h.