3dpcp/include/slam6d/fbr/feature_matcher.h

59 lines
2 KiB
C
Raw Normal View History

2012-09-16 12:33:11 +00:00
/**
* @file feature_matcher.h
* @brife matches two sets of features
* This class is a feature matcher that findes the matching features.
* It determines the matching features from two sets of feature descriptors and features.
* @author HamidReza Houshiar. Jacobs University Bremen gGmbH, Germany.
* @date Date: 2012/05/29 2:00
*/
#ifndef FEATURE_MATCHER_H_
#define FEATURE_MATCHER_H_
#include "fbr_global.h"
#include "feature.h"
namespace fbr{
/**
* @class feature_mathcer : match features that has same descriptor method.
* @param matches set of matched features
* @param mMethod matcher_method
* @param knn incase of knn search indecate the number of nearest neighbors
* @param radius incase of radius search indicates the radius of the search
* @param nOfMatches number of matches after the first step
* @param nOfFilteredMatches number of matches after the filteration
*/
class feature_matcher{
vector<cv::DMatch> matches;
matcher_method mMethod;
unsigned int knn;
double radius;
unsigned int nOfMatches;
unsigned int nOfFilteredMatches;
2012-10-15 17:05:06 +00:00
matching_filtration_method mFiltrationMethod;
2012-09-16 12:33:11 +00:00
2012-10-15 17:05:06 +00:00
void init(matcher_method method, int k, double r, matching_filtration_method filtration);
void findMatches(feature qFeature, feature tFeature);
2012-09-16 12:33:11 +00:00
public:
feature_matcher();
feature_matcher(matcher_method method);
feature_matcher(matcher_method method, double p);
2012-10-15 17:05:06 +00:00
feature_matcher(matcher_method method, double p, matching_filtration_method filtration);
2012-09-16 12:33:11 +00:00
void match(feature qFeature, feature tFeature);
2012-10-15 17:05:06 +00:00
2012-09-16 12:33:11 +00:00
vector<cv::DMatch> getMatches();
matcher_method getMatcherMethod();
2012-10-15 17:05:06 +00:00
matching_filtration_method getMatchingFiltrationMethod();
2012-09-16 12:33:11 +00:00
unsigned int getKnn();
double getRadius();
unsigned int getNumberOfMatches();
unsigned int getNumberOfFilteredMatches();
void getDescription();
2012-10-15 17:05:06 +00:00
void setMatchingFiltrationMethod(matching_filtration_method method);
2012-09-16 12:33:11 +00:00
};
}
#endif /* FEATURE_MATCHER_H_ */