Настройка индексации / сопоставления OpenCV FLANN
Я использую 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
обернул Lowe и Muja FLANN, однако он не предлагает полный интерфейс библиотеки, как показано в ее документации
Документация предназначена для использования другой оболочки Python, называемой pyflann
, который действительно предлагает настройку, в которой я нуждаюсь. Однако, используя pyflann
требует литья типа из OpenCV
объекты к numpy
из них. Что-то, чего я хотел бы избежать, так как производительность моего кода важна, и я боюсь, что приведение типов будет расточительным.
Есть ли способ настроить OpenCV
FlannBasedMatcher
использовать Манхэттен или расстояние Хэмминга?