Как автоматически поворачивать изображения на основе данных EXIF?

13

Я знаю, как это сделать вручную . Теперь я хотел бы автоматизировать это на основе данных EXIF. Я уже exiftoolустановил, но, похоже, он может только читать данные, но не может повернуть изображение.

Есть похожий вопрос по SU по поводу Ubuntu . Но я ищу возможные решения с использованием OSX.

LA_
источник
В этом ответе на ваш цитируемый вопрос упоминается XnView. В то же время существует XnViewMP, который очень похож, но работает и под MacOS .
mpy

Ответы:

6

Вы можете использовать nconvert, который является бесплатным (для частного и образовательного использования) и доступен для Win, Linux и Mac .

Этот инструмент может вращать изображения JPEG без потерь в соответствии с тегом ориентации EXIF:

nconvert -jpegtrans exif -o 'rotated_%.jpg' *.jpg

Эта команда выполнит пакетное преобразование всех файлов JPEG в текущем каталоге и добавит к ним их имена rotated_. Это контролируется -oопцией, обратитесь к nconvert -helpдополнительным возможностям:

-o filename       : Output filename
   Use # to specify position of numeric enumerator
   Use % to specify source filename
   Use $ to specify full source pathname
   Use $$ to specify source folder name
МРУ
источник
Спасибо, Мпи. Где разместить nconvertпосле загрузки и распаковки (чтобы он был доступен только по имени)? Я пытался переместить его в приложения, но это не помогло.
LA_
@LA_: В какой-то каталог, который находится в вашем PATH (проверьте вывод echo $PATH). Под Linux обычное место есть ~/bin, но я ничего не могу сказать об OSX, извините. При некоторых обстоятельствах вы должны выполнить rehash(или запустить новый терминал) после перемещения исполняемого файла в другой каталог.
mpy
15

Вы можете использовать бесплатный jhead (который сам использует jpegtran ).

Чтобы исправить изображение с именем «image.jpg», просто введите:

jhead -autorot image.jpg

Чтобы исправить все JPG с данными EXIF ​​в текущей папке, используйте:

jhead -autorot *.jpg

Если повернутые значки не отображаются правильно, вы можете обновить их:

  1. Создать новую папку (сохранить без названия)
  2. Переместить затронутые изображения в папку
  3. Используя Column View, переместите изображения обратно в исходную папку
  4. Удалить пустую папку без названия
harrymc
источник
Это мой любимый - я вспомнил, что у jpegtran были некоторые проблемы с извлечением данных EXIF. Необходимо иметь перед отправкой изображений по электронной почте, которые будут просматриваться в Chrome или другом браузере, не учитывая ориентацию EXIF!
Томаш Гандор
1

Это не сценарий решения. Мне нравится этот способ, так как он позволяет мне изменить другие аспекты фотографий за один шаг.

Возможное простое решение - использовать Google Picasa.

После добавления изображений все фотографии автоматически отображаются для отображения. Если картинка должна быть автоматически добавлена ​​в файл, достаточно нажать кнопку сохранения в папке с изображениями. Это сохранит все изображения в папке с исправленным поворотом. Picasa также доступна для OS X и работает в Linux под Wine.

Dee
источник
Picasa больше не поддерживается Google.
Blazemonger
0

Если вы хотите использовать Automator для этого, вы можете просто дважды использовать Rotate Images (180deg) в рабочем процессе.

Например, я использую действие automator, которое преобразует все изображения в JPEG, поворачивает их на 360 градусов (из-за проблемы ОП), а затем масштабирует их до 1024 пикселей в ширину. Запустите действие, выберите файлы, прибыль! :)

Дуайт Браун
источник