01УправлИинформ2020. Информатика информатика это комплекс дисциплин по решению проблем управления системами с применением их моделей на компьютере. Тема информация и управление
Скачать 0.73 Mb.
|
Кодирование графической информацииПод графической информацией можно понимать рисунок, чертеж, фотографию, картинку в книге, изображения на экране телевизора или в кинозале и т. д. Рассмотрим принципы кодирования графической информации на примере изображения на экране телевизора. Это изображение состоит из горизонтальных линий – строк, каждая из которых в свою очередь состоит из элементарных мельчайших единиц изображения – точек, которые принято называть пикселями (picsel – PICture'S ELement – элемент картинки). Весь массив элементарных единиц изображения называют растром. Степень четкости изображения зависит от количества строк на весь экран и количества точек в строке, которые представляют разрешающую способность экрана или просто разрешение. Чем больше строк и точек, тем четче и лучше изображение. Если мы посмотрим на показатели разрешения современных плазменных и жидкокристаллических телевизоров, то мы обнаружим, что наиболее распространенные разрешения – 640x480 (ЖК-телевизоры с соотношением сторон 4:3); 852x480 (плазменные панели с соотношением сторон 16:9), 1024x768 (ЖК и «плазма» как 4:3, так и 16:9); 1366x768 (HD Ready); 1920x1080 (Full HD) пикселей. Встречаются, но редко, и некоторые другие значения разрешения, например 800x600 или 1024x1024 пикселей. Обозначение разрешения, например 640x480, означает, что используется 480 горизонтальных строк по 640 пикселей в каждой. Таким образом, изображение на экране представляет собой последовательность из 640*480=307200 пикселей. Изображения могут быть монохромными и цветными. Монохромное изображениеМонохромное изображение состоит из любых двух контрастных цветов – черного и белого, зеленого и белого, коричневого и белого и т. д. Для простоты обсуждения будем считать, что один из цветов – черный, а второй – белый. Тогда каждый пиксел изображения может иметь либо черный, либо белый цвет. Поставив в соответствие черному цвету двоичный код «0», а белому – код «1» (либо наоборот), мы сможем закодировать в одном бите состояние одного пиксела монохромного изображения. Однако полученное таким образом изображение будет чрезмерно контрастным. Общепринятым на сегодняшний день, дающим достаточно реалистичные монохромные изображения, считается кодирование состояния одного пиксела с помощью одного байта, которое позволяет передавать 256 различных оттенков серого цвета от полностью белого, до полностью черного. В этом случае для передачи всего растра из 640х480 пикселов потребуется 307200 байтов. Цветное изображениеЦветное изображение может формироваться на основе различных моделей. Наиболее распространёнными цветовыми моделями являются: RGB чаще всего используется в информатике; CMYK – основная цветовая модель в полиграфии; в телевидении для стандарта PAL применяется цветовая модель YUV, для SÉCAM модель YDbDr, а для NTSC модель YIQ; эталонная модель XYZ основана на замерах характеристик человеческого глаза. Модель RGBМодель RGB (от слов Red, Green, Blue – красный, зеленый, синий) наиболее точно подходит к принципам вывода изображения на экран монитора – три числа задают яркость свечения зерен красного, зеленого и синего люминофора в заданной точке экрана. Поэтому данная модель получила наиболее широкое распространение в области компьютерной графики, ориентированной на просмотр изображений на экране монитора. Модель RGB опирается на то, что глаз человека воспринимает все цвета как сумму трех основных цветов – красного, зеленого и синего (рисунок). Так как цвет формируется в результате сложения трех цветов, эту модель часто называют аддитивной (суммирующей). Например, для задания белого цвета необходимо указать для всех трех компонентов максимальные значения яркости, а для задания черного – полностью погасить все источники (например, точки люминофора), задающие цвет в нужной точке изображения, – указать для них нулевую яркость. Если каждый из цветов кодировать с помощью одного байта (яркость каждого компонента задается числами от 0 до 255), как это принято для реалистического монохромного изображения, появится возможность передавать по 256 оттенков каждого из основных цветов. А всего в этом случае обеспечивается передача 256 х 256 х 256 = 16 777 216 различных цветов, что достаточно близко к реальной чувствительности человеческого глаза. Таким образом, при данной схеме кодирования цвета на изображение одного пиксела требуется 3 байта или 24 бита памяти. Этот способ представления цветной графики принято называть режимом True Color (true color – истинный цвет) или полноцветным режимом. Существуют профессиональные устройства (например, сканеры), позволяющие получать изображения, в которых каждый пиксел описывается не тремя, а шестью (16 бит на каждую цветовую составляющую) или даже восемью байтами. Подобные режимы используются для наилучшей передачи оттенков и, что самое главное, яркости точек изображения. Это позволяет наиболее достоверно воспроизводить изображения таких сложных с технической точки зрения сюжетов, как, например, вечерние или рассветные пейзажи. Пример 4.7. В Win32 стандартный тип для представления цветов – COLORREF. Для определения цвета в RGB использует 4 байта в виде: 0x00RRGGBB RR, GG, BB – значение интенсивности соответственно красной, зеленой и синей составляющих цвета. Максимальное значение каждой интенсивности – 0xFF. Тогда определить переменную типа COLORREF можно следующим образом: COLORREF C = (r, g, b); b, g и r – интенсивность (в диапазоне от 0 до 255) соответственно синей, зеленой и красной составляющих определяемого цвета C. То есть ярко-красный цвет может быть определён как (255,0,0), ярко-фиолетовый – (255,0,255), чёрный – (0,0,0), а белый – (255,255,255) |