|
|
|
@ -265,7 +265,7 @@ void FeaturesMatcher::operator ()(const vector<ImageFeatures> &features, vector< |
|
|
|
|
|
|
|
|
|
// Leave k-nearest images
|
|
|
|
|
int k = min(4, num_images); |
|
|
|
|
nth_element(dists.begin(), dists.end(), dists.begin() + k); |
|
|
|
|
nth_element(dists.begin(), dists.begin() + k, dists.end()); |
|
|
|
|
for (int j = 0; j < k; ++j) |
|
|
|
|
is_near(i, dists[j].idx) = 1; |
|
|
|
|
} |
|
|
|
@ -273,7 +273,7 @@ void FeaturesMatcher::operator ()(const vector<ImageFeatures> &features, vector< |
|
|
|
|
vector<pair<int,int> > near_pairs; |
|
|
|
|
for (int i = 0; i < num_images - 1; ++i) |
|
|
|
|
for (int j = i + 1; j < num_images; ++j) |
|
|
|
|
if (is_near(i, j)) |
|
|
|
|
if (is_near(i, j) || is_near(j, i)) |
|
|
|
|
near_pairs.push_back(make_pair(i, j)); |
|
|
|
|
|
|
|
|
|
pairwise_matches.resize(num_images * num_images); |
|
|
|
|