Как удалить дубликаты импортированных фотографий в Shotwell
Я заметил, что Shotwell дважды импортировал много изображений (например, с SD-карты моей камеры). Очевидно, обнаружение дубликатов вызывает ошибку, когда фотография импортируется, помечается и затем повторно импортируется.
У меня в настройках включена запись метаданных. Если я импортирую фото test-images.jpg
и добавьте теги к нему, фотография не будет обнаружена при повторном обнаружении при повторном импорте того же файла. Второй раз, когда файл импортируется, он будет назван test-images-1.jpg
и помещается в папку библиотеки согласно активным правилам (необязательно в ту же папку).
test-images.jpg
а также test-images-1.jpg
будет иметь те же данные изображения, но из-за добавленного тега / метаданных файлы больше не будут одинаковыми и не будут обнаружены при поиске дубликатов (например, хэш md5).
Мой сценарий использования, который вызвал несколько дубликатов, выглядит следующим образом:
- Я фотографирую с телефона
- Я импортирую фотографии с телефона, добавляю теги, но оставляю изображения на телефоне, так как хочу сохранить их для совместного использования и т. Д.
- Я добавляю дополнительные теги к импортированным фотографиям
- Через несколько недель я повторяю шаг импорта с телефона, и старые фотографии, которые я уже импортировал, будут импортированы снова (с добавлением "-1.jpg" или "-2.jpg")
Как убрать дубликаты? Использование поиска по имени файла было бы возможно, но я не могу исключить, что я не импортировал файл, заканчивающийся на -1
в который не был импортирован как дубликат.
Как я могу очистить мою библиотеку фотографий? Я пытался использовать функцию поиска в Shotwell, но с более чем 1000 фотографиями должен быть лучший, более надежный и менее подверженный ошибкам простой способ.
Меня не беспокоит потеря тегов, обычно ко второму импорту (дубликату) теги не применяются.
4 ответа
Вроде спам, но несколько месяцев назад я столкнулся с той же проблемой и написал небольшую утилиту, которая делает именно это:
https://github.com/jesjimher/imgdupes
Это скрипт Python, который сканирует дерево каталогов в поисках дубликатов. Его синтаксис намеренно похож на fdupes, с той разницей, что imgdupes игнорирует все метаданные и анализирует только фрагмент данных изображения файла JPEG. Это означает, что две разные версии одного и того же изображения с разными тегами, флагами поворота, датами и т. Д. Будут сообщаться как дубликаты, даже если физические файлы различаются (и, следовательно, не определяются как дубликаты с помощью fdupes/shotwell).
Недавно он был переименован в jpegdupes и теперь используется в репозиториях Pypi, поэтому сканирование дерева на наличие дублированных изображений может быть выполнено следующим образом:
sudo pip install jpegdupes
jpegdupes -d ~/Photos/
(или каков твой путь)
Он будет искать JPEG-файлы, которые на самом деле являются одним и тем же изображением (различающиеся только метаданными), и в интерактивном режиме отображать различия и спрашивать, какую версию сохранить.
Надеюсь, поможет.
Я столкнулся с той же проблемой несколько недель назад. Решение, которое я нашел для решения этой проблемы, является базовым, но работает: внутри Shotwell создайте новый сохраненный поиск, который отображает все изображения без тега И с именами файлов, заканчивающимися на "_1.jpg". Затем вы можете стереть все файлы, перечисленные Shotwell для этого поиска, но будьте осторожны, сделайте резервную копию раньше;-) В моем случае я удалил более 2000 изображений!
Вы можете просто скопировать помеченные файлы обратно на телефон, чтобы они больше не отличались? Я думаю, что Shotwell должен справиться со своими собственными тегами, и это выглядит для меня как ошибка. У меня похожая проблема, но Shotwell пересматривает файлы необработанных снимков при каждом запуске.
Я столкнулся с той же проблемой и решил, экспортировав все изображения из Shotwell в другую папку. Даже если у вас есть дупс, Shotwell показывает их только один раз. Например, у меня было 64K в папке, но Shotwell показал только 32K. Поэтому я выбрал все и экспортировал с сохранением размера, имени, метаданных и т. Д. Единственный недостаток: если у вас сложная структура папок и вы хотите ее сохранить - это решение может не сработать для вас. У меня сейчас все в одной папке. Кстати, похоже, эта ошибка исправлена.