Поворот изображения, который работает
Я не уверен, почему это так сложно под Ubuntu/Linux. В Windows, если я поворачиваю изображение в проводнике Windows или в средстве просмотра изображений Windows, оно сохраняет эту ориентацию в любом приложении. Но в Ubuntu некоторые приложения вращаются и сохраняют это вращение, но другие приложения игнорируют вращение и наоборот.
Моя главная проблема заключается в том, что я не могу добиться того, чтобы ориентация моих фотографий была установлена правильно и учитывалась всеми приложениями. Видимо, я держу свой телефон в разных ориентациях при съемке, и я хотел бы починить их раз и навсегда. Но, похоже, не существует простого руководства о том, как это сделать, просто случайные сообщения о редактировании изображений в командной строке, которые не работают, если мне нужно открыть изображения в программе просмотра, а затем закрыть и запустить команду для них и откройте их снова, чтобы проверить... Это безумие.
Лучшее, что я могу найти, - это загадочные обсуждения данных Exif без какой-либо четкой инструкции для начинающих.
Есть ли у кого-то простой учебник о том, как сделать это просто и навсегда, чтобы я мог раз и навсегда исправить мои тысячи фотографий?
Спасибо
0 ответов
Я столкнулся с той же проблемой и написал что-то:
Фактически он вращает все данные файлов изображений в текущей папке с помощью imagemagick.
convert
, а затем сбрасывает информацию exif, используя
exiftool
. Возможно, вам потребуется добавить еще кейсы, для меня этого было достаточно.
#!/usr/bin/env bash
for filename in ./*; do
rotation=$(exiftool -Orientation -n $filename)
rotationnumber=${rotation: -1}
if [ "$rotationnumber" == "1" ]; then
echo "not rotated " $filename
elif [ "$rotationnumber" == "6" ]; then
echo "rotated 90 CW " $filename
# rotate data
convert $filename -rotate 90 $filename
# set exif orientation to not rotated
exiftool -Orientation=1 -n $filename
else
echo "unknown " $filename $(exiftool -Orientation $filename)
fi
done
rm *_original
будьте осторожны, он удаляет исходные данные!