OpenCV drawMatches - queryIdx et trainIdx

C'est OpenCV est drawMatches() fonction:

void drawMatches(Mat img1, vector<KeyPoint> keypoints1,
                 Mat img2, vector<KeyPoint> keypoints2,
                 vector<DMatch> matches, 
                 Mat outImg) //want keypoints1[i] = keypoints2[matches[i]]

Avis que matches est de type vector<DMatch>. Voici la DMatch constructeur:

DMatch(int queryIdx, int trainIdx, float distance)

Sans doute, queryIdx est un index dans un ensemble de keypoints, et trainIdx est un indice dans l'autre jeu de keypoints.

La question: Est-il vrai que queryIdx index dans keypoints1et trainIdx index dans keypoints2? Ou, est-ce l'inverse?

source d'informationauteur solvingPuzzles