Словник

Що таке орієнтація зображення?

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

orientation

Орієнтація зображення - це напрямок, у якому видно зображення: вертикально, догори дригом, повернутим набік або віддзеркаленим. У метаданих файлу поле Orientation вказує програмі, як потрібно повернути збережене зображення, щоб воно відображалося вертикально.

У фотографії орієнтація зазвичай означає книжкову (portrait) або альбомну (landscape). Книжкове зображення вище, ніж ширше, а альбомне - ширше, ніж вище. Коли ви робите фото, камера або телефон зберігає спосіб, у який ви його тримали, як дані орієнтації у файлі.

Які файли містять його

Тег Orientation є частиною стандарту Exif, який запозичує його з формату TIFF. Його ID тега - 0x0112, або 274 у десятковій системі. Стандарт позначає його як рекомендований тег для основного зображення, і ви знайдете його в таких файлах:

  • JPG і TIFF-фотографії з камер і телефонів
  • HEIC, PNG та WebP-зображення, які всі можуть містити блок даних Exif

Файл HEIC також може зберігати поворот і віддзеркалення як окремі властивості контейнера з назвами irot і imir. Деякі камери додають також приватний тег. Деякі моделі Canon записують CameraOrientation, який у звіті про метадані відображається як Horizontal (normal), Rotate 90 CW або Rotate 270 CW.

Як виглядають значення

Усередині файлу значенням є число від 1 до 8. Кожне число визначає, де на екрані мають розташовуватися перший рядок і перший стовпець збережених пікселів. У звіті про метадані зазвичай показано значення словами, де CW означає за годинниковою стрілкою:

  • 1 - це Horizontal (normal): зображення збережене вертикально, тому нічого не змінюється
  • 3 - це Rotate 180: зображення збережене догори дригом
  • 6 - це Rotate 90 CW: програма повертає зображення на 90 градусів за годинниковою стрілкою перед показом
  • 8 - це Rotate 270 CW: програма повертає зображення на 270 градусів за годинниковою стрілкою, тобто на 90 градусів проти годинникової стрілки
  • 2, 4, 5 і 7 додають віддзеркалення, наприклад Mirror horizontal

Стандарт позначає всі інші числа як зарезервовані. Тому значення поза діапазоном від 1 до 8 не має визначеного змісту.

Як відео зберігають поворот

Відеофайли працюють з орієнтацією по-іншому. Файл MP4 або MOV зберігає матрицю відображення в заголовку своєї відеодоріжки. Ця матриця вказує програвачу, як потрібно повернути або віддзеркалити кадри перед відтворенням.

Програми, що читають метадані, перетворюють цю матрицю на один кут у градусах. ExifTool рахує кут за годинниковою стрілкою, а FFmpeg - проти годинникової в діапазоні від -180 до 180. Тому одне й те саме відео може показувати 90 в одному звіті та -90 в іншому.

Чому це важливо для вашого файлу

Значення Orientation не переміщує жодних пікселів. Пікселі залишаються в тому порядку, в якому їх зберегла камера, а тег лише вказує засобу перегляду, як їх показати. Веббраузери застосовують цей тег за замовчуванням, але програма, яка його ігнорує, покаже книжкове фото лежачим набік.

Через це також може здаватися, що ширина й висота помінялися місцями. Image Width і Image Height описують збережені пікселі до будь-якого повороту. Тому книжкове фото з Rotate 90 CW може повідомляти про ширину, що більша за висоту.

Редагування може спричинити ще одну проблему. Якщо програма повертає пікселі, але залишає старий тег, зображення буде повернуто двічі. Стандарт Exif рекомендує, щоб після повороту зображення програма редагування повертала значення Orientation до 1.

Сторінки PDF використовують власне поле. Page Rotation повертає всю сторінку за годинниковою стрілкою з кроком у 90 градусів під час показу або друку.

Мета ключі