Форум сайта python.su
Вообщем есть изображения, которые лежат просто в папках.
Для каждого из этих изображений мы создаем вектор признаков(например гистограмму) и затем должны для нового входного изображения найти ближайшее по определенной метрике изображение.
(с гистограммой пример не очень хорший, т.к. это не вектор и метод сравнения там не просто евклидово расстояние, но хотелось бы рассмотреть и в общем виде т.е. имеем data+method+metric)
По идее можно просто взять и сравнивая каждый с каждым перебрать все, сами векторы хранить можно в базе данных.
Но хотелось бы находить например 10 ближайших и для этого наверно можно использовать knn search т.е. чтобы векторы признаков были организованы в виде дерева, но есть условие не загружать всё дерево сразу в память.
есть ли какие либо готовые решения на питоне?
Офлайн
Для не очень большого числа признаков можно использовать RTree https://pypi.python.org/pypi/Rtree/
Пакет предусматривает для хранения данных возможность использования zodb.
Еще вариант использовать postgesql http://en.wikipedia.org/wiki/GiST
пользуясь питоновскми интерфейсами к ней.
Офлайн