понедельник, 13 октября 2008 г.

Сортируем фотки

Когда я фотографирую что-нибудь, я обычно делаю кучу снимков. Авось среди них будет один-два приличных. Порочная практика, но пока другую не освоил. Один из недостатков - большое количество почти одинаковых файлов, которые надо сортировать, что конечно же делать не всегда хочется.
Особенно мне не нравится большой размер файла. Ноутбук у меня не самый быстрый, а фотографировать я люблю в хорошем качестве и максимальном разрешении. Поэтому, когда смотришь фотографии, оные могут грузится по 0.5-1 секунды. Пока просто смотришь, это ещё ничего, заставляет задуматься и искать сюжет там, где его отродясь небыло, но при сортировке это создаёт только проблемы.

Поэтому, я подумал и нашёл пару приёмов, для облегчения чистки таких фото-помоек.
Во-первых фотки надо уменьшить - и по размеру и по качеству:

# mkdir small
# for i in *.JPG; do echo $i; convert -resize 50% -quality 70% $i small/$i; done

Запускаем из директории с кипой фотографий. При этом создаётся поддиректория small и в неё помещаются копии фотографий с 50% размером от оригинала и 70% качеством (у оригиналов около 95%)
Файлы получаются достаточно маленькие для быстрого листания их туда сюда в попытке выяснить что оставить, а что удалить.
Заходим в поддиректорию small, запускаем свой любимый просмотрщик картинок(мне, например, нравится gwenview, так как у него есть просмотр миниатюр файлов в директории). Запускаем, и начинаем удалять ненужное. Обычно урезанного качества хватает, что бы понять, какая фотография лучше а какая должна отправиться в корзину. В противном случае придётся посмотреть на оригиналы.

Итак, набор маленьких фотографий урезан. Теперь пришло время синхронизировать его с оригинальным набором.

# cd ..
# mkdir 2erase
# for i in *.JPG; do [[ ! -e small/$i ]] && mv $i 2erase/$i; done

Т.е. выходим в директорию с оригиналами, создаём поддиректорию 2erase, куда мы положим оригиналы, предназначенные для удаления(сразу удалять страшновато, но смелые могут и попробовать) и синхронизируем директории. Для каждого оригинала проверяем наличие "двойника" в small поддиректории. Если его нет - удаляем.

Вот и всё.

P.S. Ещё команда, для изменения регистра имен файла. Мой фотоаппарат почему-то считает, что IMG_7746.JPG выглядит лучше чем img_7746.jpg. Но я уверен в обратном:

# for i in *.JPG; do
newname=$(echo $i | tr '[:upper:]' '[:lower:]')
mv "$i" "$newname"
done

1 комментарий:

Anastácio Soberbo комментирует...

Hello, I like the blog.
Sorry not write more, but my English is bad writing.
A hug from Portugal

Здравствуйте, поздравления по случаю Вашего блога.
К сожалению, не пишите больше, но мой русский плох письменном виде.
Объятие из Португалии