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

Глава 4.

Цветопередача

Известно, что цвет — это длина электромагнитной волны, регистрируемой нашим глазом. В дальнейшем придётся отталкиваться от такого объективного определения, хотя на самом деле воспринимаемый нами цвет есть понятие глубоко субъективное и зависящее от множества принципиально неучитываемых параметров — от меню за последние пару дней до просто настроения. Но измерением цвета по длине волны занимаются разве что физики, а для практических нужд используется тот факт, что глаз выделяет из света три компоненты, которые условно соотносят к красному, синему и зелёному. Смешивая лучи этих цветов в разных пропорциях можно получить любой видимый глазом цвет. Это и есть основа цветовой системы RGB, в которой и работают практически все мониторы, что прекрасно видно, если рассмотреть точки экрана под лупой.

Однако уже на этом шаге не всё так просто. Для понятий «красный», «синий» и «зелёный» определены точные длины волн — но на самом деле колбочки сетчатки чувствуют совсем не их!

Ещё в 1931 году CIE (Commission Internationale de l'Eclairage) были замерены реакции глаза на свет различной длины волны, и оказалось, что кривые отзыва очень далеки от логически удобоваримых.

Секреты сканирования на ПК - pic_50.jpg

Их, не мудрствуя лукаво, назвали X, Y и Z и решили принять их за основу измерения цвета, а чтобы немного удобнее ориентироваться в получаемом цвете разработали модель xyY — где Y есть уже параметр яркости, а х и у получаются из X, Y и Z: x=X/(X+Y+Z), y=Y/(X+Y+Z). Иногда вводят и z=Z/(X+Y+Z), но, очевидно, z=l-x-y. В координатах ху обычно отображают локус набор всех цветов, воспринимаемых глазом.

Секреты сканирования на ПК - pic_51.jpg
Секреты сканирования на ПК - pic_52.jpg

Однако такая система чересчур неравномерна — например, изменив один параметр на единицу, мы можем почти не заметить разницы в цвете, а изменив на ту же единицу другой — получить нечто совсем новое. Степень нелинейности достигает при этом 1:80.

Секреты сканирования на ПК - pic_53.jpg

Чтобы хоть как-то компенсировать это, начали придумывать новые системы, производные от XYZ: YUV, Lab, Luv и прочие. YUV, Luv и иже с ними используются, как правило, в телевизионном деле, а вот Lab используется в компьютерной вёрстке всё чаще.

Но главная беда всех производных систем цветопередачи — они относительны. В них передаётся информация о том, как цвета разных точек изображения соотносятся друг с другом — но не как они должны выглядеть! Если вы читаете текст с монитора и видите его на белом фоне, который передаётся на монитор как максимум красного, синего и зелёного, это вовсе не значит, что этот белый фон имеет такой же цвет, как и у другого пользователя. Достаточно просто тронуть регулировки яркости и контрастности — или изменить внешнее освещение— чтобы увидеть, как изменяется цвет.

Сказанное выше касается излучаемого света, или аддитивного цвета — то есть когда при складывании каналов мы увеличиваем яркость. А любая распечатка передаёт цвет отражением части спектра падающего на него света, так называемым субстрактивным цветом — при добавлении красителей мы уменьшаем яркость. И здесь снова проявляется проблема внешнего освещения: ярким солнечным днём на улице и поздним вечером за тусклой лампочкой одна и та же распечатка будет смотреться совсем по-разному.

Секреты сканирования на ПК - pic_54.jpg

Но это, всё-таки, проблемы, от компьютерной темы отдалённые; а как быть нам, обладателям мегабайт и гигагерцев? Что сделано в этой области для нас, домашних пользователей?

Идея контроля цвета в компьютерных системах достаточно проста: выбирается некое подмножество цветов, а каждому устройству приписывается профиль — правило пересчёта из цветового пространства данного устройства в это подмножество. Стандарт на профили устройств был разработан в 1993 году (хотя работы ведутся до сих пор) международным консорциумом по цвету, ICC. Рабочее подмножество описывается в координатах XYZ, а в файле профиля указывается тип устройства (сканер, монитор, принтер), цветовой охват и таблицы для пересчёта из пространства устройства в XYZ или Lab.

Причём, поскольку пересчитывать можно по-разному, хранятся четыре варианта таблиц: absolute colorimetric — когда считается, что белый цвет одинаков, relative colorimetric — когда осуществляется пересчёт и белого цвета, perceptual — когда искажаются цвета не только вне цветового охвата, но и близкие к его краям: это обеспечивает лучшее восприятие цвета глазом, и, наконец, saturation — искажение цветов ради получения наиболее насыщенных оттенков, что важно для рисунков и бизнес-графики.

Заниматься сквозным контролем цвета всех изображений, проходящих через компьютер, призвана Color Management System — система управлений цветом, которых, на самом деле, существует достаточно много — Kodak, Agfa, Apple с разной степенью агрессивности продвигают именно свои системы. Одна из них, от Microsoft, встроена непосредственно в Windows; собственно, она не сильно отличается от других, но профессиональные программы — такие как Adobe PhotoShop и иже с ним — позволяют пользоваться любой другой системой, а так же создавать свои собственные профили. В качестве же универсального цветового пространства Microsoft совместно с Hewlett-Packard продвигают стандарт sRGB «урезаныный» вариант, посильный для middle-end-техники.

Казалось бы, какие могут быть проблемы, когда за дело берутся такие гиганты рынка? Увы, как ни странно, особого облегчения CMS не приносит. Во-первых, все цветовые преобразования являются необратимыми. Простейший пример — нарисуйте в PhotoShop несколько прямоугольничков разного цвета, для примера, в RGB. Запишите их цвета и переведите картинку в любой другой режим — Lab, CMYK… a потом — обратно. Смею вас уверить, что не изменится только белый (потому что преобразования абсолютные), и, в лучшем случае, некоторые серые оттенки. А ведь файл в CMS претерпевает по меньшей мере два преобразования — на входе со сканера или камеры и на выходе — при печати.

Секреты сканирования на ПК - pic_55.jpg

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

Кстати, тех, кто активно печатает дома с прицелом на некоторую профессиональность и подготавливает файлы в CMYK ожидает сюрприз от Microsoft: подсистема печати Windows понимает только RGB! И если вы оправляете на печать из того же PhotoShop CMYK-картинку, то сначала сам PhotoShop переведёт её в RGB, а уже потом драйвер принтера пересчитает обратно в CMYK. Именно поэтому если вы хотите получить на принтере чистый мажентовый цвет, надо использовать не CMYK (0,100,0,0) a RGB (255,0,255). Единственным спасением для CMYK в Windows является использование postscript-принтера, чем и пользуются профессиональные дизайнеры и цветоделители.