La clase DMatch le da la distancia entre las dos correspondencias KeyPoints (tren y consulta). Entonces, los mejores pares detectados deberían tener la distancia más pequeña. El tutorial toma todas las coincidencias que son menos de 2 * (distancia mínima de par) y las considera las mejores.
Para obtener las coordenadas (x, y) de las mejores coincidencias. Debería usar good_matches
(que es una lista de objetos DMatch
) para buscar los índices correspondientes de los dos vectores KeyPoint
(keypoints_1
y keypoints_2
). Algo así como:
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...
}
Algunos puntos y comas faltan :) –
@ScottMarchant Gracias, buen señor :) ahora se han añadido puntos y comas. – mevatron