Здравствуйте, стоит задача сравнить 2 изображения и сказать похожи ли они. Какой алгоритм выбрать? какое алгоритм расстояния выбрать? на данный момент реализовал phash (без сифт дискрипторов) и алгоритм гистограмм
Если небольшое, то проще всего на дескрипторах, да. Из них вы получаете векторное описание картинки, а потом его уже сравниваете с имеющимися картинками, тут обычно применяют косинусное расстояние или L2 меру.
Конкретизируй вопрос, что ты имеешь ввиду под "похожестью", т.к. с точки зрения человека, две фотки с одинаковыми котами в разной позе похожи, с точки зрения алгоритмов вроде phash - могут быть абсолютно разные.
gibsonen, для себя я так и не определил, какой алгоритм лучше - 8-битный phash, 16-битный phash или dhash. Один алгоритм не находит явно одинаковые картинки, но отбрасывает точно непохожие. Другой, наоборот, найдет абсолютно все похожие картинки.... и к ним еще кучу совершенно отличающихся. Кстати, где вы читали про алгоритм гистограмм?