Я использую 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
для использования Манхэттена или Хэмминга?