Что я могу использовать, чтобы найти дубликаты фотографий, включая фотографии, размер которых был изменен?
Вы можете использовать инструмент командной строки под названием fdupes
, чтобы найти дубликаты файлов (подробнее см. man fdupes
). подробности). Я не знаю ни одного способа найти «дубликаты», размеры которых были изменены. Программа, которая сделала это, потребовала бы своего рода интеллектуального алгоритма, который анализировал содержание изображения, потому что, когда размер изображения изменяется, его данные изменяются, поэтому традиционные методы поиска дубликатов не будут работать.
fslint
- графическая программа, которая может найти дубликаты файлов любого типа по md5sum. Если изображения не идентичны, они не будут помечены как дубликаты. На изображении ниже показана куча дубликатов PDF-файлов в моем каталоге загрузок:
Вы можете изменить параметры расширенного поиска для поиска по типу файла и ограничить себя изображениями. только. Это делается путем изменения «дополнительных параметров поиска» в качестве параметров команды find
. Например, здесь я ищу только *.jpg
файлов (по тому же пути, только просматривая мою папку «Загрузки»:
fdupes
- эквивалентный инструмент на основе командной строки. Оба доступны в репозиториях.
imgSeek может найти дубликаты, а также похожие изображения (поэтому он должен иметь возможность найти измененные фотографии и фотографии с разными именами файлов и метаданными) и даже искать фотографии по эскизу. Он доступен в настольной и серверной версиях.
Я на самом деле не пробовал сам, хотя.
Visipics - это бесплатное приложение для Windows для этой функции, но оно прекрасно работает в Linux, конечно же, через Wine (Это лучше, чем geeqie / gqview в отношении сортировки дубликаты (результаты Geeqie абсолютно "несортируемые")).
Вы можете указать ему автоматический выбор изображений на основе таких критериев, как меньший размер файла, несжатый тип, более низкое разрешение (хотя это не будет противоположным, вам нужно будет сделать это вручную , что было бы не намного лучше, чем делать это в Geeqie, за исключением того, что для выделения не требуется удерживать Shift kbd> / Ctrl kbd>) и даже назначать приоритеты папкам (но последний приоритет - приоритет папки).
Вы должны обратить внимание на символические ссылки, однако - он может «произвольно» выбрать сохранение символической ссылки в файл при удалении фактического файла в качестве «копии». Это позор.
dupeGuru Picture Edition отлично работает и стоит попробовать.
Они имеют Launchpad PPA , dupeguru
(новый пакет all-in-one) или dupeguru-pe
(старый пакет редактирования изображений), которые можно установить из него с помощью следующих команд:
Добавьте все фотографии в свою коллекцию. В меню выберите «Инструменты / Найти дубликаты». Это будет искать дубликаты по всей вашей коллекции.
Инструмент командной строки. Передайте все изображения, которые вы хотите сравнить, в командной строке.
В меню выберите «Файл / Найти дубликат». Перетащите файлы изображений сделать окно дубликатов. Вы можете удалить каталоги, чтобы добавить их содержимое рекурсивно. Для визуального сравнения изображений в раскрывающемся меню есть определенные параметры, отличные от заданных по умолчанию. «Настраиваемый» уровень сходства позволяет ограничивать пары только наивысшей степенью сходства, но он должен быть установлен на «Предпочтения» как 99. Даже в этом случае он не работает идеально, по крайней мере, для некоторых видов изображений, таких как линейные Изобразительное искусство. К сожалению, он не предоставляет механизм автоматического выбора с рациональными критериями, такими как разрешение, дата или что-то еще, автоматический выбор, кажется, просто случайным образом выбирает первое найденное изображение в качестве ссылки для сохранения. Удаление многих изображений может быть очень медленным, поскольку оно пытается обновлять счетчик результатов при каждом удалении.
Все три из этих инструментов находят визуальные дубликаты, а не только файлы, идентичные байту для байта.
Я написал этот скрипт на Python, чтобы найти визуально похожие изображения и удалить все, кроме самого большого.
Он использует findimagedupes для поиска дубликатов изображений.
Его можно вызвать с параметрами -d и -r для вашего варианта использования, которые: