Масштабування та обертання зображення, не залежно від даних EXIF?


10

Чи існує таке поняття, як простий редактор зображень для Linux, який дозволяв масштабувати та обертати зображення без використання даних EXIF ​​для масштабування та обертання?

Поки я спробував EOG , Shotwell та GIMP, і коли я обертаю зображення, вони зберігають їх у заголовку EXIF. Цього я не хочу.

Навіть якщо GIMP міг би це зробити, це занадто багато часу, оскільки для роботи з файлами JPEG потрібні багато клацань миші.


2
Отже, якщо ви обертаєте зображення на 90 градусів ліворуч, ви хочете, щоб саме зображення поверталося в даних на 90 градусів ліворуч? Чи не через інформацію, що зберігається в даних EXIF, правда?
JakeGould

Саме так. Мені це потрібно, оскільки файли Github README.md не розуміють EXIF.
Жасмін Лоньєс

Бінго! Я розмістив більш повну відповідь, але я вважаю, що проблема, з якою ви стикаєтесь, полягає в принциповій різниці між збереженням зображення в сучасній програмі редагування зображень та експортом зображення. Моя відповідь детальніше описується, але я вірю, що якщо ви експортували JPEG через GIMP, ви отримаєте точні результати, які ви хочете, не маючи справу з даними EXIF, які надаються переваги таким трансформаціям, як масштабування та обертання.
JakeGould

Використання експорту GIMP на викресленому jpeg exif додало новий.
Жасмін Лоньєс

Так, можливо, вони додали нові EXIF-дані, але чи фактичні дані зображення були змінені на відповідність орієнтації у відповідь на ваше запитання?
JakeGould

Відповіді:


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як це інша відповідь на це питання рекомендує?

Нарешті, можливо, використання інструменту ImageMagick convert з -auto-orientопцією буде працювати для вас?

-авто-орієнтування

регулює зображення таким чином, щоб його орієнтація була придатною для перегляду (тобто орієнтація вліво-вліво).

Цей оператор зчитує та скидає налаштування профілю EXIF ​​"Орієнтація", а потім виконує відповідне обертання зображення на 90 градусів для орієнтування зображення для правильного перегляду.

Цей параметр профілю EXIF ​​зазвичай встановлюється за допомогою датчика тяжкості в цифровій камері, однак фотографії, зроблені безпосередньо вниз або вгору, можуть не мати відповідного значення. Також зображення, які були орієнтовані «виправлені», не змінюючи цей параметр, можуть бути «виправлені» знову, що призведе до неправильного результату. Якщо раніше був знятий профіль EXIF, оператор -aut-orient нічого не зробить.


Було б ідеально, якби інструмент командного рядка міг здійснити фактичне обертання пікселів на основі EXIF ​​і потім очистити інформацію EXIF. Це можливо?
Жасмін Лоньєс

1
@JasmineLognnes я практично не використовував жодного з цих інструментів сам, але це питання є хорошим довідником для інструментів , які я повинен досліджувати, але мені здається , що exiftranі jpegtranможе бути те , що ви шукаєте. Я б експериментував з варіантами обох цих інструментів і бачив, що відбувається. Найкраще, що я можу зробити. Удачі!
JakeGould

1
Можливо, вам здасться жартівливим те, що система обрала цю відповідь як тест аудиту в черзі огляду LQ Post. Я проголосував, щоб не видаляти його, BTW, і, мабуть, це була правильна відповідь. :-)
fixer1234

@ fixer1234 Так, я це бачив сам, коли раніше перевіряв пости низької якості. Веселий! Можливо, це було викликано кількістю різноманітних посилань на різні пакети, які я рекомендую. Але ей! Я щасливий, що існує якийсь автоматизований механізм поліції, який принаймні містить компонент фільтрації людини.
JakeGould

2

Я зазвичай використовую jpegtranдля обертання фотографій:

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

90 обертається праворуч, використовуйте 270 ліворуч (і 180 для перекидання).


2

Під час експорту в GIMP ви можете натиснути кнопку Додатково у спливаючому віці безпосередньо перед збереженням, де ви можете відключити EXIF ​​та XMP.

Загальний алгоритм його скриптування:

  1. Для кожного файлу.
  2. Зберегти значення від exiftool * | grep Orientation.
  3. Видалити exif за допомогою exiftran -ai *.
  4. Використовувати convert -rotateзі значенням з кроку 2.

Це саме те, що я шукав. Шлях, який визначає обертання зображення, а потім спосіб його обертання на основі цього. Дякую!
xarlymg89

0

Ви можете використовувати Exiftool для видалення EXIF-даних із зображень JPEG. Потім ви можете обертати зображення будь-чим (наприклад, конвертувати ).


Так, це чудово для цього, але коли я після цього редагую зображення, додаються нові заголовки EXIF.
Жасмін Лоньєс

1
EXIFTool може видаляти дані, але він не змінює, не повертає, не масштабує зображення. Він просто видалить ці дані і JPEG потім відобразиться в будь-якому сирому форматі, в якому він існував. Це корисно в деяких випадках, але не у такому випадку.
JakeGould
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.