Найти визуально похожие изображения для данного изображения
Я ищу инструмент / программное обеспечение / ОС, которые возьмут изображение в качестве примера и отсканируют мой жесткий диск, чтобы найти похожие изображения, точно так же, как Google Images делает в Интернете.
Стив Барнс
Немного поделки, но вы можете делать такие вещи с python плюс OpenCV или Numpy - в любом случае подход один и тот же:
- Создайте отпечаток пальца изображения, которое вы ищете, чем-то вроде:
- Уменьшить до оттенков серого
- изменить размер до фиксированного размера, например, 64x64
- возможно генерировать гистограмму интенсивностей
Добавьте графический интерфейс, если хотите.
- Любые ОС, включая Windows, Linux, OS-X, Raspberry Pi, Суперкомпьютеры.
- Бесплатно - как цена, так и FOSS
- GUI - множество доступных библиотек GUI
- Множество примеров в сети просто гугл.
- Опыт обучения - вы можете считать это плюсом или минусом .
Анджело Фукс
ПРИМЕЧАНИЕ: это больше не работает. Я больше не мог заставить его работать для большинства файлов, похоже, что этот инструмент не работает.
Существует Libpuzzle , который будет выполнять сравнение, но не поиск по всем изображениям. Для его установки используйте пакет libpuzzle-bin , который предоставит вам инструмент командной строки.
Это библиотека и инструмент командной строки, который предназначен для сравнения двух изображений и определения их сходства. Я использовал его, чтобы найти файлы, которые были очень похожи (логотипы) некоторое время назад, которые работали хорошо.
Если вы хотите использовать его, вы должны использовать дополнительное программное обеспечение, которое вызывает libpuzzle с соответствующими параметрами.
Я написал скрипт, который можно использовать для команды find -exec. Сценарий simple-pd.sh следующим образом (он у меня в файле simple-pd.sh ):
он вызывается так:
где вы заменяете MYIMAGE изображением, с которым хотите сравнить. chmod +x simple-pd.sh нужны права на выполнение ( chmod +x simple-pd.sh )
Инструмент (вместе со скриптами здесь) будет делать то, что вы хотите большую часть времени.
Хотя мне нравится инструмент, у него есть свои недостатки. Он не может прочитать все файлы (у меня были проблемы с jpgs иногда) и раздражает, когда это терпит неудачу.
Параметры для puzzle-diff задокументированы, вам нужно будет протестировать некоторые изображения, которые вы хотите иметь, и те, которые вам не нужны, чтобы увидеть, какие из них лучше всего подходят для вашей задачи.
Мой сценарий предполагает, что изображение, которое очень похоже (0,80), должно быть указано как ДА, а остальные как НЕТ. Возможно, вы захотите уменьшить это число в соответствии с вашими потребностями.
Conspiria Анджело Фукс Анджело Фукс Conspiria Анджело Фуксжилль
findimagedupes - это обычная программа командной строки для Linux и других Unix-платформ.
Ищет сходство среди всех файлов. Вы можете отфильтровать выходные данные, чтобы сохранить только информацию об одном файле, если хотите, я не думаю, что это сильно влияет на производительность (медленная часть - это сканирование всех файлов).
Чтобы отсканировать файлы PNG и JPEG в определенном каталоге и сохранить только изображения, похожие на SOMEIMAGE.jpg, выполните следующие команды:
Если вы собираетесь делать это часто, findimagedupes может хранить отпечатки изображений в базе данных, что значительно ускоряет поиск после создания базы данных. Смотрите руководство для более подробной информации.
Conspiria жилль ConspiriaМатеуш Конечный
dupeGuru PE . Плюс это с открытым исходным кодом. :)
dupeGuru Picture Edition (PE для краткости) - это инструмент для поиска дубликатов картинок на вашем компьютере. dupeGuru PE - старший брат dupeGuru. Он работает как dupeGuru, но специализируется на сопоставлении дубликатов изображений. dupeGuru PE работает на Windows, Mac OS X и Linux.
dupeGuru PE эффективен. DupeGuru PE не только может находить точные совпадения, но также может находить дубликаты среди изображений разного типа (PNG, JPG, GIF и т. Д.) И качества. В Mac OS X dupeGuru PE может сканировать вашу библиотеку iPhoto.
DupeGuru PE настраивается. Вы можете настроить соответствующий ему движок, чтобы найти именно те дубликаты, которые хотите найти. На странице настроек файла справки перечислены все параметры модуля сканирования, которые вы можете изменить.
dupeGuru PE безопасно. Его двигатель был специально разработан с учетом безопасности. Его справочная система каталогов и система группировки не позволяют удалять изображения, которые вы не хотели удалять.
Сравните любой формат изображения. dupeGuru PE поддерживает форматы JPG, PNG, TIFF, GIF и BMP. Все эти форматы можно сравнить вместе. Версия dupeGuru PE для Mac OS X также поддерживает форматы PSD и RAW (CR2 и NEF).
Ваши библиотеки iPhoto и Aperture поддерживаются.
Делай что хочешь со своими дубликатами. Вы можете не только удалять дубликаты файлов, которые находит dupeGuru, но и перемещать или копировать их в другое место. Есть также несколько способов фильтрации и сортировки результатов, чтобы легко отсеять ложные дубликаты (для сканирования с низким порогом).