|
|
|
@ -54,13 +54,13 @@ int main(void) |
|
|
|
|
for (itMatcher = typeAlgoMatch.begin(); itMatcher != typeAlgoMatch.end(); itMatcher++){ |
|
|
|
|
descriptorMatcher = DescriptorMatcher::create(*itMatcher); |
|
|
|
|
descriptorMatcher->match(descImg1, descImg2, matches, Mat()); |
|
|
|
|
// Keep best matches only to have a nice drawing
|
|
|
|
|
// Keep best matches only to have a nice drawing
|
|
|
|
|
Mat index; |
|
|
|
|
Mat tab(matches.size(), 1, CV_32F); |
|
|
|
|
for (int i = 0; i<matches.size(); i++) |
|
|
|
|
tab.at<float>(i, 0) = matches[i].distance; |
|
|
|
|
sortIdx(tab, index, SORT_EVERY_COLUMN + SORT_ASCENDING); |
|
|
|
|
vector<DMatch> bestMatches; /*<! best match */ |
|
|
|
|
vector<DMatch> bestMatches; |
|
|
|
|
for (int i = 0; i<30; i++) |
|
|
|
|
bestMatches.push_back(matches[index.at<int>(i, 0)]); |
|
|
|
|
Mat result; |
|
|
|
|