Klasa DMatch podaje odległość między dwoma pasującymi KeyPoints (pociąg i zapytanie). Zatem najlepsze wykryte pary powinny mieć najmniejszą odległość. Samouczek zbiera wszystkie mecze, które są mniejsze niż 2 * (minimalna odległość między parami) i uważa je za najlepsze.
Aby uzyskać współrzędne (x, y) najlepszych dopasowań. Powinieneś użyć good_matches
(która jest listą obiektów DMatch
), aby wyszukać odpowiednie indeksy z dwóch różnych wektorów KeyPoint
(keypoints_1
i keypoints_2
). Coś jak:
for(size_t i = 0; i < good_matches.size(); i++)
{
Point2f point1 = keypoints_1[good_matches[i].queryIdx].pt;
Point2f point2 = keypoints_2[good_matches[i].trainIdx].pt;
// do something with the best points...
}
Niektóre średniki brakuje :) –
@ScottMarchant Dziękuję, dobry panie :) średniki zostały dodane. – mevatron