Лекция #10. Цвет. Цветовые пространства. (миним трэш-лекция) [лектор - xmvlad]
Автор: Vladislav Gusev
<xmvlad> тема: Цвет, цветовые пространства. <xmvlad> для начала немного теории... Свет - электромагнитная волна, основная характеристика, которая нас будет
волновать - длина волны.
<xmvlad> свет, определенно длины волны, вещь, редкая :) но существует, например - излучение лазеров. Чаще всего
свет представляет из себя поток с различными длинами волн
<xmvlad> для описания этого потока используются энергетические спектральные кривые, I(a) - значение функции,
мощностной вклад волн с длиной a в общий волновой поток
<xmvlad> в глазу человеа расположены "колбочки" и "палочки", колбочки бывают трех типов, одни чувствительны к
волнам короткой длины(синий цвет), средней длины(желто-зеленый) цвет, и волнам большой длиной волны(красный
цвет)
<xmvlad> таким образом :) глаз человека ставит в соответствие спектральной функции "три числа" получаемые
следующим образом: R = sum [I(a)*Pr(a)] d a, аналогично для G, B. sum - интеграл по видимому диапазону
волн(a), I(a) - мощностной вклад(интенсивность) волны с длиной a, Pr(a) - весовая функция "колбочек"
чувствительных к красному цвету для волны длины a
<xmvlad> соответственно, для G = sum [I(a)*Pg(a)] d a, B = sum [I(a)*Pb(a)] d a, Pg, Pb - весовые функции для
колбочек чувствительных к зеленому и синему цвету соответственно.
<xmvlad> и все было бы, хорошо, но не все цвета представимы RGB моделью, поэтому в 1931 г организация CIE
приняла стандартные кривые (Pr, Pg, Pb) для идеального гипотетического наблюдателя
<xmvlad> и назвала все это - модель CIE XYZ
<xmvlad> формулы такие же как и для RGB, только вместо Pr, Pg, Pb(кривых чувствительности различных типов
колбочек), ввели другие, и обозвали их - x, y, z
<xmvlad> в модели XYZ, координата Y совпадает с кривой чувствительности глаза к свету
<xmvlad> часто бывает необходимо отделить информация об интенсивности цвета
<xmvlad> непосредственно от самого цвета
<xmvlad> для этого вводятся хроматические координаты xy, по сути это просто _нормализованная_ модель XYZ, в
которой отсутсвует информация об интенсивности цвета
<xmvlad> x = X/(X + Y + Z)
<xmvlad> y = Y/(X + Y + Z)
<xmvlad> стоит заметить, что модель (x,y,Y) (хроматические координаты x, y + Y - интенсивность), позволяет однозначно восстановить значени XYZ
<xmvlad> цветовые пространства XYZ и RGB, связаны линейной зависемостью, поэтому для перевода из одного
пространства в другое достаточно вектор RGB/XYZ умножить на матрицу преобразования
<xmvlad> так с цветом немного разобрались.. теперь про небо :)
<xmvlad> разглогольствовать долго не буду :) дока - http://www.cs.utah.edu/~shirley/papers/sunsky/sunsky.pdf
<xmvlad> пара кусков для референса из OpenMountains http://www.everfall.com/paste/id.php?d7q14bxik
полная версия:
http://www.everfall.com/paste/id.php?dirs4l2bi5xk
31 января 2006
Комментарии [1]