Пакетный поворот картинок по метаданным

()

В некоторый момент времени перед автором этих строк встала задача сделать фотографии всех шкафов в серверной, каждый с обеих сторон. Некоторые фотографии делалась повёрнутым на 900 фотоаппаратом. Фотоаппарат при этом умел определять своё положение в пространстве и отмечал этот поворот в метаданных exif, однако если просмотрщик фотографий не умеет при просмотре использовать данных exif - картинка получалась "положенной на бок".

В поисках решения этой проблемы автор наткнулся на утилиту exiftran, которая в Debian/Ubuntu Linux легко устанавливается командой:

sudo apt-get install exiftran

Сама утилита вместе со всей документацией занимает на диске всего около девяносто килобайт, однако умеет она достаточно много: например поворачивать картинки на заданый угол (кратный 900), добавлять комментарий, поворачивать картинку согласно метаданным и многое другое. В данном случае нужна только возможность поворачивать картинку по метаданным. Это делается следующей командой:

exiftran -a -i file.jpg

Здесь ключ "-a" указывает на необходимость автоматически определить направление поворота по метаданным, а ключ "-i" говорит что сохранять изменения нужно прямо в исходом файле, без этого ключа придётс с помощью ключа "-o" указывать ещё и файл для записи результат. Примерно вот так:

exiftran -a -i file.jpg -o newfile.jpg

Однако в случае задачи, озвученной в первом абзаце, файлов было порядка восьмидесяти и выполнять такую команду для каждого достаточно тяжело, потому задача была упрощена с помощью несложного скрипта, набранного прямо в приглашении bash:

for i in *.jpg; do exiftran -a -i ${i}; done

Вобщем-то на этом всё, остаётся только добавить что в случае необходимости выполнения этой операции в некотором каталоге и его подкаталогах разумнее будет воспользоваться следующей командой:

find ~/photos -type f -name *.jpg -exec exiftran -a -i '{}' \;

Где "~/photos" - путь к папке с фотографиями.

Приятной работы!

Ключевые слова: exiftran, exif, jpeg, jpg, rotate.

Комментарии:

Новый комментарий



© 2006-2016 Вадим Калинников aka MooSE

ремонт стиральных машин Electrolux в Москве;лекарства повышение потенции