русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Цветовые модели пользователя. Модели HSV, HSB


Дата добавления: 2013-12-23; просмотров: 1746; Нарушение авторских прав


Цветовые модели HSV и HSB (от англ. Нue, Saturation, Value, Brightness - тон, насыщенность, величина, яркость) являются, в отличие от рассмотренных выше моделей, ориентированными на человека и его интуитивные представления о выборе цвета.

Рассмотрим цилиндрические координаты в трехмерном евклидовом пространстве, H - угол в горизонтальной плоскости от оси Ox, S - радиус в горизонтальной плоскости (расстояние до оси Oz), V и B - высота (по оси Oz). Все цветовое пространство представляет из себя, в первом случае - перевернутую шестигранную пирамиду (рис.1.15), во втором случае – шестигранную призму или цилиндр (правильный шестиугольник заменили окружностью). Нижняя точка пирамиды соответствует всему основанию призмы или цилиндра.

Можно также заметить, что основание пирамиды представляет из себя проекцию RGB-куба вдоль главной диагонали со стороны белого. Вершины основания пирамиды соответствуют чистым основным цветам (красному, желтому, зеленому, голубому, синему и фиолетовому). При их смешивании друг с другом в разных пропорциях точка, соответствующая цвету, перемещается по основанию пирамиды.
Рис. 1.15. Цветовая модель HSV. Смешивая противополож­ные цвета (например,

 

желтый и синий), можно получить белый. Добавляя к какому-либо чистому цвету черный, мы будем спускаться по пирамиде, получая различные оттенки, при этом диапазон S будет уменьшаться вплоть до нуля. На оси S = 0 (оттенки серого) значение H не определено.

Алгоритмы преобразования из RGB в HSV и обратно приведены ниже:

{ // H - в градусах

maxVal = maximum(R,G,B); minVal = minimum(R,G,B); V = maxVal;

if( maxVal = = 0 ) S = 0;

else S = ( maxVal - minVal )/maxVal;

if( S = = 0 ) H = UNDEFINED;

else

{ if( R == maxVal ) H = (G-B)/( maxVal - minVal );

else if( G == maxVal ) H = 2 + (B-R)/( maxVal - minVal );



else if( B == maxVal ) H = 4 + (R-G)/( maxVal - minVal );

H = H * 60;

if( H < 0 )

H = H + 360; }

}

Листинг 1.1. Переход от RGB к HSV

{ // H - в градусах

if( S = = 0 ) { // находимся на оси симметрии - оттенки серого

R = V; G = V; B = V; }

else { // floor(x) возвращает наибольшее целое <= x

sector = floor( H / 60 ); frac = H / 60 - sector; // дробная часть H/60

T = V * ( 1 - S ); P = V * ( 1 - S*frac ); Q = V * ( 1 - S*(1 - frac) );

switch( sector )

{ case 0: R = V; G = Q; B = T; break;

case 1: R = P; G = V; B = T; break;

case 2: R = T; G = V; B = Q; break;

case 3: R = T; G = P; B = V; break;

case 4: R = Q; G = T; B = V; break;

case 5: R = V; G = T; B = P; break; }

}

}

Листинг 1.2. Переход от HSV к RGB

 

Есть также и другие цветовые модели пользователя, схожие тем, что все они имеют координаты H и S, например, модели HLS и HIS. Различаются эти модели лишь в несущественных для пользователя деталях (например, параметры в них могут быть по-разному отнормированы или приведены).

Системы же компьютерной графики предлагают пользователю инструментарий, в котором цвет не задается числовыми значениями, а выбирается на линейных и плоских шкалах (рис.1.16). Это практически полностью нивелирует для пользователя различия между моделями такого типа. Важно только их наличие и реализация связи с другими моделями.
Рис.1.16.Пример интерфейса по выбору цвета с указанием осей модели HSB  

 

5 5. Цветовые модели, разделяющие яркость и цвет: Y**

Существует несколько тесно связанных цветовых моделей, которые объединяет то, что в них используется явное разделение информации о яркости и цвете. Компонента Y соответствует одноименной компоненте в модели CIE XYZ и отвечает за яркость. Такие модели находят широкое применение в телевизионных стандартах, так как исторически необходима была совместимость с черно-белыми телевизорами, которые принимали только сигнал, соответствующий Y. Также они применяются в некоторых алгоритмах обработки и сжатия изображений и видео.



<== предыдущая лекция | следующая лекция ==>
Преобразования между CIE XYZ и RGB | Значки обозревателя объектов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.