Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save anonymous/9b3c4e0014d30daf9986366059557dbd to your computer and use it in GitHub Desktop.
Save anonymous/9b3c4e0014d30daf9986366059557dbd to your computer and use it in GitHub Desktop.
Кодирование графической информации кодирование цвета

Кодирование графической информации кодирование цвета



Используют два принципиально разных метода кодирования, каждый из которых имеет свои достоинства и недостатки. Растровое кодирование И линия, и область состоят из бесконечного числа точек. Цвет каждой из этих точек нам нужно закодировать. Если их бесконечно много, мы сразу приходим к выводу, что для этого нужно бесконечно много памяти. Однако, эту все-таки идею можно использовать. Начнем с черно-белого рисунка. Представим себе, что на изображение ромба наложена сетка, которая разбивает его на квадратики. Такая сетка называется растром. Теперь для каждого квадратика определим цвет черный или белый. Для тех квадратиков, в которых часть оказалась закрашена черным цветом, а часть белым, выберем цвет в зависимости от того, какая часть черная или белая больше. У нас получился так называемый растровый рисунок , состоящий из квадратиков-пикселей. Действительно, у нас был единый и неделимый рисунок — изображение ромба. В результаты мы получили дискретный объект — набор пикселей. Двоичный код для черно-белого рисунка, полученного в результате дискретизации можно построить следующим образом: Покажем это на простом примере: Ширина этого рисунка — 8 пикселей, поэтому каждая строчка таблицы состоит из 8 двоичных разрядов — бит. Чтобы не писать очень длинную цепочку нулей и единиц, удобно использовать шестнадцатеричную систему счисления, закодировав 4 соседних бита тетраду одной шестнадцатеричной цифрой. Например, для первой строки получаем код 1A Разрешение — это количество пикселей, приходящихся на дюйм размера изображения. Чем больше разрешение, тем точнее кодируется рисунок меньше информации теряется , однако одновременно растет и объем файла. Кодирование цвета Что делать, если рисунок цветной? В этом случае для кодирования цвета пикселя уже не обойтись одним битом. Например, в показанном на рисунке изображении российского флага 4 цвета: Для кодирования одного из четырех вариантов нужно 2 бита, поэтому код каждого цвета и код каждого пикселя будет состоять из двух бит. Пусть 00 обозначает черный цвет, 01 — красный, 10 — синий и 11 — белый. Тогда получаем такую таблицу:. То есть информацию о цвете нужно выразить в виде числа или набора чисел. Человек воспринимает свет как множество электромагнитных волн. Определенная длина волны соответствуют некоторому цвету. Согласно современному представлению о цветном зрении теории Юнга-Гельмгольца глаз человека содержит чувствительные элементы трех типов. Каждый из них воспринимает весь поток света, но первые наиболее чувствительны в области красного цвета, вторые — области зеленого, а третьи — в области синего цвета. Цвет — это результат возбуждения всех трех типов рецепторов. Поэтому считается, что любой цвет то есть ощущения человека, воспринимающего волны определенной длины можно имитировать, используя только три световых луча красный, зеленый и синий разной яркости. Меняя силу этих составляющих, можно составить любые цвета. Эта модель цвета получила название RGB по начальным буквам английских слов red красный , green зеленый и blue синий. В модели RBG яркость каждой составляющей или, как говорят, каждого канала чаще всего кодируется целым числом от 0 до При этом код цвета — это тройка чисел R,G,B , яркости отдельных каналов. Цвет 0,0,0 — это черный цвет, а ,, — белый. Если все составляющие имеют равную яркость, получаются оттенки серого цвета, от черного до белого. Чтобы сделать светло-красный розовый цвет, нужно в красном цвете ,0,0 одинаково увеличить яркость зеленого и синего каналов, например, цвет , , — это розовый. Равномерное уменьшение яркости всех каналов делает темный цвет, например, цвет с кодом ,0,0 — тёмно-красный. При кодировании цвета на веб-страницах также используется модель RGB, но яркости каналов записываются в шестнадцатеричной системе счисления от 00 16 до FF 16 , а перед кодом цвета ставится знак. Например, код красного цвета записывается как FF, а код синего - как FF. Всего есть по вариантов яркости каждого из трех цветов. Эта величина называется глубиной цвета. Глубина цвета — это количество бит, используемое для кодирования цвета пикселя. True Color — истинный цвет. Для вычисления объема рисунка в байтах при таком кодировании нужно определить общее количество пикселей перемножить ширину и высоту и умножить результат на 3, так как цвет каждого пикселя кодируется тремя байтами. Конечно, здесь не учитывается сжатие, которое применяется во всех современных форматах графических файлов. Кроме того, в реальных файлах есть заголовок , в котором записана служебная информация например, размеры рисунка. Кроме режима истинного цвета используется также 16 - битное кодирование англ. В мобильных телефо битное кодирование цвета 4 бита на канал, цветов. Как правило, чем меньше цветов используется, тем больше будет искажаться цветное изображение. Однако при увеличении количества используемых цветов одновременно растет объем файла. Например, в режиме истинного цвета файл получится в два раза больше, чем при 12 - битном кодировании. Очень часто например, в схемах, диаграммах и чертежах количество цветов в изображении невелико не более В этом случае применяют кодирование с палитрой. Цветовая палитра — это таблица, в которой каждому цвету, заданному в виде составляющих в модели RGB, сопоставляется числовой код. Кодирование с палитрой выполняется следующим образом: Например, при кодировании изображения российского флага см. RGB-код 0,0,0 ; двоичный код 00 2 ; красный: RGB-код ,0,0 ; двоичный код 01 2 ;. RGB-код 0,0, ; двоичный код 10 2 ;. RGB-код ,, ; двоичный код 11 2 ; Поэтому палитра, которая обычно записывается в специальную служебную область в начале файла ее называют заголовком файла , представляет собой четыре трехбайтных блока: Код каждого пикселя занимает всего два бита. В таблице приведены данные по некоторым вариантам кодирования с палитрой: Количество цветов Размер палитры байт Глубина цвета бит на пиксель 2 6 1 4 12 2 16 48 4 8 Палитры с количеством цветом более на практике не используются. RGB-кодирование лучше всего описывает цвет, который излучается некоторым устройством, например, монитором или экраном ноутбука. Когда же мы смотрим на изображение, отпечатанное на бумаге, ситуация совершенно другая. Мы видим не прямые лучи источника, попадающие в глаз, а отраженные от поверхности. Краска поглощает часть лучей их энергия уходит на нагрев , а оставшиеся попадают в глаз, это и есть тот цвет, который мы видим. Например, если краска поглощает красные лучи, остаются только синие и зеленые — мы видим голубой цвет. В этом смысле красный и голубой цвета дополняют друг друга, так же, как и пары зеленый — фиолетовый и синий — желтый. На трех дополнительных цветах — голубом, фиолетовом и желтом —строится цветовая модель CMY англ. C yan — голубой, M agenta — фиолетовый, Y ellow — желтый , которая применяется для вывода на печать. Если добавить голубого цвета, красные лучи поглощаются, остаются только синие и зеленые. Если сверху нанести еще желтую краску, которая поглощает синие лучи, остается только зеленый. Строго говоря, цвет, кодируемый в моделях RGB, CMYK и HSV, зависит от устройства, на котором этот цвет будет изображаться. Lighntess — светлота, a и b — параметры, определяющие тон и насыщенность цвета , которая является международным стандартом. Эта модель используется, например, для перевода цвета из RGB в CMYK и обратно. Обычно изображения, предназначенные для печати, готовятся на компьютере в режиме RGB , а потом переводятся в цветовую модель CMYK. При этом стоит задача получить при печати такой же цвет, что и на мониторе. И вот тут возникают проблемы. Отсюда следует важный вывод. Цвет, который мы видим на мониторе, зависит от характеристик и настроек монитора. Наверняка вы видели этот эффект в магазине где продают телевизоры и мониторы — одна и та же картинка на каждом из них выглядит по-разному. Во-первых, выполняется калибровка монитора — настройка яркости, контрастности, белого, черного и серого цветов. Во-вторых, профессионалы, работающие с цветными изображениями, используют цветовые профили мониторов, сканеров, принтеров и других устройств. В профилях хранится информация о том, каким реальным цветам соответствуют различные RGB-коды или CMYK-коды. Современные форматы графических файлов например, формат. PSD программы Adobe Photoshop вместе с кодами пикселей содержат и профиль монитора, на котором создавался рисунок. Проблема состоит в том, что не все цвета RGB-модели могут быть напечатаны. В первую очередь это относится к ярким и насыщенным цветам. Это обязательно должны учитывать профессиональные дизайнеры. Graphics Interchange Format — формат для обмена изображениями, файлы с расширением. Portable Network Graphics — переносимые сетевые изображения, файлы с расширением. Свойства рассмотренных форматов сведены в таблицу: Формат Истинный цвет С палитрой Прозрачность Анимация BMP да да - — JPEG да — — — GIF — да да да PNG да да да — Вы уже знаете, что все виды информации хранятся в памяти компьютера в виде двоичных кодов, то есть цепочек из нулей и единиц. Получив такую цепочку, абсолютно невозможно сказать, что это — текст, рисунок, звук или видео. В первую очередь нужно ориентироваться на расширение имени файла. Например, чаще всего файлы с расширением. Однако расширение файла можно менять как угодно. Например, можно сделать так, что текстовый файл будет иметь расширение. Поэтому в начало всех файлов специальных форматов кроме простого текста,. Кроме того, в заголовке указывается размер рисунка и его характеристики, например, количество цветов в палитре, способ сжатия и т. Векторное кодирование Для чертежей, схем, карт применяется другой способ кодирования, который позволяет не терять качество при изменении размеров изображения. Рисунок хранится как набор простейших геометрических фигур графических примитивов: Такой рисунок называется векторным. Векторный рисунок — это рисунок, который закодирован в виде набора простейших геометрических фигур, параметры которых размеры, координаты вершин, углы наклона, цвет контура и заливки хранятся в виде чисел. При векторном кодировании для отрезка хранятся координаты его концов, для прямоугольников и ломаных — координаты вершин. Окружность и эллипс можно задать координатами прямоугольника, в который вписана фигура. Сложнее обстоит дело со сглаженными кривыми. На рисунке изображена линия с опорными точками. Если обе рукоятки находятся на одной прямой, получается сглаженный узел, если нет — то угловой узел. Таким образом, форма этой кривой полностью задается координатами опорных точек и координатами рукояток. Кривые, заданные таким образом, называют кривыми Безье в честь их изобретателя французского инженера Пьера Безье. Векторный способ кодирования рисунки обладает значительными преимуществами в сравнении с растровым тогда, когда изображение может быть полностью разложено на простейшие геометрические фигуры например, чертеж, схема, карта, диаграмма. В этом случае при кодировании нет потери информации. Объем файлов напрямую зависит от сложности рисунка — чем меньше элементов, тем меньше места занимает файл. Как правило, векторные рисунки значительно меньше по объему, чем растровые. Самый главный недостаток этого метода — он практически непригоден для кодирования размытых изображений, например, фотографий. Среди форматов векторных рисунков отметим следующие: Windows Metafile — метафайл Windows , файлы с расширением. Scalable Vector Graphics — масштабируемые векторные изображения, файлы с расширением. Постройте двоичные коды для черно-белых рисунков и запишите их в шестнадцатеричной системе счисления: Как их можно преодолеть? Постройте черно-белый рисунок шириной 8 пикселей, закодированный шестнадцатеричной последовательностью FF Постройте черно-белый рисунок шириной 5 пикселей, закодированный шестнадцатеричной последовательностью 3A53F88 Оцените количество пикселей в этом рисунке. Постройте шестнадцатеричный код для цветов, имеющих RGB-коды ,, , 30,50, , 60,, 20 , , , Как бы вы назвали цвет, заданный на веб-странице в виде кода: CCCCCC, FFCCCC, CCCCFF, , FF66FF, CCFFFF, , , 99FF99? Найдите десятичные значения составляющих RGB - кода. Какова глубина цвета, если в рисунке используется цветов? Для желтого цвета найдите красную, зеленую и синюю составляющие при битном кодировании. Сколько места занимает палитра в файле, где используются 64 цвета? Каково максимально возможное число цветов в палитре изображения? Для хранения растрового изображения размером x пикселей отвели 4 килобайта памяти. В процессе преобразования растрового графического файла количество цветов уменьшилось с до Во сколько раз уменьшился информационный объем файла? В процессе преобразования растрового графического файла количество цветов уменьшилось с до 8. Разрешение экрана монитора — х точек, глубина цвета — 16 бит. Каков необходимый объем видеопамяти для данного графического режима? После преобразования растрового цветного графического файла в черно - белый формат 2 цвета его размер уменьшился на 70 байт. Каков был размер исходного файла? Сколько памяти нужно для хранения цветного растрового графического изображения размером 32 на точек? Какова ширина в пикселях прямоугольного цветного неупакованного растрового изображения, занимающего на диске 1,5 Мбайт, если его высота вдвое меньше ширины? Как и все виды информации, изображения в компьютере закодированы в виде двоичных последовательностей. И линия, и область состоят из бесконечного числа точек. Двоичный код для черно-белого рисунка, полученного в результате дискретизации можно построить следующим образом:. Очень важно понять, что мы приобрели и что потеряли в результате дискретизации. Самое важное — мы смогли закодировать рисунок в двоичном коде. Однако при этом рисунок исказился - вместо ромба мы получили набор квадратиков. Причина искажения в том, что в некоторых квадратиках части исходного рисунка были закрашены разными цветами, а в закодированном изображении каждый пиксель обязательно имеет один цвет. Таким образом, часть исходной информации при кодировании была потеряна. Это проявится, например, при увеличении рисунка - квадратики увеличиваются, и рисунок еще больше искажается. Чтобы уменьшить потери информации, нужно уменьшать размер пикселя, то есть увеличивать разрешение. Что делать, если рисунок цветной? Тогда получаем такую таблицу: RGB-код 0,0,0 ; двоичный код 00 2 ;. RGB-код ,, ; двоичный код 11 2 ;. Поэтому палитра, которая обычно записывается в специальную служебную область в начале файла ее называют заголовком файла , представляет собой четыре трехбайтных блока:. Чтобы примерно оценить объем рисунка с палитрой, включающей N цветов без учета сжатия , нужно. В таблице приведены данные по некоторым вариантам кодирования с палитрой:. При наложении голубой, фиолетовой и желтой красок теоретически должен получиться черный цвет, все лучи поглощаются. Однако на практике все не так просто. Краски не идеальны, поэтому вместо черного цвета получается грязно - коричневый. Нужно также учитывать, что обычно на принтерах часто распечатывают черный текст, а цветные чернила значительно дороже черных. Чтобы решить эту проблему, в набор красок добавляют черную, это так называемый ключевой цвет англ. K ey color , поэтому получившуюся модель обозначают CMYK. Изображение, которое печатает большинство принтеров, состоит из точек этих четырех цветов, которые расположены в виде узора очень близко друг к другу. Это создает иллюзию того, что в рисунке есть разные цвета. Кроме цветовых моделей RGB и CMY CMYK , существуют и другие. Наиболее интересная из них — модель HSB англ. H ue — тон, оттенок; S aturation — насыщенность, B rightness — яркость , которая ближе всего к естественному восприятию человека. Тон — это, например, синий, зеленый, желтый. Насыщенность — это чистота тона, при уменьшении насыщенности до нуля получается серый цвет. Яркость определяет, насколько цвет светлый или темный. Любой цвет при снижении яркости до нуля превращается в черный. Итак, при растровом кодировании рисунок разбивается на пиксели дискретизируется. Для каждого пикселя определяется единый цвет, который чаще всего кодируется с помощью RGB-кода. На практике эти операции выполняет сканер устройство для ввода изображений и цифровой фотоаппарат. Существует много разных форматов растровых рисунков. Чаще всего встречаются следующие:. Joint Photographic Experts Group — объединенная группа фотографов-экспертов, файлы с расширением. Вы уже знаете, что все виды информации хранятся в памяти компьютера в виде двоичных кодов, то есть цепочек из нулей и единиц. Для чертежей, схем, карт применяется другой способ кодирования, который позволяет не терять качество при изменении размеров изображения. CDR файлы с расширением. AI файлы с расширением. Постройте двоичные коды для черно-белых рисунков и запишите их в шестнадцатеричной системе счисления:. Какие сложности у вас возникли? Что такое глубина цвета? Как связаны глубина цвета и объем файла? Какова ширина в пикселях прямоугольного цветного неупакованного растрового изображения, занимающего на диске 1 Мбайт, если его высота вдвое больше ширины? Учебник для 10 класса.


Кодирование графической информации


Графические изображения из аналоговой непрерывной формы в цифровую дискретную преобразуется путем пространственной дискретизации. Пространственную дискретизацию изображения можно сравнить с построением изображения из мозаики большого количества маленьких разноцветных стекол. Изображение разбивается на отдельные маленькие элементы точки или пиксели , причем каждый элемент может иметь свой цвет. В результате пространственной дискретизации графическая информация представляется в виде растрового изображения, которое формируется из определенного количества строк, содержащих, в свою очередь, определенное количество точек. Пиксель — это минимальный участок изображения, для которого независимым образом можно задать цвет. Важнейшей характеристикой качества растрового изображения является разрешающая способность. Разрешающая способность растрового изображения определяется количеством точек как по горизонтали, так и по вертикали на единицу длины изображения. Чем меньше размер точки, тем больше разрешающая способность. Величина разрешающей способности выражается в dpi количество точек в полоске изображения длиной 2,54 см дюйм. Пространственная дискретизация непрерывных изображений, хранящихся на бумаге, фото- и кинопленке, может быть осуществлена путем сканирования. В настоящее время все большее распространение получают цифровые фото- и видеокамеры, которые фиксируют изображение сразу в дискретной форме. Глубиной цвета называется такое количество информации, которое необходимо для кодирования цвета точки изображения. Растровое изображение представляет собой совокупность точек пикселей разных цветов. Для черно-белого изображения информационный объем одной точки равен одному биту либо черная, либо белая — либо 1, либо 0. Для четырех цветного — 2 бита. Для 8 цветов необходимо — 3 бита. Для 16 цветов — 4 бита. Для цветов — 8 бит 1 байт и т. Количество цветов в палитре N и количество информации, необходимое для кодирования каждой точки I , связаны между собой и могут быть вычислены по формуле:. Наиболее распространенными глубинами цвета являются 4,8,16, и 24 бита на точку. Зная глубину цвета, можно по формуле вычислить количество цветов в палитре и наоборот. Необходимый объем видеопамяти для графического режима с пространственным разрешением х точек и глубиной цвета 24 бита равен: С экрана монитора человек воспринимает цвет как сумму излучения трех базовых цветов red, green, blue. Цвет из палитры можно определить с помощью формулы: В системе RGB палитра цветов формируется путем сложения красного, зеленого и синего цветов. Палитра цветов в системе цветопередачи CMYK. При печати изображений на принтере используется палитра цветов CMYK. Система CMYK в отличие от RGB, основана на восприятии не излучаемого, а отражаемого света. Так, нанесенная на бумагу голубая краска поглощает красный цвет и отражает зеленый и синий цвета. Цвета палитры CMYK можно определить с помощью формулы: Professional Joomla Templates Club - Professional Joomla Extensions Club. Стандартный шаблон Шаблон для слабовидящих. Сведения об ОУ Основные сведения Структура управления ОУ Документы Устав Лицензия, свидетельство об аккредитации Планы ФХД Локальные акты ст. Педагогический состав Администрация ОУ Педагоги МТБ и оснащенность ОУ Материальная поддержка Платные образовательные услуги Финансово-хозяйственная деятельность Вакантные места для приема перевода Документы Нормативные документы Паспорт дорожной безопасности Локальные акты Образование Воспитательная работа в школе Развитие воспитательной компоненты Программа развития школы Педсостав Коллектив Учителям Новости Расписание Списки учащихся Как справиться со стрессом? Ученикам Советы психолога Права и обязанности учащихся Расписание Учебные материалы Информатика и ИКТ Химия Физика Документы ГИА-9 ГИА ГОУ Состав управляющего совета Родителям Техники чтения Новости Расписание Документы для родителей Важные телефоны Устав Положение о родительском комитете Регламент Безопасность на железной дороге Безопасность детей в сети Интернет Постановление о закрепленных территорий Вакантные места Памятка родителям Приказы и постановления Психология ГИА-9 ГИА Это интересно Расписание школьного автобуса Льготное питание. В результате пространственной дискретизации графическая информация представляется в виде растрового изображения, которое формируется из определенного количества строк, содержащих, в свою очередь, определенное количество точек Пиксель — это минимальный участок изображения, для которого независимым образом можно задать цвет. Теперь рассмотрим такое понятие как ГЛУБИНА ЦВЕТА Глубиной цвета называется такое количество информации, которое необходимо для кодирования цвета точки изображения. Количество цветов в палитре N и количество информации, необходимое для кодирования каждой точки I , связаны между собой и могут быть вычислены по формуле: Самые читаемые О школе Защита информации от несанкционированного доступа Как всё начиналось


https://gist.github.com/68b1a20ea46fd575aee2740de0bae476
https://gist.github.com/69cef29dd634ffeeff1dca994af53ad2
https://gist.github.com/2ae42c5957e55ba494187307190cdc8c
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment