Сортировка и организация огромной кучи фотографий

У меня есть 168307 jpg фотографий в одной папке – результат восстановления с случайно отформатированного жесткого диска. Повседневный просмотр показывает, что 80% файлов были восстановлены в порядке, у большинства даже есть действительные данные EXIF ​​(включая timestamp), некоторые частично восстановлены (часть изображения отсутствует, но все еще пригодна для использования), некоторые из них абсолютно бесполезны (большинство изображений не было восстановлены). Все файлы имеют случайные числовые имена, и все они имеют одинаковые дату и время в файловой системе.

Поэтому они непригодны для использования. Я хочу сделать следующее:

  • создать набор миниатюр для просмотра вручную через них и довольно быстро удалить файлы, которые бесполезны,
  • используя сохраненные теги EXIF, чтобы автоматически сортировать оставшиеся изображения в аккуратное дерево папок (год / месяц / день / фото, например, структура – или набор папок с YYYY-MM-DD в качестве имени файла).

Какие инструменты вы бы порекомендовали для такой задачи? Должен ли я попробовать что-то вроде digikam для первой части и некоторых инструментов командной строки для второго?

One Solution collect form web for “Сортировка и организация огромной кучи фотографий”

Вы можете создавать эскизы с помощью imagemagick, который является инструментом командной строки, поэтому вы просто пишете скрипт bash для обработки набора. Вот пример: http://www.cyberciti.biz/tips/howto-linux-creating-a-image-thumbnails-from-shell-prompt.html или использовать mogrify . Еще одна альтернатива в комментариях к ссылке cyberciti заключается в том, чтобы написать сценарий bash самостоятельно без imagemagick для создания еще меньших файлов (см. Комментарий там Тимом).

Аналогично, вы можете организовать их с помощью даты exif shot в bash. Вот сценарий для этого: http://binaryunit.blogspot.com/2007/11/just-simple-script-to-order-your.html В комментариях есть вариант, который также переименует их.

Я использовал сценарии bash с imagemagick перед переименованием и изменением фотографий раньше для публикации в Интернете, но не там, где у вас так много, это займет некоторое время. Тем не менее, инструмент командной строки будет быстрее и использовать меньше ресурсов, чем другие решения; быстрее выполнять работу и позволять вам делать другие вещи, пока они обрабатывают. Если бы вы захотели, вы могли бы даже объединить два процесса, чтобы вам не приходилось прикасаться к ним, пока это не будет сделано.

Я настоятельно рекомендую протестировать любой скрипт на нескольких десятках изображений, прежде чем запускать его на всех 168K. Вы также должны сделать резервную копию своих необработанных данных, чтобы не заканчивать только, чтобы найти, что вы сделали что-то неправильно и уничтожили свои оригиналы.

Затем вы можете обрабатывать их в любом программном обеспечении для управления фотографиями или просто просматривать папки / файлы в диспетчере файлов gui.

  • Печать карт / мультфильмов / текста, сохраненных как изображение / etc
  • Как найти сходство по оси ординат в двух картинках?
  • Массовое изменение размера изображений в подкаталогах с помощью Imagemagick
  • Программно определить «однородность» изображения
  • Обнаружение изображений, содержащих только черные пиксели
  • Могу ли я изменить основные значки - Raspbian Jessie
  • Силуэт из изображения
  • Как открыть его .emz-файлы в linux?
  • Как заставить lp из CUPS печатать в оттенках серого?
  • Объединение пар файлов TIFF в каталог
  • Как визуализировать структуры дерева каталогов?
  • Interesting Posts

    Сценарий Bash для редактирования большого количества html-документов

    Можно ли настроить ksh в AIX на использование клавиши вкладок для завершения имени файла?

    Установка старого кириллического раздела HFS в современном Linux

    Синтаксис опции `offset“ e2fsck`

    Как настроить backspace, чтобы идти вверх, а не обратно в Thunar?

    Как отредактировать / удалить .dot_file на Mac без использования терминала

    почему моя конфигурация портативного компьютера игнорируется?

    Как определить функцию `bc` для последующего использования?

    Как заставить hgk работать на RedHat Linux?

    как найти начальное местоположение изменяющейся подстроки в более длинной строке

    Как я могу устранить SELinux, не позволяя законным программам использовать доступ к моей системе?

    Что означает поле `maximum error` в` sudo dmidecode -t 22`

    sed: получите 2 строки от одного

    Статический маршрут Centos

    Pdf-ридер, поддерживающий формы XFA (в то время как Adobe Reader не поддерживается в недавнем Linux)?

    Linux и Unix - лучшая ОС в мире.