ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
1
Цвет
URL: http://www.school30.spb.ru/cgsg/cgc/
E-mail: [email protected]
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
2Sampling & Quantization
• Дискретизация сигнала – разбиение непрерывного сигнала на «выборки» (sampling, sampling rate)
• Квантование выборки – кодирование аналогового сигнала в дискретные величины (quantization)
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
3Sampling (разрешение)
8x8 16x16 32x32
64x64 128x128 256x256
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
4Quantization (глубина цвета)
2 цвета
8 цветов
3 цвета
16 цветов
4 цвета
256 цветов
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
5Fixed Thresholding
оригинал порог = 128
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
6Random Thresholding
оригинал «случайный» порог
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
7Patterning
5 уровней
(2x2)
10 уровней
(3x3)
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
8Ordered Dither
оригинал матрица 2x2 увеличенный фрагмент
экран заполняется матрицами
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
9Метод Байера получения матриц смешивания
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
10Примеры матриц Байера
2x2 4x4
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
11Примеры матриц Байера
8x8 16x16
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
12Error Diffusion: алгоритм Флойда-Стейнберга
N=ближайший цвет I(x,y)
Pixel(x,y,N)
Error = значение цвета N – I(x,y)
Распространяем порции ошибки Error на еще не отрисованные точки
Переход к следующей точке
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
13Error Diffusion: примеры фильтров
Frankie SierraFalse Floyd-Steinberg
Jarvice, Judice, Ninke
Stucki
Burkes
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
14Подбор цвета: uniform palette
Универсальная палитра для любых изображений:цвет задается по RGB каналам:
ColorNo = B + SizeB * (G + SizeG * R)8
27
64
125
216
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
15Подбор цвета: OS palette
Используются в индексированных графических режимах
MS Windows Mac OS
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
16Подбор цвета: WEB & safe palette
WEB палитра
оттенки по каналамшаг: 0-51-102-163-204-255
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
17Пример разных методов
random threshold ordered dither error diffusion
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
18График МКО
Международная Комиссия по Освещенности (Commission internationale de l'éclairage - CIE)
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
19RGB
red green blue
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
20CMYK
cyan magenta yellow black
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
21HSV
hue saturation value
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
22HSV conversion
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
23YCrCb
Y Cr Cb
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
24Коррекция цвета
• LUT: Color = LUT[Color];• Гамма коррекция, контрастность, яркость
γ1
вхвых II =
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
25
• Практические задания– Реализовать полутонирование (dither/error
diffusion) для монохромных изображений (результат выводить на экран или в файл)
– Реализовать программу, выполняющую коррекцию цвета в полноцветном изображении путем изменения цветов в разных моделях (рассмотреть RGB и HSV). Результат демонстрировать на примере любого растрового изображения.
– Реализовать сохранение растрового изображения в собственный формат, использующий цветовую модель YCrCb и разные коэффициенты квантования для компонент.
ColorColor
Галинский В.А.Физико-математический лицей № 30
Computer Graphics Support Group
26Ссылки
• P. Heckbert, "Color image quantization for frame buffer display,", Computer Graphics, 16(3), pp. 297-307 (1982).
• R. Ulichney, “Digital Halftoning,” The MIT Press, 1993.• R. Floyd and L. Steinberg, “An adaptive algorithm for spatial gray
scale,” SID 1975 Symp. Dig. Tech. Papers, pp. 36-37, 1975.• B. E. Bayer, “An optimum method for two-level rendition of
continuous-tone pictures,” IEEE International Conference on Communications, vol. 1, pp. 26-11 to 26-15, 1976.