Я сделал что-то подобное, разложив изображения в подписи, используя wavelet transform.
Мой подход состоял в том, чтобы выбрать наиболее значимые коэффициенты от каждого преобразованного канала и записать их местоположение. Это было сделано путем сортировки списка кортежей (питания, местоположения) в соответствии с абс (мощность). Аналогичные изображения будут иметь сходство в том, что они будут иметь значительные коэффициенты в тех же местах.
Я нашел, что лучше всего преобразовать изображение в формат YUV, что позволяет эффективно подобрать сходство по форме (Y-канал) и цвет (УФ-каналы).
Вы можете в найти свою реализацию выше в mactorii, который, к сожалению, я не работал на столько, сколько я должен иметь :-)
Другой метод, который некоторые из моих друзей использовали с удивительно Хорошие результаты - просто изменить размер изображения, чтобы сказать, что пиксель 4x4 и магазин, которые являются вашей подписью. Как аналогичные 2 изображения могут быть оценены, скажем, вычисляя Manhattan distance между двумя изображениями, используя соответствующие пиксели. У меня нет деталей того, как они выполняли изменение размера, поэтому вам, возможно, придется играть с различными алгоритмами, доступными для этой задачи, чтобы найти подходящую.
Есть некоторые хорошие ответы в этом другом аналогичном вопросе: http://stackoverflow.com/questions/25977/how-can-i-measure-the-similarity-between-two-images – blak 2012-07-02 20:17:21
много «cans» и «mights». Кто-нибудь пробовал все эти предложения и знал, что лучше? – 2013-01-27 04:01:52
Прошло некоторое время с тех пор, как я увидел компьютерное зрение, но вы можете посмотреть Matlab, там есть хорошие функции для анализа изображений, а затем сравнения сходства полученных матриц на основе различных показателей для вашего сравнения. – Mason 2008-09-16 19:30:43