колірні простори darktable
Вхідні зображення – це файли RGB (наприклад, JPEG або TIFF) або raw дані з камери. Обидва типи зберігають візуальну інформацію як комбінацію основних кольорів (наприклад, червоного, зеленого та синього), які разом описують випромінювання світла, яке слід відтворити дисплеєм.
Наступне зображення ілюструє цю концепцію.
У лівій частині зображення зображено кольорове світло, яке нам потрібно зобразити цифровим способом. Ми можемо використовувати три ідеальні кольорові фільтри, щоб розкласти це світло на три первинні кольори світла з різною інтенсивністю. Для того, щоб відтворити початкове кольорове світло за допомогою нашого ідеального розкладання (як показано в центрі зображення), нам просто потрібно рекомбінувати ці три основних кольори шляхом додавання.
Має бути можливим відтворити оригінальне кольорове світло, взявши набір білих джерел світла з правильною інтенсивністю та спроектувавши їх через фільтри відповідного кольору. Цей експеримент можна провести вдома, використовуючи гелі та регульовані лампи білого кольору. Це приблизно те, що робили старі кольорові дисплеї ЕПТ (електронно-променева трубка), і так працюють відеопроектори.
У фотографії початковий крок розкладання виконується масивом кольорових фільтрів, який знаходиться над сенсором вашої камери. Це розкладання не є ідеальним, тому неможливо точно відтворити початкову емісію простим додаванням – для регулювання трьох інтенсивностей потрібно деяке проміжне масштабування.
На екранах світлодіодні лампочки затемняються пропорційно кожній інтенсивності, а випромінювання трьох джерел фізично додаються для реконструкції початкового випромінювання. Цифрові зображення зберігають інтенсивність цих основних джерел у вигляді набору з трьох чисел для кожного пікселя, що зображено на правій стороні вищенаведеного зображення як відтінки сірого.
Хоча набір інтенсивностей відображення можна легко комбінувати для відтворення оригінального світла на екрані (наприклад, якщо ми створили синтетичне зображення в комп’ютері), набір захоплених інтенсивностей сенсора потребує певного масштабування для того, щоб додавання світла на екрані прийнятно відтворювало оригінальне випромінювання світла. Це означає, що кожен набір інтенсивностей, виражений як набір RGB, повинен бути пов’язаний з набором фільтрів (або основних кольорів світлодіодів), які визначають _ колірний простір_ – будь-який набір RGB має сенс лише з посиланням на колірний простір.
Нам потрібно не тільки регулювати захоплені інтенсивності, щоб зробити їх підсумовуваними знову, але якщо ми хочемо перекомпонувати оригінальне світло на дисплеї, який не має таких же кольорових фільтрів або первинних кольорів, як і простір, до якого належить наш набір RGB, ці інтенсивності потрібно масштабувати, враховуючи відмінні фільтри на дисплеї. Механізм цього масштабування описаний у колірних профілях, які зазвичай зберігаються у файлах .icc
.
Примітка: Колір не є фізичною властивістю світла – він існує лише в мозку людини, як продукт розкладання випромінювання світла колбочками на сітківці, знову ж дуже схоже в принципі на вищенаведений приклад фільтрації. Значення “RGB” слід розуміти як “випромінювання світла, закодоване на 3 каналах, з’єднаних із 3 основними кольорами”, але самі основні кольори можуть виглядати інакше, ніж те, що люди називали б “червоним”, “зеленим” або “синім”.
Описані тут фільтри є смуговими фільтрами, що перекриваються. Оскільки вони перекриваються, їх підсумовування не збереже енергію оригінального спектра, тому (коротше кажучи) нам потрібно приглушити їх з урахуванням реакції колбочки сітківки ока
Більша частина реальної обробки зображень в darktable відбувається у великому просторі “робочого профілю” RGB, хоча деякі (переважно старі) модулі внутрішньо працюють у кольоровому просторі CIELab 1976 (який часто називають просто “Lab”). Остаточний результат конвеєра обробки зображень знову потрапляє у простір RGB, пристосований або для дисплея монітора, або для вихідного файлу.
Цей процес передбачає, що конвеєр має два фіксованих етапи перетворення кольорів: вхідний ICC профіль та вихідний ICC профіль. Крім того, існує крок демозаїкізація для raw зображень, де кольори кожного пікселя відновлюються за допомогою інтерполяції.
Кожен модуль має позицію в конвеєрі, яка повідомляє вам, у якому колірному просторі живе модуль:
-
до демозаїкізації : Необроблена інформація про зображення ще не є “зображенням”, а лише “даними” про світло, захоплене камерою. Кожен піксель має одну інтенсивність для одного основного кольору, а основні кольори камери сильно відрізняються від основних кольорів, які використовуються в моделях людського зору. Майте на увазі, що деякі модулі в цій частині конвеєра можуть також впливати на не-raw вхідні зображення у форматі RGB (з повною інформацією про всі три кольорові канали).
-
між демозаїкізацією та вхідним ICC профілем : Зображення має формат RGB у кольоровому просторі певної камери або вхідного файлу.
-
між вхідним ICC профілем та вихідним ICC профілем : Зображення знаходиться в колірному просторі, визначеному вибраним робочим профілем (за замовчуванням лінійний Rec2020 RGB). Оскільки darktable обробляє зображення в 4х32-розрядних буферах з рухомою крапкою, ми можемо обробляти великі робочі колірні простори без ризику бандингу або тональних розривів.
-
після вихідного ICC профілю : Зображення має формат RGB, який визначено вибраним вихідним ICC профілем.