Я использую FLANN в matlab и использую дескриптор функции SIFT как мои данные. Существует функция:FLANN в matlab возвращает другое расстояние от моего собственного расчета
[result, ndists] = flann_search(index, testset, ...);
Здесь index
построен с кД дерева. В «Руководстве пользователя» сказано, что result
возвращает ближайших соседей образцов в testset
, а ndists
содержит соответствующие расстояния между тестовыми образцами и ближайшими соседями. Я использовал эвклидовое расстояние и обнаружил, что расстояния в ndists
отличаются от расстояний, вычисленных по данным orignal. И что еще более странно, все числа в ndists
являются целыми числами, что часто невозможно для евклидова расстояния. Можете ли вы мне помочь объяснить это?
если числа в 'ndists' являются целыми числами - может ли это так, что этот вывод фактически является показателем ближайших соседей? какой тип являются «результатом»? они двойные? являются ли они целыми числами? возможно ли, что есть другой выход, который вы опустили? – Shai