обработка изображений

Об альтруизме и авторском праве

В очередной раз занес руку купить книжку Файрчайлда Color Appearance Models, но увидел старую запись Алексея Шадрина в форуме rudtp, что "перевод скоро выходит" и дернуло меня поискать модели цветового восприятия в Яндексе.

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

Правда переводчик пишет:

...русскоязычный текст может быть открыт для широкого ознакомления, так как формально уже не является точной копией оригинального документа...
Теперь буду мучатся, то ли Шадрин привнес в текст что-то свое, то ли это формальная отмазка от копирайтов.

Баланс белого для снимающих в RAW: чиним гистограмму

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

Решение первой проблемы (разбаланса чувствительности) возможно только путем коррекции спектра: либо фильтрами на объективе, либо фильтрами на источниках света. Методика их применения аналогична использованию при съемке на пленку, с поправкой на кривые чувствительности.

Вторая проблема - показ гистограммы, не соответствующей данным в RAW - может быть легко исправлена средствами камеры, чему и посвящена данная статья.

На всякий случай повторю предуведомление: рекомендации из этой статьи имеют смысл только при съемке в RAW, попытка использовать их при съемке в JPEG приведет к катастрофическому ухудшению снимков.

Upd: поправлены ключи dcraw, у меня, оказывается, была версия полугодовой давности и ключи командной строки успели поменяться

Баланс белого для снимающих в RAW: проблемы

Предуведомление: если вы снимаете на цифровую камеру только в формат JPEG, то вам не следует читать этот текст, а следование советам из него ухудшит ваши снимки. Данная статья предназначена только снимающим в RAW (CRW, CR2, NEF, DNG и подобные форматы).

Принято считать, что снимающим в RAW-формат установки баланса белого (далее в тексте ББ) не важны, ибо они не влияют на содержимое получающихся файлов. По этой причине баланс обычно ставят или в "автоматическое" значение, или в какое-то из предустановленных (солнце, облачно, лампы накаливания и т.п.) и забывают о нем (ведь на содержимое файлов ББ не влияет).

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

В первой части статьи хочется разобраться, почему не годятся стандартные настройки.

Баланс белого при дневном освещении

В комментариях к предыдущей заметке высказывалось сомнения в серьезности обсуждаемой проблемы. Дескать, динамический диапазон большой, вытянет. Быстрый поиск в архиве легко нашел картинку не очень контрастной сцены, которая была экспонирована с контролем пересвета средствами камеры (поканальная гистограмма, мигающие области пересвета), но при этом имеет вполне заметные проблемы с пересветом зеленого канала.

Давайте рассмотрим этот пример детально.

Баланс белого у цифровых камер

Принято считать, что цифровым камерам не нужны цветные светофильтры. "Да я и так в фотошопе все сделаю". То же самое говорят про градиентные фильтры (и я сам говорил), современное мнение разрешает существовать только поляризаторам и эффектным фильтрам.

Действительно, высокая линейность цифровиков позволяет обходиться без синего фильтра при галогеновом свете и без утепляющего при съемке с голубым небом. Производители камер (и RAW-конверторов) приучили, что вполне приемлемый баланс ставится автоматически.

О цене, которую за это платят, задумываются редко. И уж тем более не задумываются о том, что эта цена есть, когда снимают при дневном свете. А цена очень простая:
при неравномерной экспозиции по каналам мы теряем динамический диапазон (приобретаем шумы) в недодержаных каналах.

Давайте оценим величину бедствия.

Ошибки при обработке цвета: часть V, табличные профили

В предыдущих сериях мы рассматривали ошибки обработки цвета, возникающие при использовании матричных профилей, т.е. таких, где преобразование в PCS (profile connection space) и обратно задается простой матрицей 3x3. В реальной жизни матричные профили используются как рабочие пространства, а на стадиях импорта изображений и печати используются табличные профили, описывающие нелинейности реальных устройств.

Методология тестирования подробно описана в первой и второй статьях серии.

Upd: включены данные по Argyll для линейной гаммы.

Ошибки при обработке цвета: реабилитация Argyll

В первой части CMM-эпопеи с дистанции была снята CMS Argyll: в области с высокими насыщенностями наблюдались видимые взглядом артефакты. В то же время, на 16-битных файлах Argyll показала великолепные результаты, сравнимые, а на части данных и сильно лучшие, чем у лучших коммерческих CMM.

Как и я и обещал, я заслал автору баг-репорт. К моему приятному изумлению, ответ был получен через час и содержал патч к cctiff (тестовому приложению, которое я использовал в тестах). В самой CMM-engine ничего править не пришлось, там все было правильно.

Ошибки при обработке цвета: часть IV, линейная гамма

Это уже четвертая публикация на тему ошибок при преобразованиях цвета, мы постепенно приближаемся к реальным задачам. Список предыдущих серий: постепенно мы приближаемся к реальным задачам....

Из опыта известно, что цифровой шум в тенях чаще всего возникает при обработке данных с линейной «гаммой», а это те изображения, которые мы получаем с линейных сенсоров: цифровых камер и сканеров. Давайте посмотрим, что будет с ошибками на тестовых примерах.

Ошибки при обработке цвета: III. BetaRGB

В предыдущих сериях мы изучали ошибки модулей управления цветом при преобразовании sRGB-Lab->sRGBдля 8 бит тоже).

sRGB был выбран по той причине, что все цвета sRGB входят в Lab, следовательно, при абсолютной точности преобразований, вышеописанное преобразование не должно приводить к потере данных. В то же время, в реальной жизни для редактирования и хранения используются RGB-пространства с более широким gamut: Adobe RGB, ProPhoto, BetaRGB, EktaSpace и так далее.

Пространство BetaRGB обладает массой достоинств в качестве пространства хранения и редактирования: большим охватом реальных цветов, большой эффективностью кодирования данных. Интересно посмотреть, как ведут себя CMM-модули с этим пространством.

Ошибки при обработке цвета: II. 16 бит, гамма 2.2, матричные профили

В предыдущей публикации были рассмотрены ошибки, которые происходят в Color Management Modules (CMM) разных систем при обработке 8-битных данных. Было показано, что такое "неразрушающее" действие как конверсия из RGB в Lab и обратно оставляет от 3-5 значащих бит от восьми.

На сегодняшний день, 8 бит неактуальны, большинство изображений производятся с большей разрядностью. Следовательно, нужно изучить и их.

Начнем с гаммы 2.2, как наиболее часто используемой при редактировании изображений.

Ошибки при обработке цвета: I. 8-битные изображения, матричные профили

Все, кто работает с цветом, догадываются, что любая операция редактирования немножко разрушает изображение за счет округления дробных результатов вычислений до целых значений. Вот например, наложили вы кривую, таким образом, что значение 1 должно стать 1.8, а 2 — 2.2. После округления, оба результата будут округлены до 2, отчего вместо двух разных цветов получатся два одинаковых.

Неявно предполагается, что отклонения от идеала при цифровом редактировании невелики и влияют только на младшие биты значений, что практически незаметно на глаз. В то же время, мне никогда не попадались количественные исследования. Да, на практике я знаю, что инструмент Levels в фотошопе полностью разрушает тени, а остальные инструменты ведут себя приличнее, но это единственное знание, накопленное за 8 лет работы с цветом.

Неточность работы всех средств редактирования затрудняет корректную постановку задачи: нет идеала с которым можно было бы сравнивать. По счастью, задачу можно корректно поставить для преобразования, которое должно быть минимально разрушающим: преобразование цветовых пространств в ситуации, когда мы не выходим за gamut.

Bruce Lindbloom подошел к проблеме вплотную и показал, что для специального синтезированного изображения со всеми возможными цветами (16 млн цветов в 8-битном RGB-изображении) цикл конверсии sRGB->LAB->sRGB оставляет только 2 млн разных цветов из исходных 16 млн.

Простые упражнения с фотошопом (прогнать картинку по циклу RGB->LAB->RGB, а потом посмотреть разницу через Image—>Calculations) показали, что разница по красному каналу достигает 24 единиц т.е. речь идет о 5 битах ошибки в 8-битном изображении.

Дальнейшие упражнения потребовали создания инструментальных средств и аккуратной постановки эксперимента.

Pages

Subscribe to обработка изображений