Настройка индексации / сопоставления OpenCV FLANN - PullRequest
0 голосов
/ 05 мая 2019

Я использую OpenCV в python 3.6 для извлечения функций. Что касается обнаружения и описания ключевых точек, я использую детектор ORB, который дает двоичные дескрипторы (B в ORB обозначает BRIEF, который является двоичным дескриптором).

orb = cv2.ORB_create(nfeatures=1500)
leftKP, leftDescrps = orb.detectAndCompute(leftImg, None)
rightKP, rightDescrps = orb.detectAndCompute(righImg, None)

Я хочу использовать сопоставитель на основе FLANN и настроить его так, чтобы он использовал расстояние Хэмминга / Манхэттена для индексации и поиска. OpenCV включает в себя FLANN от Lowe и Muja, однако не предлагает полный интерфейс библиотеки, как показано в документации

Документация предназначена для использования другой оболочки Python pyflann, которая действительно предлагает необходимую настройку. Однако использование pyflann требует приведения типов от объектов OpenCV к numpy. Что-то, чего я хотел бы избежать, так как производительность моего кода важна, и я боюсь, что приведение типов будет расточительным.

Есть ли способ настроить OpenCV FlannBasedMatcher для использования Манхэттена или Хэмминга?

...