Методы сравнения изображений с помощью Java

Я ищу несколько методов для сравнения двух изображений, чтобы увидеть, насколько они похожи. В настоящее время я планирую использовать проценты в качестве конечного результата «индекса сходства». Моя программа выглядит примерно так:

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

В последнее время я много читал, и некоторые из прочитанных мной материалов кажутся невероятно сложными и продвинутыми, и не для кого-то вроде меня, у которого только около года стоит опыт Java. До сих пор я читал о:

  • Преобразовании Фурье - мне это довольно сложно реализовать в Java, но, очевидно, в Java Advanced Imaging API есть класс для этого. Хотя я не уверен, как преобразовать вывод в реальный результат

  • Алгоритм SIFT - кажется невероятно сложным

  • Гистограммы - вероятно, самый простой из всех упомянутых до сих пор

  • Захват пикселей - кажется жизнеспособным, но если между двумя изображениями есть значительные различия, похоже, что это не даст какого-либо точного результата. Я могу ошибаться?

У меня также есть идея предварительно обработать изображение с помощью фильтра Собеля, а затем сравнить его. Проблема заключается в самой части сравнения.

Так что да, я ищу, есть ли у кого-нибудь идеи для сравнения изображений в Java. Надеюсь, что здесь есть люди, которые раньше занимались подобными проектами. Я просто хочу получить информацию о жизнеспособных методах сравнения, которые несложно реализовать на Java.

Заранее спасибо

7
задан Flynn 1 December 2010 в 19:22
поделиться