9

Существует ли такая вещь, как простой редактор изображений для Linux, который позволяет масштабировать и поворачивать изображение, не используя данные EXIF для масштабирования и вращения?

До сих пор я пробовал EOG, Shotwell и GIMP, и когда я поворачивал изображения, они сохраняли его в заголовке EXIF. Это я не хочу.

Даже если GIMP может это сделать, это занимает слишком много времени, поскольку для работы с файлами JPEG требуются тонны щелчков мыши.

4 ответа4

15

Существует ли такая вещь, как простой редактор изображений для Linux, который позволяет масштабировать и поворачивать изображение, не используя данные EXIF для масштабирования и вращения?

Сохранение против экспорта

Я знаю, что вы заявляете, что на самом деле вы не хотите делать это в GIMP, но, по моему опыту, проблема, с которой вы сталкиваетесь - программное обеспечение предпочитает данные ориентации EXIF по сравнению с фактическим преобразованием пикселей в изображении - сводится к разнице между экспортом изображения и сохранение изображения.

В прошлом 100% всех графических редакторов в мире фактически преобразовывали / модифицировали пиксели при работе с простыми преобразованиями ориентации. Только сравнительно недавно программы редактирования изображений используют данные EXIF для хранения некоторых данных физического преобразования.

Зачем? Легко. Поскольку формат JPEG является форматом с потерями, даже если качество установлено на 100%, сохранение JPEG для простых вещей, таких как поворот изображения, будет медленно ухудшать данные. Напротив, сохраняя эти данные в виде информации EXIF, необработанное изображение JPEG остается нетронутым, но данные преобразования передаются, так что вы можете видеть, что изображение поворачивается без ухудшения качества изображения в процессе.

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

Поэтому, хотя могут существовать и другие программные инструменты, которые явно изменяют данные изображений для таких задач, как ротация, их установка и использование могут оказаться излишними. Вместо этого я бы порекомендовал просто поэкспериментировать с функциями экспорта в любом программном обеспечении для редактирования изображений, которое вы используете; будь то GIMP, Photoshop или что-то еще.

Пакетная обработка

При этом вы упоминаете, что GIMP может быть слишком трудоемким для ваших нужд. Непонятно, каков ваш точный рабочий процесс, но если у вас есть папка / каталог, заполненный файлами JPEG, которые вам, возможно, потребуется обработать, я бы порекомендовал изучить инструменты, упомянутые в этом другом ответе:

  • exiftran: инструмент, используемый для преобразования изображений JPEG с цифровых камер, который может выполнять следующие действия:

Он может выполнять вращение без потерь, как jpegtran, но в отличие от jpegtran он заботится о данных EXIF: он может поворачивать изображения автоматически, проверяя тег ориентации exif, он обновляет информацию exif, если это необходимо (размер изображения, ориентация), он также вращает эскиз exif , Он может обрабатывать несколько изображений одновременно.

  • JHead: В частности, использование jhead с опцией -autorot которая описывается как:

Используя тег «Ориентация» заголовка Exif, поверните изображение так, чтобы оно было в вертикальном положении. Программа «jpegtran» используется для выполнения вращения. Эта программа присутствует в большинстве дистрибутивов Linux. Для окон, вам нужно получить его копию. После поворота тег ориентации заголовка Exif устанавливается на «1» (нормальная ориентация). Миниатюра Exif также поворачивается. Другие поля заголовка Exif, включая размеры, не затрагиваются, но высота / ширина JPEG отрегулированы.

Эта функция особенно полезна на новых цифровых камерах, которые устанавливают поле ориентации в заголовке Exif автоматически, используя встроенный датчик ориентации в камере.

Вот еще один инструмент, упомянутый в этой другой теме:

  • NConvert: NConvert - это многоформатный конвертер изображений командной строки для Win32, Linux, DOS, OS/2 и других платформ. Детали быстрого запуска, кажется, здесь. И кажется, что если вы используете nconvert с опцией -jpegtrans , это именно то, что вы ищете. Но мне интересно, использует ли он те же функциональные возможности библиотеки /ядра jpegtran которые рекомендует другой ответ на этот вопрос?

Наконец, возможно, вам подойдет инструмент convert ImageMagick с параметром -auto-orient ?

-auto-Ориент

регулирует изображение таким образом, чтобы его ориентация подходила для просмотра (то есть ориентация в верхнем левом углу).

Этот оператор считывает и сбрасывает настройку профиля изображения EXIF «Ориентация», а затем выполняет соответствующий поворот на 90 градусов для изображения, чтобы ориентировать изображение для правильного просмотра.

Эта настройка профиля EXIF обычно устанавливается с использованием датчика силы тяжести в цифровой камере, однако фотографии, сделанные непосредственно вниз или вверх, могут не иметь подходящего значения. Также изображения, для которых была исправлена ориентация без сброса этого параметра, могут быть снова «скорректированы», что приведет к неверному результату. Если профиль EXIF был ранее удален, оператор -auto-orient ничего не сделает.

2

Я обычно использую jpegtran чтобы вращать фотографии:

jpegtran -copy all -rotate 90 -outfile newimg.jpg oldimg.jpg

90 поворачивается вправо, используйте 270 для левого (и 180 для флип).

2

При экспорте в GIMP вы можете нажать Advanced во всплывающем окне непосредственно перед сохранением, где вы можете отключить EXIF и XMP.

Общий алгоритм для его написания

  • для каждого файла
  • сохранить значение из exiftool * | grep Orientation
  • удалить exif с помощью exiftran -ai *
  • используйте convert -rotate со значением из шага 2
0

Вы можете использовать Exiftool для удаления данных EXIF из изображений JPEG.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .