|
Jafar
|
This class implements a variation of Jung group matching algorithm. More...
This class implements a variation of Jung group matching algorithm.
Definition at line 25 of file GroupsMatcher.hpp.
#include <GroupsMatcher.hpp>

Classes | |
| class | Group |
| struct | GroupMatchHypothesis |
| class | GroupsMatchSourceInfo |
| struct | InterestFeatureInfo |
Public Member Functions | |
| GroupsMatcher (MatchFocus *matchFocus=0, unsigned int groupsize=12, unsigned int groupsizeseedsearch=12, unsigned int minimalgroupsize=2, double distance=20.0, double closeness=0.6, double weakcloseness=0.6, double distinguability=0.1, double rotationTolerance=0.2, double scaleTolerance=10000.0, double distanceTolerance=10.0, double rotationDifferenceWithMedian=0.4, double thresholdofenoughtgroup=0.) | |
| GroupsMatcher (GroupsMatcher const &gm) | |
| GroupsMatcher & | operator= (GroupsMatcher const &m) |
| virtual jafar::gfm::MatchingResult | computeMatch (MatchSourceInfo *refsourceinfo, MatchSourceInfo *matchsourceinfo) |
| Compute the matching between two sources of information. | |
| virtual MatchSourceInfo * | initMatchSourceInfo (const jafar::fdetect::DetectionResult &pointsource) |
| Create the MatchSourceInfo from a vector of interest points. | |
| void | setMatchFocus (MatchFocus *matchFocus) |
Private Types | |
|
typedef std::vector < InterestFeatureInfo * > | vInterestFeatureInfos |
|
typedef vInterestFeatureInfos::iterator | vInterestFeatureInfos_it |
|
typedef vInterestFeatureInfos::const_iterator | vInterestFeatureInfos_cit |
|
typedef std::map< double, InterestFeatureInfo * > | double2interestPointInfo |
|
typedef std::pair < InterestFeatureInfo *, InterestFeatureInfo * > | pIpInfoIpInfo |
|
typedef std::vector < pIpInfoIpInfo > | vpIpInfoIpInfos |
| typedef std::vector< Group * > | vGroups |
| typedef vGroups::iterator | vGroups_it |
|
typedef std::pair < Group::GroupMember, Group::GroupMember > | pGrpMembGrMemb |
|
typedef std::vector < pGrpMembGrMemb > | vpGrpMembGrMembs |
| typedef vpGrpMembGrMembs::iterator | vpGrpMembGrMembs_it |
Private Member Functions | |
| GroupMatchHypothesis * | searchBestMatchFor (Group *groupref, vGroups &groupsmatch) |
| void | propageMatching (vInterestFeatureInfos &matches, InterestFeatureInfo *startingpoint, GroupMatchHypothesis *hypothesis) |
| void | initiatePropagation (vInterestFeatureInfos &matches, GroupMatchHypothesis *match, vpGrpMembGrMembs individualmatches) |
| template<class Archive > | |
| void | serialize (Archive &ar, const unsigned int version) |
Private Attributes | |
| int | md_currentnumberofmatch |
| Number of points in a group. | |
Friends | |
| class | boost::serialization::access |
| !! nizar 20100912 : serialization stuff | |
| std::ostream & | operator<< (std::ostream &s, const GroupsMatcher::InterestFeatureInfo &p_) |
| std::ostream & | operator<< (std::ostream &s, const GroupsMatcher::Group::GroupMember &p_) |
| std::ostream & | operator<< (std::ostream &s, const GroupsMatcher::Group &p_) |
| std::ostream & | operator<< (std::ostream &s, const GroupsMatcher::GroupsMatchSourceInfo &p_) |
| jafar::gfm::GroupsMatcher::GroupsMatcher | ( | MatchFocus * | matchFocus = 0, |
| unsigned int | groupsize = 12, |
||
| unsigned int | groupsizeseedsearch = 12, |
||
| unsigned int | minimalgroupsize = 2, |
||
| double | distance = 20.0, |
||
| double | closeness = 0.6, |
||
| double | weakcloseness = 0.6, |
||
| double | distinguability = 0.1, |
||
| double | rotationTolerance = 0.2, |
||
| double | scaleTolerance = 10000.0, |
||
| double | distanceTolerance = 10.0, |
||
| double | rotationDifferenceWithMedian = 0.4, |
||
| double | thresholdofenoughtgroup = 0. |
||
| ) | [inline] |
| groupsize | the maximum numbers of interest points in a group |
| groupsizeseedsearch | number of neighbourgh interest points of a group used to compute the first match |
| minimalgroupsize | the minimum numbers of interest points in a valid group |
| distance | the maximum distance between the center of a group and the other members (we use norm 1) |
| closeness | the threshold above which we can consider that two descriptors are describing the same interest point (maximum value is 1.0) |
| weakcloseness | the threshold for the comparison of the weakComparison (maximum value is 1.0) |
| distinguability | the distinguability is use when we search the first match (the seed) to determine if two hypothesis are different enough |
| rotationTolerance | the tolerance on the change of rotation in a group between reference and match |
| scaleTolerance | the tolerance on the change of scale in a group between reference and match |
| distanceTolerance | the tolerance of change in the translation vetween ref and match when trying to restart a propagation after running the tree has stop |
| rotationDifferenceWithMedian | once we have tried to match all group, we compute the median of the rotation to eliminate the outliers |
| thresholdofenoughtgroup | determine the minimum number of group left below which we won't try to find a new seed when the propagation is stopped (between 0.0 and 1.0, note with 0.0 no seed will ever be searched) |
| matchFocus | this object will control the |
Definition at line 131 of file GroupsMatcher.hpp.
int jafar::gfm::GroupsMatcher::md_currentnumberofmatch [private] |
Number of points in a group.
Set the minimal number of points needed to make a group. Define the distance Set the threshold on the comparison of descriptor
Definition at line 201 of file GroupsMatcher.hpp.
| Generated on Wed Oct 15 2014 00:37:38 for Jafar by doxygen 1.7.6.1 |
|