Как использовать алгоритм сопоставления фасок для поиска «похожих изображений» - PullRequest
9 голосов
/ 09 августа 2010

Я хотел бы попросить дополнительную информацию о том, как алгоритм согласования фасок (алгоритм сопоставления кромок) можно использовать для поиска «похожих» изображений. Я хотел бы знать, возможно ли поставить «оценку» за сопоставленные результаты.

1 Ответ

17 голосов
/ 03 июня 2011

Алгоритм согласования фасок в основном вычисляет расстояние (несходство) между двумя изображениями. Основная идея заключается в следующем:

  1. Извлечение края / контуров изображения запроса, а также целевого изображения.
  2. Возьмите одну точку / пиксель контура в изображении запроса и найдите расстояние ближайшей точки / пикселя контура в целевом изображении.
  3. Суммируйте расстояния для всех краевых точек / пикселей изображения запроса.

Это дает Расстояние фаски, то есть значение различий между двумя изображениями. Чем ниже значение, тем лучше результат. Однако вам нужно позаботиться о масштабировании и скольжении окон, если целевое изображение больше, чем изображение запроса, что часто имеет место.

Вы можете найти рабочий пример на opencv \ modules \ contrib.

...