Простой и быстрый метод сравнения изображений на предмет сходства

Мне нужен простой и быстрый способ сравнить два изображения на предмет сходства. Т.е. я хочу получить высокое значение, если они содержат одно и то же, но могут иметь немного другой фон и могут быть перемещены / изменены в размере на несколько пикселей.

(Более конкретно, если это имеет значение: одно изображение - это значок а другое изображение - это часть снимка экрана, и я хочу знать, является ли эта часть точным значком или нет.)

У меня есть OpenCV , но я все еще не привык к этому.

Одна возможность, о которой я думал до сих пор: разделить оба изображения на 10x10 ячеек и для каждой из этих 100 ячеек сравнить цветную гистограмму. Затем я могу установить какое-то придуманное пороговое значение, и если полученное мной значение выше этого порога, я предполагаю, что они похожи.

Я еще не пробовал, насколько хорошо это работает, но я думаю, это было бы достаточно хорошо. Изображения уже в значительной степени похожи (в моем случае использования), поэтому я могу использовать довольно высокое пороговое значение.

Думаю, есть десятки других возможных решений для этого, которые будут работать более или менее (поскольку сама задача довольно просто, поскольку я хочу обнаружить сходство только в том случае, если они действительно очень похожи). Что бы вы предложили?


Есть несколько очень связанных / похожих вопросов о получении подписи / отпечатка пальца / хэша из изображения:

Кроме того, я наткнулся на эти реализации, которые имеют такие функции для получения отпечатка пальца:

Некоторые дискуссии о перцептивных хэшах изображений: здесь


Немного оффтоп: существует множество методов для создания звуковых отпечатков пальцев. MusicBrainz , веб-сервис, обеспечивающий поиск песен по отпечаткам пальцев, имеет хороший обзор в своей вики . Сейчас они используют AcoustID . Это для поиска точных (или наиболее точных) совпадений. Чтобы найти похожие совпадения (или если у вас есть только несколько фрагментов или много шума), взгляните на Echoprint . Связанный вопрос SO здесь . Так что, похоже, это решено для аудио. Все эти решения работают неплохо.

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

185
задан Albert 5 October 2019 в 03:35
поделиться