1 Color Цвет URL: http://www.school30.spb.ru/cgsg/cgc/ E-mail: [email protected] Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 2 Sampling & Quantization Color • Дискретизация сигнала – разбиение непрерывного сигнала на «выборки» (sampling, sampling rate) • Квантование выборки – кодирование аналогового сигнала в дискретные величины (quantization) Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 3 Sampling (разрешение) Color 8x8 16x16 32x32 64x64 128x128 256x256 Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 4 Quantization (глубина цвета) Color 2 цвета 3 цвета 4 цвета 8 цветов 16 цветов 256 цветов Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 5 Fixed Thresholding оригинал Color порог = 128 Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 6 Random Thresholding оригинал Color «случайный» порог Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 7 Patterning Color 5 уровней 10 уровней (2x2) (3x3) Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 8 Ordered Dither Color экран заполняется матрицами оригинал матрица 2x2 увеличенный фрагмент Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group Метод Байера получения матриц смешивания Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 9 Color 10 Примеры матриц Байера 2x2 Color 4x4 Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 11 Примеры матриц Байера 8x8 Color 16x16 Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group Error Diffusion: алгоритм Флойда-Стейнберга N=ближайший цвет I(x,y) Pixel(x,y,N) Error = значение цвета N – I(x,y) Распространяем порции ошибки Error на еще не отрисованные точки Переход к следующей точке Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 12 Color 13 Error Diffusion: примеры фильтров False Floyd-Steinberg Color Frankie Sierra Jarvice, Judice, Ninke Stucki Burkes Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 14 Подбор цвета: uniform palette Color Универсальная палитра для любых изображений: цвет задается по RGB каналам: ColorNo = B + SizeB * (G + SizeG * R) 8 27 64 216 125 Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 15 Подбор цвета: OS palette Color Используются в индексированных графических режимах MS Windows Mac OS Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 16 Подбор цвета: WEB & safe palette Color оттенки по каналам шаг: 0-51-102-163-204-255 WEB палитра Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 17 Пример разных методов random threshold ordered dither Color error diffusion Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 18 График МКО Color Международная Комиссия по Освещенности (Commission internationale de l'éclairage - CIE) Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 19 RGB Color red green blue Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 20 CMYK cyan Color magenta yellow black Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 21 HSV Color hue saturation value Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 22 HSV conversion Color Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 23 YCrCb Color Y Cr Cb Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 24 Коррекция цвета Color • LUT: Color = LUT[Color]; • Гамма коррекция, контрастность, яркость 1 I вых I вх Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 25 Color • Практические задания – Реализовать полутонирование (dither/error diffusion) для монохромных изображений (результат выводить на экран или в файл) – Реализовать программу, выполняющую коррекцию цвета в полноцветном изображении путем изменения цветов в разных моделях (рассмотреть RGB и HSV). Результат демонстрировать на примере любого растрового изображения. – Реализовать сохранение растрового изображения в собственный формат, использующий цветовую модель YCrCb и разные коэффициенты квантования для компонент. Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group 26 Ссылки Color • 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. Галинский В.А. Физико-математический лицей № 30 Computer Graphics Support Group