Я пытаюсь построить многопрофильный индекс в Python. Формы распознаются с использованием OpenCV и CNN, давая x, y, w, h, класс и доминирующий цвет формы. Формы перемещаются и изменения положения фиксируются в режиме реального времени.
Чтобы работать с фигурами, я думаю, что координаты (x, y) могут быть лучшим выбором для индекса. Сейчас я ищу обновляемую структуру данных с быстрым поиском по координатам. Структура данных должна иметь хорошо протестированную реализацию Python и поддерживать следующие операции (быстро):
- Хранить объект A с координатами (x0, y0)
- Получить ближайший объект к координатам (x, y) (возвращает объект O)
- Обновить объект A предыдущими координатами (x0, y0) для новой позиции (x1, y1)
- Удалить объект A с предыдущими координатами (x1, y1)
Я смотрел на scipy.spatial.KDTree
, но он не поддерживает обновления. Теоретически R * -Tree будет адекватным выбором (поправьте меня, если я ошибаюсь), но я не могу найти библиотеку Python, которая явно заявляет, что имеет быстрые обновления.
На какие библиотеки мне смотреть? Также приветствуются альтернативные решения данной проблемы.