Как получить доступ к каждому члену объекта DMatch (OpenCV) - PullRequest
0 голосов
/ 22 января 2019

Я работаю над Matcher, основанным на FLANN, используя OpenCV, и по определенным причинам мне нужно получить доступ к каждой паре координат объекта совпадений (DMatch). Фильтр результатов хороших совпадений был сохранен во вложенном списке: т.е. good_matches = [].

Как только я попытался получить доступ к первому объекту (print good_matches [0]), я получил указатель памяти в результате: то есть.

Любые подсказки, как структура этого объекта выглядит в Python и как получить к нему доступ?

ratio_thresh = 0.70
    good_matches = []
    for m,n in knn_matches:
        if m.distance < ratio_thresh * n.distance:
            good_matches.append(m)
 print good_matches[0]    

Скажем, координаты ключевых точек каждого изображения: (u_1, v_1) и (u_2, v_2). Так что я могу получить доступ к каждой согласованной паре координат и вычислить их как-нибудь позже.

1 Ответ

0 голосов
/ 23 января 2019

См. Мой ответ на этот вопрос: Как получить позиции совпадающих точек с помощью дескрипторов Brute-Force Matching / SIFT

Короче говоря, ключевые точки хранятся не в DMatch, а в другом списке. Объект DMatch хранит только индексы совпадающих ключевых точек, их расстояние и индекс изображения. Вы можете получить эти индексы, чтобы получить ключевые точки из другого списка.

...