телевизори. Конзоли. Проектори и аксесоари. Технологии. Цифрова телевизия

Какво е истински цветен режим. Кодиране на графична информация. §17. Кодиране на аудио и видео информация

Какви трудности срещнахте? Как могат да бъдат преодолени?

2. Изградете черно-бял чертеж с ширина 8 пиксела, кодиран с шестнадесетичната последователност 2466FF6624 16 .

3. Изградете черно-бял чертеж с ширина 5 пиксела, кодиран с шестнадесетичната последователност 3A53F88 16.

4. Картина с размери 10х15 см е кодирана с резолюция 300 ppi. Преценете броя на пикселите в този чертеж. (Отговор: около 2 мегапиксела)

5. Конструирайте шестнадесетичен код за цветове с RGB кодове (100,200,200), (30,50,200), (60,180, 20), (220, 150, 30). (Отговор: #64C8C8, #1E32C8, #3CB414, #DC961E)

6. Как бихте нарекли цвят, даден на уеб страница като код: #CCCCCC, #FFCCCC, #CCCCFF, #000066, #FF66FF, #CCFFFF, #992299, #999900, #99FF99? Намерете десетичните стойности на компонентите на RGB кода. (Отговор: (204,204,204), (255,204,204), (204,204,255), (0,0,102), (255,255,102), (104,255,255), (153,34,153), (153,153,0), (153,255,153))

7. Какво стана дълбочина на цвета? Как са свързани дълбочината на цвета и размера на файла?

8. Каква е дълбочината на цвета, ако чертежът използва 65536 цвята? 256 цвята? 16 цвята? (Отговор: 16 бита; 8 бита; 4 бита)

9. За жълтия цвят намерете червения, зеления и синия компонент, като използвате 12-битово кодиране. (Отговор: R=G=15, B=0)

10. Колко място заема една палитра във файл, който използва 64 цвята? 128 цвята?

11. Колко байта ще отнеме кодът за изображение с размери 40x50 пиксела в истински цветен режим? при кодиране с палитра от 256 цвята? при кодиране с палитра от 16 цвята? в черно и бяло (два цвята)? (Отговор: 6000, 2000, 1000, 250)

12. Колко байта ще отнеме кодът на изображение с размери 80x100 пиксела, когато се кодира с дълбочина на цвета от 12 бита на пиксел? (Отговор: 12000)

13. За съхраняване на растерно изображение с размери 32x32 пиксела бяха разпределени 512 байта памет. Какъв е максималният възможен брой цветове в палитрата на изображението? (Отговор: 16)

14. За съхраняване на растерно изображение с размери 128 x 128 пиксела бяха разпределени 4 килобайта памет. Какъв е максималният възможен брой цветове в палитрата на изображението? (Отговор: 4)

15. В процеса на преобразуване на растерен графичен файл броят на цветовете е намалял от 1024 на 32. Колко пъти е намалял информационният обем на файла? (Отговор: 2 пъти)

16. В процеса на преобразуване на растерен графичен файл броят на цветовете е намалял от 512 на 8. Колко пъти е намалял обемът на информацията във файла (Отговор: 3 пъти)

17. Разделителната способност на екрана на монитора е 1024 x 768 пиксела, дълбочината на цвета е 16 бита. Какво е необходимото количество видео памет за този графичен режим? (Отговор: 1,5 MB)

18. След конвертиране на 256-цветен растерен графичен файл в черно-бял (2 цвята), размерът му беше намален със 70 байта. Какъв беше размерът на оригиналния файл? (Отговор: 80 байта)

19. Колко памет е необходима за съхраняване на 64-цветна растерна графика с размери 32 на 128 пиксела? (Отговор: 3 KB)

20. Каква е ширината (в пиксели) на правоъгълно 64-цветно разопаковано растерно изображение, което заема 1,5 MB дисково пространство, ако височината му е половината от ширината? (Отговор: 2048)

21. Каква е ширината (в пиксели) на правоъгълно 16-цветно разопаковано растерно изображение, заемащо 1 MB дисково пространство, ако височината му е два пъти по-голяма от ширината? (Отговор: 1024)

Растери, пиксели, семплиране, резолюция

Както всички видове информация, изображенията в компютъра са кодирани като двоични последователности. Те използват два фундаментално различни метода на кодиране, всеки от които има своите предимства и недостатъци.

Както линията, така и областта се състоят от безкраен брой точки. Трябва да кодираме цвета на всяка от тези точки. Ако има безкраен брой от тях, веднага стигаме до извода, че това изисква безкрайно количество памет. Следователно няма да е възможно да се кодира изображението по начин „точка по точка“. Тази идея обаче все още може да се използва.

Нека започнем с черно-бяла рисунка. Нека си представим, че върху изображението на ромб е насложена мрежа, която го разделя на квадрати. Тази мрежа се нарича растер. Сега за всеки квадрат определяме цвета (черен или бял). За онези квадрати, в които част е боядисана в черно, а част в бяло, изберете цвят в зависимост от това коя част (черна или бяла) е по-голяма.

Снимка 1.

Имаме така нареченото растерно изображение, състоящо се от пикселни квадратчета.

Определение 1

пиксел(англ. pixel = картинен елемент, елемент от картината) е най-малкият елемент от картината, за който можете да зададете свой собствен цвят. След като разделихме "обикновения" чертеж на квадрати, извършихме неговата дискретизация - разделихме един обект на отделни елементи. Наистина имахме една единствена и неделима рисунка - изображението на ромб. В резултат на това получихме отделен обект - набор от пиксели.

Двоичният код за черно-бялото изображение, получен в резултат на вземане на проби, може да бъде конструиран по следния начин:

  • замени белите пиксели с нули и черните пиксели с единици;
  • Изписваме редовете на получената таблица един след друг.

Пример 1

Нека покажем това с прост пример:

Фигура 2.

Ширината на тази фигура е $8$ пиксела, така че всеки ред на таблицата се състои от $8$ двоични цифри - битове. За да не се записва много дълга верига от нули и единици, е удобно да се използва шестнадесетичната бройна система, кодираща $4$ съседни бита (тетрада) с една шестнадесетична цифра.

Фигура 3.

Например за първия ред получаваме кода $1A_(16)$:

и за цялата фигура: $1A2642FF425A5A7E_(16)$.

Бележка 1

Много е важно да разберем какво сме спечелили и какво сме загубили в резултат на дискретизацията. Най-важното е, че успяхме да кодираме чертежа в двоичен код. Чертежът обаче беше изкривен - вместо диамант получихме набор от квадрати. Причината за изкривяването е, че в някои квадрати части от оригиналната картина са боядисани с различни цветове, но в кодираното изображение всеки пиксел задължително има един цвят. По този начин част от оригиналната информация беше загубена по време на кодирането. Това ще се прояви, например, когато картината се увеличи - квадратите стават по-големи и картината става още по-изкривена. За да намалите загубата на информация, трябва да намалите размера на пикселите, тоест да увеличите разделителната способност.

Определение 2

разрешениее броят пиксели на инч от размера на изображението.

Разделителната способност обикновено се измерва в пиксели на инч (използвайки английската нотация $ppi$ = пиксели на инч). Например, разделителна способност от $254$ppi$ означава, че има $254$пиксела на инч ($25,4$mm), така че всеки пиксел "съдържа" квадрат от оригиналното изображение с размери $0,1x0,1$mm. Колкото по-висока е резолюцията, толкова по-точно е кодирано изображението (губи се по-малко информация), но в същото време размерът на файла също се увеличава.

Цветово кодиране

Какво да направите, ако рисунката е оцветена? В този случай един бит вече не е достатъчен за кодиране на цвета на пиксела. Например, в изображението на руското знаме $4$, показано на снимката, цветовете са черно, синьо, червено и бяло. Отнема $2$ бита за кодиране на една от четирите опции, така че кодът за всеки цвят (и кодът за всеки пиксел) ще се състои от два бита. Нека $00$ представлява черно, $01$ червено, $10$ синьо и $11$ бяло. Тогава получаваме следната таблица:

Фигура 4.

Единственият проблем е, че когато се показва на екрана, трябва по някакъв начин да определите кой цвят съответства на този или онзи код. Това означава, че информацията за цвета трябва да бъде изразена като число (или набор от числа).

Човек възприема светлината като множество електромагнитни вълни. Определена дължина на вълната съответства на определен цвят. Например, дължини на вълните от $500-565 nm са зелени. Така наречената „бяла“ светлина всъщност е смес от дължини на вълните, които обхващат целия видим диапазон.

Според съвременната концепция за цветното зрение (теорията на Йънг-Хелмхолц) човешкото око съдържа три вида чувствителни елементи. Всеки от тях възприема целия поток от светлина, но първите са най-чувствителни в червената област, вторите в зелената област, а третите в синята област. Цветът е резултат от стимулация и на трите вида рецептори. Следователно се смята, че всеки цвят (т.е. усещанията на човек, който възприема вълни с определена дължина) може да бъде имитиран само с три светлинни лъча (червен, зелен и син) с различна яркост. Следователно всеки цвят се разлага приблизително на три компонента - червено, зелено и синьо. Чрез промяна на силата на тези компоненти можете да създавате всякакви цветове. Този цветови модел се нарича RGB след началните букви на английските думи red, green и blue.

В модела RBG яркостта на всеки компонент (или, както се казва, всеки канал) най-често се кодира като цяло число от $0$ до $255$. В този случай цветният код е тройка от числа (R, G, B), яркостта на отделните канали. Цветът ($0,0,0$) е черен, а ($255,255,255$) е бял. Ако всички компоненти имат еднаква яркост, се получават нюанси на сивото от черно до бяло.

Фигура 5.

За да направите светлочервен (розов) цвят, трябва да увеличите яркостта на зеления и синия канал еднакво в червения цвят ($255,0,0$), например цветът ($255, 150, 150$) е розово. Равномерното намаляване на яркостта на всички канали прави тъмен цвят, например цветът с код ($100,0,0$) е тъмно червен.

Общо има $256$ опции за яркост за всеки от трите цвята. Това ни позволява да кодираме $256^3= $16,777,216 нюанса, което е повече от достатъчно за човек. Тъй като $256 = 2^8$, всеки от трите компонента заема $8$ бита или $1$ байта в паметта, а цялата информация за даден цвят заема $24$ бита (или $3$ байта). Тази стойност се нарича дълбочина на цвета.

Определение 3

Дълбочина на цветае броят битове, използвани за кодиране на цвета на пиксел.

$24$-битовото цветно кодиране често се нарича истински цветови режим. За да изчислите обема на картина в байтове с това кодиране, трябва да определите общия брой пиксели (умножете ширината и височината) и да умножите резултата по $3$, тъй като цветът на всеки пиксел е кодиран в три байта. Например картина от $20×30$ пиксела, кодирана в истински цвят, ще заема $20×30×3 = 1800$ байта.

В допълнение към истинския цветен режим се използва и $16$-битово кодиране (на английски: High Color), когато $5$ бита са разпределени за червените и сините компоненти, а $6$ бита са разпределени за зеления компонент, към който човешкото око е по-чувствително. Режимът High Color може да кодира $2^(16) = $65 536 различни цвята. IN мобилни телефони$12$-битово цветово кодиране ($4$ бита на канал, $4096$ цвята).

Кодиране с палета

Като цяло, колкото по-малко цветове се използват, толкова повече изкривяване ще има цветно изображение. По този начин, когато се кодира цвят, също има неизбежна загуба на информация, която се „добавя“ към загубите, причинени от семплирането. Много често (например в диаграми, диаграми и чертежи) броят на цветовете в изображението е малък (не повече от $256$). В този случай се използва палетно кодиране.

Определение 4

Цветова палитрае таблица, в която всеки цвят, определен като компоненти в RGB модела, е свързан с цифров код.

Кодирането с палета се извършва по следния начин:

  • изберете броя на цветовете $N$ (обикновено не повече от $256$);
  • от истинската цветова палитра ($16 777 216 цвята) избираме произволни $N$ цвята и за всеки от тях намираме компонентите в RGB модела;
  • на всеки цвят се присвоява номер (код) от $0$ до $N–1$;
  • Създаваме палитра, като първо записваме RGB компонентите на цвета с код $0$, след това компонентите на цвета с код $1$ и т.н.

Цветът на всеки пиксел се кодира не като стойности на RGB компонент, а като номер на цвят в палитрата. Например, при кодиране на изображението на руския флаг (виж по-горе) бяха избрани $4$ цвята:

  • черно: RGB код ($0,0,0$); двоичен $002$;
  • червено: RGB код ($255,0,0$); двоичен $012$;
  • синьо: RGB код ($0,0,255$); двоичен $102$;
  • бяло: RGB код ($255,255,255); двоичен код $112$.

Следователно палитрата, която обикновено се записва в специална сервизна област в началото на файла (наречена заглавка на файла), се състои от четири трибайтови блока:

Фигура 6.

Кодът за всеки пиксел отнема само два бита.

Палитри с количество цвят над $256$ не се използват на практика.

Предимства и недостатъци на растерното кодиране

Растерното кодиране има достойнство:

  • универсален метод (всяко изображение може да бъде кодирано);
  • Единственият метод за кодиране и обработка на размазани изображения, които нямат ясни граници, като например снимки.

И недостатъци:

  • винаги има загуба на информация по време на вземане на проби;
  • когато променяте размера на изображението, цветът и формата на обектите в картината се изкривяват, тъй като при увеличаване на размера трябва по някакъв начин да възстановите липсващите пиксели, а когато намалявате, трябва да замените няколко пиксела с един;
  • Размерът на файла не зависи от сложността на изображението, а се определя само от резолюцията и дълбочината на цвета.

По правило растерните изображения имат голям обем.

| Кодиране графична информация, звукова и видео информация

Урок 9
Кодиране на графична информация, звукова и видео информация
§16. Кодиране графични изображения. §17. Кодиране на аудио и видео информация

§16. Графично кодиране
§17. Кодиране на аудио и видео информация

§16. Графично кодиране

Цветово кодиране

Какво да направите, ако рисунката е оцветена? В този случай един бит вече не е достатъчен за кодиране на цвета на пиксела. Например в този, показан на фиг. 2.17, и (вижте също цветната рисунка на форзаца) изображението на руското знаме има 4 цвята: черен, син, червен и бял. За кодиране на една от четирите опции са необходими 2 бита, така че кодът за всеки цвят (и кодът за всеки пиксел) ще се състои от два бита. Нека 00 представлява черно, 01 червено, 10 синьо и 11 бяло. Получаваме таблица (фиг. 2.17, b).

Единственият проблем е, че когато се показва на екрана, трябва по някакъв начин да определите кой цвят съответства на този или онзи код. Това означава, че цветната информация за дисплея трябва да бъде изразена като число (или набор от числа).

Човек възприема светлината като множество електромагнитни вълни. Определена дължина на вълната съответства на определен цвят. Например вълните с дължина 500-565 nm са зелени. Така наречената „бяла“ светлина всъщност е смес от дължини на вълните, които обхващат целия видим диапазон.

Според съвременната концепция за цветното зрение (теорията на Йънг-Хелмхолц) човешкото око съдържа три вида чувствителни елементи (рецептори). Всеки от тях възприема целия поток от светлина, но първите са най-чувствителни в червената област, вторите в зелената област, а третите в синята област. Цветът е резултат от стимулация и на трите вида рецептори. Следователно се смята, че всеки цвят (т.е. усещанията на човек, който възприема вълни с определена дължина) може да бъде имитиран само с три светлинни лъча (червен, зелен и син) с различна яркост. Следователно всеки цвят (включително „бялото“) може да бъде грубо разложен на три компонента - червено, зелено и синьо. Чрез промяна на силата на тези компоненти можете да създавате всякакви цветове (фиг. 2.18 и цветната рисунка на листовката). Този цветови модел се нарича RGB след началните букви на английските думи “red”, “green” и “blue”.

В RGB модела яркостта на всеки компонент (или, както се казва, всеки канал) най-често се кодира като цяло число от O до 255. В този случай цветният код е тройка от числа (R, G, B ) - яркостта на отделните канали. Цветът (O, O, 0) е черен, а (255, 255, 255) е бял. Ако всички компоненти имат еднаква яркост, се получават нюанси на сивото: от черно до бяло.

За да направите светлочервен (розов) цвят, трябва да увеличите яркостта на зеления и синия канал еднакво при максималната яркост на червения цвят (255, 0, 0), например цвета (255, 150, 150 ) е розово. Равномерното затъмняване на всички канали създава тъмен цвят, например цветният код (100, 0, 0) е тъмночервен.

Цветовото кодиране на уеб страници също използва RGB модела, но осветеността на канала се записва в шестнадесетичен (00 16 до FF 16) и цветният код се предхожда от #. Например кодът на червения цвят е написан като #FF0000, а кодът на синия цвят е написан като #0000FF. Кодовете на някои цветове са дадени в таблицата. 2.8.

1 Лилав цвят се получава чрез смесване на синьо и червено.


Има общо 256 опции за яркост за всеки от трите основни цвята. Това ни позволява да кодираме 256 3 = 16 777 216 нюанса, което е повече от достатъчно за човек. Тъй като 256 = 2 8, всеки от трите компонента заема 8 бита или 1 байт в паметта, а цялата информация за даден цвят заема 24 бита (3 байта). Тази стойност се нарича дълбочина на цвета.

Дълбочината на цвета е броят битове, използвани за кодиране на цвета на един пиксел.

24-битовото цветово кодиране често се нарича истински цветови режим. За да изчислите обема на картина в байтове с това кодиране, трябва да определите общия брой пиксели (умножете ширината и височината) и резултата да умножите по 3, тъй като цветът на всеки пиксел е кодиран в три байта. Например изображение с размери 20 x 30 пиксела, кодирано в истински цвят, би заело 20 30 3 = 1800 байта. Разбира се, това не взема предвид компресията (намаляване на размера на файловете с помощта на специални алгоритми), която се използва във всички съвременни формати графични файлове. Освен това реалните файлове имат заглавка, която съдържа служебна информация (например размерите на картината).

В допълнение към истинския цветови режим се използва и 16-битово кодиране. Висок цвят- „висок“ цвят), когато 5 бита са разпределени за червения и синия компонент и 6 бита за зеления компонент, към който човешкото око е по-чувствително. В режим High Color могат да бъдат кодирани 2 16 = 65 536 различни цвята. Мобилните телефони понякога използват 12-битово цветно кодиране (4 бита на канал, 4096 цвята).

Като общо правило, колкото по-малко цветове се използват, толкова по-деформирано ще бъде цветното изображение. По този начин, когато се кодира цвят, също има неизбежна загуба на информация, която се „добавя“ към загубите, причинени от семплирането. Въпреки това, тъй като броят на използваните цветове се увеличава, размерът на файла се увеличава. Например в истински цветен режим файлът ще бъде два пъти по-голям, отколкото при 12-битово кодиране.

Много често (например в диаграми, диаграми и чертежи) броят на цветовете в изображението е малък (не повече от 256). В този случай използвайте кодиране с палета.

Цветовата палитра е таблица, в която всеки цвят, определен като компоненти в RGB модела, е свързан с цифров код.

Кодирането с палета се извършва по следния начин:

Избира се броя на цветовете N (обикновено не повече от 256);
всеки N цвята се избира от истинската цветова палитра (16 777 216 цвята) и за всеки от тях компонентите се намират в RGB модела;
на всеки от избраните цветове се задава номер (код) от 0 до N - 1;
съставя се палитра: първо се записват RGB компонентите на цвят с код 0, след това компонентите на цвят с код 1 и т.н.;
Цветът на всеки пиксел се кодира не като стойности на RGB компонент, а като номер на цвят в палитрата.

Например, когато кодирате изображението на руското знаме (вижте по-горе), бяха избрани 4 цвята:

Черно: RGB код (0, 0, 0); двоичен код 002;
червено: RGB код (255, 0, 0); двоичен код 012;
синьо: RGB код (0, 0, 255); двоичен код 102;
бяло: RGB код (255, 255, 255); двоичен код 112;

Следователно палитрата, която обикновено се записва в специална обслужваща област в началото на файла (тази област се нарича заглавка на файла), представлява четири трибайтови блока:

Кодът за всеки пиксел отнема само два бита.

За да оцените грубо обема на информацията на чертеж с палитра, включваща N цвята, трябва:

Определете размера на палитрата: 3 N байта или 24 N бита;
определяне на дълбочината на цвета (брой битове на пиксел), т.е. намиране на най-малкото естествено число k, така че 2k ≥ N;
изчисляване на общия брой пиксели M чрез умножаване на размерите на картината;
определяне на информационния обем на картината (без да се взема предвид палитрата): M k бита.

Таблица 2.9 показва данни за някои опции за кодиране на палитри.

В практиката не се използват палитри с повече от 256 цвята.

RGB кодирането най-добре описва цвета, който се излъчва от някое устройство, като монитор или екран на лаптоп (фиг. 2.19a и цветен чертеж на форзаца). Когато гледаме изображение, отпечатано на хартия, ситуацията е съвсем различна. Виждаме не директни лъчи от източника, влизащи в окото, а отразени от повърхността. „Бяла светлина“ от някакъв източник (слънце, електрическа крушка), съдържаща вълни в целия видим диапазон, пада върху хартията, върху която е нанесена боята. Боята поглъща част от лъчите (енергията им се изразходва за нагряване), а останалите попадат в окото, това е цветът, който виждаме (фиг. 2.19, b и цветната рисунка на листовката).

Например, ако боята абсорбира червени лъчи, остават само сини и зелени лъчи (виж фиг. 2.19, б) - виждаме синия цвят. В този смисъл червеният и синият цвят се допълват взаимно, както и двойките зелено – магента и синьо – жълто. Наистина, ако от бяло(неговият RGB код е #FFFFFF) „извадете“ зелено, получавате цвят #FFOOFF (магента), а ако „извадите“ синьо, получавате цвят #FFFFOO (жълто).

Три допълнителни цвята - циан, магента и жълто - се използват за изграждане на цветовия модел CMY (на английски: Cyan - циан, Magenta - магента, Yellow - жълт), който се използва за показване на изображения за печат. Стойностите C = M = Y = O показват, че върху бялата хартия не се нанася боя, така че всички лъчи се отразяват, виждаме бял цвят. Ако нанесете син цвят върху хартията, червените лъчи ще бъдат погълнати, оставяйки само сини и зелени лъчи. Ако отгоре нанесете още жълта боя, която поглъща сините лъчи, ще остане само зелен цвят (фиг. 2.20 и цветната рисунка на форзаца).

Когато се прилагат циан, магента и жълто, цветът теоретично трябва да бъде черен; На практика обаче всичко не е толкова просто. Цветовете не са идеални, така че вместо черно се получава мръсно кафяво. Освен това, когато печатате черни области, трябва да „излеете“ тройна порция мастило на едно място. Трябва също така да се има предвид, че принтерите обикновено печатат черен текст, а цветното мастило е много по-скъпо от черното.

За да се реши този проблем, черната боя се добавя към комплекта боя; това е така нареченият ключов цвят, така че полученият модел се обозначава като CMYK. Изображението, което повечето принтери отпечатват, се състои от тези четири цвята, подредени в шаблон много близо един до друг. Това създава илюзията, че има различни цветове в дизайна.

В допълнение към цветовите модели RGB и CMY (CMYK), има и други модели. Най-интересният от тях е моделът HSB 1 (англ. Hue - тон, нюанс; Saturation - наситеност, Brightness - яркост), което е най-близо до естественото възприятие на човек. Тонът е например син, зелен, жълт. Наситеността е чистотата на тона; намаляването на наситеността до нула води до сив цвят. Яркостта определя колко светъл или тъмен е даден цвят. Когато яркостта се намали до нула, всеки цвят става черен.

1 Или HSV (английски Hue - тон, нюанс; Saturation - наситеност, Value - стойност).


Строго погледнато, цветът, кодиран в моделите RGB, CMYK и HSB, зависи от устройството, на което този цвят ще бъде показан. За кодиране на „абсолютен“ цвят се използва моделът Lab (Lightntess - лекота, a и b - параметри, които определят тона и наситеността на цвета), който е международен стандарт. Този модел се използва например за преобразуване на цветове от RGB модел в CMYK модел и обратно.

Обикновено изображенията, предназначени за печат, се подготвят на компютър (в режим RGB) и след това се преобразуват в цветовия модел CMYK. Задачата е да се получи същият цвят при печат като на монитора. И тук възникват проблемите. Факт е, че когато се показват пиксели на екрана, мониторът получава някои числа (RGB кодове), въз основа на които е необходимо да се „боядисат“ пикселите с един или друг цвят. Това води до един важен извод.

Цветът, който виждаме на монитора зависи от характеристиките и настройките на монитора.

Това означава, че например червеният цвят (R = 255, G = B = 0) ще бъде различен на различните монитори. Сигурно сте виждали този ефект в магазин за телевизори и монитори – една и съща картина изглежда различно на всеки от тях. Какво да правя?

Първо, мониторът се калибрира - регулиране на яркостта, контраста, бялото, черното и сивото. Второ, професионалистите, които работят с цветни изображения, използват цветни профили за монитори, скенери, принтери и други устройства. Профилите съхраняват информация за това кои реални цветове съответстват на различни RGB кодове или CMYK кодове. За създаване на профил се използват специални устройства - калибратори (колориметри), които "измерват" цвета с помощта на три сензора, които получават лъчи в червения, зеления и синия диапазон. Съвременни графични файлови формати (например PSD формат Програми на Adobe Photoshop), заедно с пикселните кодове, съхранява и профила на монитора, на който е създадена рисунката.

За да може резултатът от печат на принтера да бъде възможно най-сходен с изображението на монитора, е необходимо (с помощта на профила на монитора) да се определи „абсолютният“ цвят (например в лабораторния модел), който потребителят видя и след това (с помощта на профила на принтера) да намери CMYK кода, който ще даде най-близкия цвят при отпечатване.

Проблемът е, че не всички цветове в RGB модел могат да бъдат отпечатани. На първо място, това се отнася за ярки и богати цветове. Например, яркочервеният цвят (R = 255, G = B = 0) не може да бъде отпечатан най-близкият до него цвят в модела CMYK (C = 0, M = Y = 255, K = 0), когато се преобразува обратно в; RGB може да дава стойности 2 около R = 237, G = 28, B = 26. Следователно, когато преобразуваме ярките цветове в CMYK (и когато отпечатваме ярки дизайни), те стават по-тъмни. Професионалните дизайнери трябва да вземат това предвид.

2 Както разбирате, точните числа зависят от профилите на монитора и принтера.

Следваща страница

Какво да направите, ако рисунката е оцветена? В този случай един бит вече не е достатъчен за кодиране на цвета на пиксела. Например в изображението на руското знаме, показано на фигурата, има 4 цвята: черен, син, червен и бял. Необходими са 2 бита за кодиране на една от четирите опции, така че кодът за всеки цвят (и кодът за всеки пиксел) ще се състои от два бита. Нека 00 представлява черно, 01 червено, 10 синьо и 11 бяло. Тогава получаваме следната таблица:

Единственият проблем е, че когато се показва на екрана, трябва по някакъв начин да определите кой цвят съответства на този или онзи код. Това означава, че информацията за цвета трябва да бъде изразена като число (или набор от числа).

Човек възприема светлината като множество електромагнитни вълни. Определена дължина на вълната съответства на определен цвят. Например, вълни с дължина 500?565 m са зелени. Така наречената „бяла“ светлина всъщност е смес от дължини на вълните, които обхващат целия видим диапазон.

В модела RBG, яркостта на всеки компонент

(или, както се казва, всеки канал) най-често

се кодира като цяло число от 0 до 255. В този случай

цветният код е тройка от числа (R, G, B), яркост

отделни канали. Цветът (0,0,0) е черен

цвят, а (255,255,255) е бяло. Ако всички компоненти на фиг.5

имат еднаква яркост, което води до нюанси на сивото, от черно до бяло. Цветовото кодиране на уеб страници също използва RGB модела, но осветеността на канала се записва в шестнадесетичен (00 16 до FF 16) и цветният код се предхожда от #. Например кодът на червения цвят е написан като #FF0000, а кодът на синия цвят е написан като #0000FF.

Ето някои цветови кодове:

маса 1

Има общо 256 опции за яркост за всеки от трите цвята. Това ни позволява да кодираме 256 3 = 16 777 216 нюанса, което е повече от достатъчно за човек. Тъй като 256 = 2 8, всеки от трите компонента заема 8 бита или 1 байт в паметта, а цялата информация за даден цвят заема 24 бита (или 3 байта). Тази стойност се нарича дълбочина на цвета.

Дълбочината на цвета е броят битове, използвани за кодиране на цвета на един пиксел. кодиране на графична информация

24-битовото цветово кодиране често се нарича истински цветови режим. За да изчислите обема на картина в байтове с това кодиране, трябва да определите общия брой пиксели (умножете ширината и височината) и резултата да умножите по 3, тъй като цветът на всеки пиксел е кодиран в три байта. Например изображение с размери 20x30 пиксела, кодирано в истински цвят, би заело 20x30x3 = 1800 байта. Разбира се, това не отчита компресията, която се използва във всички съвременни графични файлови формати. Освен това реалните файлове имат заглавка, която съдържа служебна информация (например размерите на картината). В допълнение към истинския цветен режим се използва и 16-битово кодиране (английски HighColor - „висок“ цвят), когато 5 бита са разпределени за червените и сините компоненти и 6 бита за зеления компонент, към който човешкото око е по-чувствителен. В режим HighColor могат да бъдат кодирани 2 16 = 65 536 различни цвята. Мобилните телефони използват 12-битово цветно кодиране (4 бита на канал, 4096 цвята). Като общо правило, колкото по-малко цветове се използват, толкова по-деформирано ще бъде цветното изображение. По този начин, когато се кодира цвят, също има неизбежна загуба на информация, която се „добавя“ към загубите, причинени от семплирането. Въпреки това, тъй като броят на използваните цветове се увеличава, размерът на файла също се увеличава. Например в истински цветен режим файлът ще бъде два пъти по-голям, отколкото при 12-битово кодиране. Много често (например в диаграми, диаграми и чертежи) броят на цветовете в изображението е малък (не повече от 256). В този случай се използва палетно кодиране.

Цветовата палитра е таблица, в която всеки цвят, определен като компоненти в RGB модела, е свързан с цифров код.

Кодирането с палета се извършва по следния начин:

  • · изберете броя на цветовете N (обикновено не повече от 256);
  • · от истинската цветова палитра (16 777 216 цвята) избираме произволни N цвята и за всеки
  • · от тях намираме компонентите в RGB модела;
  • · на всеки цвят се задава номер (код) от 0 до N-1;
  • · Съставяме палитра, като първо записваме RGB компонентите на цвят с код 0, след това компонентите на цвят с код 1 и т.н.
  • · цветът на всеки пиксел се кодира не като стойности на RGB компонента, а като номер на цвят в палитрата.

Например, когато кодирате изображението на руското знаме (вижте по-горе), бяха избрани 4 цвята:

  • · черно: RGB код (0,0,0); двоичен код 002;
  • · червено: RGB код (255,0,0); двоичен код 012
  • синьо: RGB код (0,0,255); двоичен код 102;
  • · бяло: RGB код (255,255,255); двоичен код 112.

Следователно палитрата, която обикновено се записва в специална обслужваща област в началото на файла, е четири трибайтови блока:

Кодът за всеки пиксел отнема само два бита. За груба оценка на обема на чертеж с палитра, включваща N цвята (без да се взема предвид компресията), трябва:

  • · определя размера на палитрата, 3×N байта или 24×N бита;
  • · определяне на дълбочината на цвета (броя битове на пиксел), т.е. намиране на най-малкото естествено число k, така че 2 k? Н;
  • · изчисляване на общия брой пиксели M чрез умножаване на размерите на картината;
  • · определяне на информационния обем на основната част от битовете MCHk.

Таблицата показва данни за някои опции за кодиране на палитри:

таблица 2

В практиката не се използват палитри с повече от 256 цвята. RGB кодирането най-добре описва цвета, който се излъчва от някое устройство, като монитор или екран на лаптоп. Когато гледаме изображение, отпечатано на хартия, ситуацията е съвсем различна. Виждаме не директни лъчи от източника, влизащи в окото, а отразени от повърхността. „Бяла светлина“ от някакъв източник (слънце, електрическа крушка), съдържаща вълни в целия видим диапазон, пада върху хартията, върху която е нанесена боята. Боята поглъща част от лъчите (енергията им се изразходва за нагряване), а останалите попадат в окото, това е цветът, който виждаме.


Например, ако боята погълне червените лъчи, остават само сини и зелени лъчи – виждаме синия цвят. В този смисъл червеният и синият цвят се допълват, точно както двойките зелено – виолетово и синьо – жълто.

Наистина, ако извадите зеленото от бялото (неговият RGB код е #FFFFFF), получавате цвят #FF00FF (виолетово, магента), а ако извадите синьото, получавате цвят #FFFF00 (жълто).

На три допълнителни цвята - син,

лилаво и жълто - изгражда се цвят

CMY модел (на английски: Cyan - синьо, Magenta -

лилаво, Жълто - жълто), който се използва

за печат. Фиг.8

Стойностите C=M=Y=0 показват, че върху бялата хартия не е нанесена боя, така че всички лъчи се отразяват, това е белият цвят. Ако добавите синьо, червените лъчи се абсорбират, оставяйки само сини и зелени лъчи. Ако отгоре нанесете жълта боя, която поглъща сините лъчи, остава само зелено.

При нанасяне на сини, виолетови и жълти бои цветът теоретично трябва да бъде черен; На практика обаче всичко не е толкова просто. Боите не са идеални, така че вместо черно се получава мръсно кафяво. Освен това, когато печатате черни области, трябва да „излеете“ тройна порция мастило на едно място. Трябва също така да имате предвид, че принтерите често печатат черен текст, а цветното мастило е много по-скъпо от черното мастило.

За да се реши този проблем, към набора от бои се добавя черно, това е така нареченият ключов цвят (английски Keycolor), така че полученият модел се обозначава като CMYK. Изображението, което повечето принтери отпечатват, се състои от точки от тези четири цвята, които са подредени в шаблон много близо една до друга. Това създава илюзията, че има различни цветове в дизайна. В допълнение към цветовите модели RGB и CMY (CMYK) има и други. Най-интересният от тях е моделът HSB (англ. Hue - тон, нюанс; Saturation - наситеност, Brightness - яркост), който е най-близо до естественото възприятие на човек. Тонът е например син, зелен, жълт. Наситеността е чистотата на тона; намаляването на наситеността до нула води до сив цвят. Яркостта определя колко светъл или тъмен е даден цвят. Когато яркостта се намали до нула, всеки цвят става черен.

Строго погледнато, цветът, кодиран в моделите RGB, CMYK и HSV, зависи от устройството, на което този цвят ще бъде показан. За кодиране на „абсолютен“ цвят се използва моделът Lab (Lightntess - лекота, a и b - параметри, които определят тона и наситеността на цвета), който е международен стандарт. Този модел се използва например за преобразуване на цветове от RGB в CMYK и обратно.

Обикновено изображенията, предназначени за печат, се подготвят на компютър (в режим RGB) и след това се преобразуват в цветовия модел CMYK. В този случай задачата е да се получи същият цвят при печат като на монитора. И тук възникват проблемите. Факт е, че когато се показват пиксели на екрана, мониторът получава някои числа (RGB кодове), въз основа на които е необходимо да се „боядисат“ пикселите с един или друг цвят. Това води до един важен извод.

Цветът, който виждаме на монитора зависи от характеристиките и настройките на монитора.

Това означава, че например червеният цвят (R=255, G=B=0) ще бъде различен на различните монитори. Сигурно сте виждали този ефект в магазин за телевизори и монитори – една и съща картина изглежда различно на всеки от тях. Какво да правя?

Първо, мониторът се калибрира - регулиране на яркостта, контраста, бялото, черното и сивото. Второ, професионалистите, които работят с цветни изображения, използват цветни профили за монитори, скенери, принтери и други устройства. Профилите съхраняват информация за това кои реални цветове съответстват на различни RGB кодове или CMYK кодове. За създаване на профил се използват специални устройства - калибратори (колориметри), които "измерват" цвета с помощта на три сензора, които получават лъчи в червения, зеления и синия диапазон. Съвременните графични файлови формати (например форматът .PSD на програмата Adobe Photoshop), заедно с пикселните кодове, съдържат и профила на монитора, на който е създаден чертежът. За да може резултатът от печат на принтера да бъде възможно най-сходен с изображението на монитора, е необходимо (с помощта на профила на монитора) да се определи „абсолютният“ цвят (например в лабораторния модел), който потребителят видя и след това (с помощта на профила на принтера) да намери CMYK кода, който ще даде най-близкия цвят при отпечатване.

Проблемът е, че не всички цветове в RGB модел могат да бъдат отпечатани. Това се отнася преди всичко за ярки и наситени цветове. Например, яркочервеният цвят (R=255, G=B=0) не може да бъде отпечатан най-близкият цвят в модела CMYK (C=0, M=Y=255, K=0), когато се преобразува обратно в RGB; дават стойности в областта на R=237, G=28, B=26. Следователно, когато преобразувате ярки цветове в CMYK (и когато отпечатвате ярки дизайни), те стават по-тъмни. Професионалните дизайнери трябва да вземат това предвид.

И така, с растерно кодиране изображението се разделя на пиксели (семплирани). На всеки пиксел се присвоява един цвят, който най-често се кодира с помощта на RGB код. На практика тези операции се извършват от скенер (устройство за въвеждане на изображение) и цифров фотоапарат.

Растерното кодиране има следните предимства:

  • универсален метод (всяко изображение може да бъде кодирано);
  • · единственият метод за кодиране и обработка на замъглени изображения без;
  • · ясни граници, например снимки.

Растерното кодиране има недостатъци:

  • · при вземане на проби винаги има загуба на информация;
  • · при промяна на размера на изображението цветът и формата на обектите в картината се изкривяват, тъй като при увеличаване на размера е необходимо по някакъв начин да се възстановят липсващите пиксели, а при намаляване няколко пиксела трябва да бъдат заменени с един;
  • · размерът на файла не зависи от сложността на изображението, а се определя само от резолюцията и дълбочината на цвета;
  • · По правило растерните изображения имат голям обем.

Има много различни формати за растерна графика. Най-често срещаните са следните:

BMP (английски bitmap - растерно изображение, файлове с разширение .bmp) - стандартен формат в операционна системапрозорци; поддържа paletted и truecolor кодиране;

JPEG (на английски: JointPhotographicExpertsGroup - съвместна група от експерти фотографи, файлове с разширение .jpg или .jpeg) - формат, разработен специално за кодиране на снимки; Поддържа само истински цветови режим; За намаляване на размера на файла се използва силна компресия, която леко изкривява изображението, така че не се препоръчва да се използва за чертежи с ясни граници;

GIF (на английски: GraphicsInterchangeFormat - формат за обмен на изображения, файлове с разширение .gif) - формат, който поддържа само кодиране с палитра (от 2 до 256 цвята); за разлика от предишните формати, части от картината могат да бъдат прозрачни, т.е. фонът ще „свети“ на уеб страницата; съвременната версия на GIF формата може да съхранява анимирани изображения; използва се компресия без загуби, т.е. изображението не се изкривява по време на компресията;

PNG (PortableNetworkGraphics - преносими мрежови изображения, файлове с разширение .png) - формат, който поддържа както истински цветови режим, така и кодиране на палитри; части от изображението могат да бъдат прозрачни и дори полупрозрачни (32-битово RGBA кодиране, където четвъртият байт определя прозрачността); изображението се компресира без изкривяване; анимацията не се поддържа.

Свойствата на разглежданите формати са обобщени в таблицата:

Таблица 3

Вече знаете, че всички видове информация се съхраняват в компютърната памет под формата на двоични кодове, тоест вериги от нули и единици. След получаване на такава верига е абсолютно невъзможно да се каже дали това е текст, рисунка, звук или видео. Например, кодът 11001000 2 може да представлява числото 200, буквата "I", един от компонентите на цвета на пиксела в истински цветен режим, номера на цвета в палитрата за картина с палитра от 256 цвята, цвета от 8 пиксела в черно-бяла снимка и др. Как компютърът разбира двоичните данни? На първо място, трябва да се съсредоточите върху разширението на името на файла. Например най-често файловете с разширение .txt съдържат текст, а файловете с разширение .bmp, .gif, .jpg, .png съдържат картини.

Разширението на файла обаче може да се промени по желание. Например, можете да накарате текстовия файл да има разширение .bmp и картината в JPEG формат- разширение.txt. Следователно до началото на всички файлове специални формати(с изключение на обикновен текст, .txt) се записва заглавка, по която можете да „разберете“ типа на файла и неговите характеристики. Например BMP файловете започват със знаците "BM", а GIF файловете започват със знаците "GIF". Освен това заглавието показва размера на картината и нейните характеристики, например броя на цветовете в палитрата, метода на компресиране и т.н.

Използвайки тази информация, програмата „дешифрира“ основната част от файла и я показва на екрана.

а) б)

Фигура 6.3 – Растерен чертеж

а) растерни; б) чертежно моделиране

Растерното изображение е набор от квадратни пиксели. Определя се размерът на квадрата резолюция. Разделителната способност е броят пиксели на единица дължина на изображението. Разделителната способност се измерва в пиксели на инч. ppi – пиксели на инч. Например, разделителна способност от 254 ppi означава, че има 254 пиксела на инч (25,4 mm), така че всеки пиксел е с размер 0,1 × 0,1 mm. Колкото по-висока е резолюцията, толкова по-точно (по-ясно) е моделиран чертежът.

6.2 Цветово кодиране

Всеки пиксел е кодиран с цвят. Например за черно-бяла картина бялото е 1, черното е 0. Тогава картина 6.3 може да бъде кодирана от матрица 4 9, чиито първи три реда, попълнени с кодове, са показани по-долу:

Ами ако рисунката е цветна? Например дизайн на флаг, който използва 4 цвята - черен, бял, червен, син (Фигура 6.4, а). Приложението предоставя цветен чертеж.

син
червен

Фигура 6.4 – Кодиране на цветно растерно изображение;

а) растерно изображение; б) матрица за кодиране на шаблони

Необходими са 2 бита за кодиране на една от четирите цветови опции, така че кодът за всеки цвят (и кодът за всеки пиксел) ще се състои от два бита. Нека 00 представлява черно, 01 червено, 10 синьо и 11 бяло. След това получаваме таблица с кодове (Фигура 6.4, b).

6.2.1 Цветно кодиране на екрана

Смята се, че всяка излъчваницвят може да се симулира само с три светлинни лъча (червен, зелен и син) с различна яркост. Следователно всеки цвят (включително „белият“) може грубо да се разложи на три компонента – червено, зелено и синьо. Чрез промяна на яркостта на тези компоненти можете да създавате всякакви цветове. Този цветови модел се нарича RGB след началните букви на английските думи. червен- червен, зелено– зелено и син– синьо (Фигура 6.5, а). Цветният чертеж е даден в приложението.



В RGB модела яркостта на всеки компонент най-често се кодира като цяло число от 0 до 255. В този случай цветният код е тройка от числа (R, G, B), яркостта на отделните компоненти. Цветът (0,0,0) е черен, а (255,255,255) е бял. Ако всички компоненти имат еднаква яркост, се получават нюанси на сивото от черно до бяло. Например (75,75,75) е тъмно сиво, а (175,175,175) е светло сиво.

За да направите светлочервен (розов) цвят, трябва да увеличите яркостта на зеления и синия цвят еднакво в червения цвят (255,0,0), например (255, 155, 155) - това е розов цвят. Това може да се провери в редактора на MSWord, инструмент - цвят на текста - други цветове... - спектър(Фигура 6.5,b).

а) б)


Фигура 6.5 – RGB цветен модел;

а) RGB модел; б) инструмент за цвят на текста в MSWord

Някои цветови кодове са представени по-долу в таблица 6.1.

Таблица 6.1 – Цветови кодове

Има общо 256 опции за яркост за всеки от трите цвята. Това ни позволява да кодираме 256 3 = 16 777 216 нюанса (повече от 16 милиона), което е повече от достатъчно за човек. защото
256 = 2 8 , всеки от трите компонента заема 8 бита или един байт в паметта, а цялата информация за определен цвят заема 24 бита (или три байта). Това количество се нарича дълбочина на цвета.



Дълбочина на цветае броят битове, използвани за кодиране на цвета на пиксел.

На всеки пиксел се разпределят от 1 бит до 3 байта видео памет ( изображението се формира във видеопаметта). Например:

Монохромен режим, 2 цвята (черно и бяло) - 1 бит (Фигура 6.3, b).

Цветен режим, 8 цвята – 3 бита. Червено=0; 1. Зелено=0; 1. Синьо=0; 1. RGB= 2 3 = 8.

Цветен режим, 16 цвята – 4 бита; i = 0; 1 – интензитет (ярко, слабо); i RGB = 2∙2 3 = 2 4 = 16 (Таблица 6.2).

Цветен режим, 256 цвята – 8 бита; i = 00000 ,…, 11111 = = 2 5 = 32 степени на интензитет; i RGB = 2 5 * 2 3 = 2 8 = 256.

Или 2 степени на интензитет и 2 RGB цвята
i 2 R 2 G 2 B 2 = 4*4*4*4 =2 8 = 256 (Таблица 6.3).

Цветен режим, 16 милиона цвята – 3 байта = 24 бита
(Фигура 6.5, b).

Таблица 6.2 – Кодове за генериране на 16 цвята

Цвят i RGB
черен
Син
Зелено
Циан (синьо-зелен)
червен
Магента (лилаво)
кафяво
Светло сиво
Тъмно сиво (тъмно сиво)
Светло синьо (ярко синьо)
Светло зелено (ярко зелено)
Светло циан (тюркоаз)
Светло червено (ярко червено)
Светло магента (люляк)
Жълто
Бяло

Таблица 6.3 – Кодове за генериране на 256 цвята

i Р Ж б
∙∙∙ ∙∙∙ ∙∙∙ ∙∙∙

24-битовото цветно кодиране често се нарича режим истински цвят(Английски) Истински цвят- истински цвят). За да изчислите обема на картина в байтове с това кодиране, трябва да определите общия брой пиксели (умножете ширината и височината) и резултата да умножите по 3, тъй като цветът на всеки пиксел е кодиран в три байта. Например изображение с размери 20x30 пиксела, кодирано в истински цвят, би заело 20x30x3 = 1800 байта.

В допълнение към истинския цветови режим се използва и 16-битово кодиране. Висок цвят– „висок“ цвят), когато пет бита са разпределени за червения и синия компонент и шест бита за зеления компонент, към който човешкото око е по-чувствително (общо 16 бита). В режим High Color могат да бъдат кодирани 2 16 = 65536 различни цвята. Мобилните телефони използват 12-битово цветово кодиране (4 бита на компонент, 2 12 = 4096 цвята).

Връзката между дълбочината на цвета и броя на образуваните цветове може да бъде показана в таблица 6.4.

Таблица 6.4 – Дълбочина на цвета и брой цветове

Като общо правило, колкото по-малко цветове се използват, толкова по-деформирано ще бъде цветното изображение. По този начин, когато се кодира цвят, също има неизбежна загуба на информация, която се „добавя“ към загубите, причинени от семплирането. Дискретизация възниква, когато една картина се замени с набор от квадратни пиксели. Въпреки това, тъй като броят на използваните цветове се увеличава, размерът на файла също се увеличава. Например в режим истински цвятфайлът ще бъде два пъти по-голям от
12-битово кодиране.

Много често (например в диаграми, диаграми и чертежи) броят на цветовете в изображението е малък (не повече от 256). В този случай използвайте кодиране с палета.

Цветова палитрае таблица, в която всеки цвят, определен като компоненти в RGB модела, е свързан с цифров код.

Размер на палитрата– това е броят на байтовете, показващи цветовете на палитрата.

Например черно-бяла палитра, само 2 цвята (Фигура 6.3):

ü черно: RGB код (0,0,0); двоичен код 0 2 ;

ü бяло: RGB код (255,255,255); двоичен код 1 2 .

Тук размерът на палитрата е 6 байта.

Кодиране на изображението на флага, четири цвята (Фигура 6.4):

ü черно: RGB код (0,0,0); двоичен код 00 2 ;

ü червено: RGB код (255,0,0); двоичен код 01 2 ;

ü синьо: RGB код (0,0,255); двоичен код 10 2 ;

ü бяло: RGB код (255,255,255); двоичен код 11 2 .

Тук размерът на палитрата е 12 байта.

По-долу са дадени данни за някои опции за кодиране на палитри (Таблица 6.5).

Таблица 6.5 – Опции за кодиране с палитра

Като се имат предвид известните характеристики на екрана на монитора (разделителна способност на екрана и брой цветове на пикселите), можете да изчислите минималното количество видео памет за формиране на висококачествено изображение (Таблица 6.6).

Таблица 6.6 – Капацитет на видео паметта

6.2.2 Цветово кодиране на хартия

RGB кодирането най-добре описва цвета, който се излъчва от някое устройство, като монитор или екран на лаптоп. Когато гледаме изображение, отпечатано на хартия, ситуацията е съвсем различна. Виждаме не директни лъчи от източника, влизащи в окото, а отразени от повърхността. „Бяла светлина“ от някакъв източник (слънце, електрическа крушка), съдържаща вълни в целия видим диапазон, пада върху хартията, върху която е нанесена боята. Боята поглъща част от лъчите (енергията им се изразходва за нагряване на хартията), а останалите отразени цветове влизат в окото, това е цветът, който виждаме.

Например, ако боята абсорбира червените лъчи, само сините и зелените лъчи се отразяват - виждаме синьо. В този смисъл червеният и синият цвят се допълват взаимно, точно както двойките „зелено-виолетово” и „синьо-жълто”. Наистина, ако „извадите“ зеленото от бялото, получавате виолетовия цвят, а ако „извадите“ синьото, получавате жълтия цвят.

Нека отбележим синонимите на цветовете: виолетово = лилаво.

Съотношенията на падащите и отразените цветове са показани по-долу (Таблица 6.7).

Таблица 6.7 – Съотношения на падащи и отразени цветове

Цветовият модел е изграден върху три допълнителни цвята - син, виолетов и жълт CMY(Английски) Циан- син, Магента- виолетово, Жълто– жълт), който се използва за печат (Фигура 6.6b). По този начин цветовите модели RGB и CMY са обратими (Фигура 6.7). Цветният чертеж е показан в приложението.

Фигура 6.6 – Цветни модели;

а) RGB модел (за монитор); б) моделCMY (за принтер)

Фигура 6.7 – Обратими цветни модели

Стойностите C=M=Y=0 показват това на бяла хартия
не се нанася боя, така че всички лъчи се отразяват, бял е.

При нанасяне на сини, виолетови и жълти бои, теоретично цветът трябва да е черен (Фигура 6.6b), всички лъчи се абсорбират. На практика обаче цветовете не са идеални, така че вместо черно цветът се оказва мръсно кафяв. Освен това, когато печатате черни области, трябва да „излеете“ тройна порция мастило на едно място. Трябва също така да имате предвид, че принтерите често печатат черен текст, а цветното мастило е много по-скъпо от черното мастило.

За да се реши този проблем, към комплекта боя се добавя черно, това е т.нар ключцвят (английски) Keycolor), така че полученият модел е означен CMYK.

В допълнение към цветовите модели RGB и CMY (CMYK) има и други. Най-интересното от тях е моделът HSB(англ. Hue - тон, нюанс; Saturation - наситеност, Brightness - яркост), което е най-близо до естественото възприятие на човек. Тонът е например син, зелен, жълт. Наситеността е чистотата на тона; намаляването на наситеността до нула води до сив цвят. Яркостта определя колко светъл или тъмен е даден цвят. Когато яркостта се намали до нула, всеки цвят става черен.

6.3 Характеристики на растерното кодиране

При растерно кодиране изображението се разделя на пиксели (семплирани). За всеки пиксел се определя цвят, който най-често се кодира с помощта на RGB кода.

Растерното кодиране има достойнство:

ü универсален метод (всяко изображение може да бъде кодирано);

ü единственият метод за кодиране и обработка на размазани изображения, които нямат ясни граници, като например снимки;

И недостатъци:

ü по време на вземане на проби винаги има загуба на информация;

ü при промяна на размера на изображението цветът и формата на обектите в картината се изкривяват, тъй като при увеличаване на размера е необходимо по някакъв начин да се възстановят липсващите пиксели, а при намаляване няколко пиксела трябва да бъдат заменени с един;

ü размерът на файла не зависи от сложността на изображението, а се определя само от резолюцията и дълбочината на цвета; По правило растерните изображения имат голям обем.

Има много различни формати за растерна графика. Най-често срещаните файлови разширения са:

.bmp(Английски bitmap - bitmap) - стандартен формат в операционната зала Windows система; поддържа paletted и truecolor кодиране;

.jpgили .jpeg(англ. Joint Photographic Experts Group - съвместна група от експерти фотографи) - формат, разработен специално за кодиране на снимки; Поддържа само истински цветови режим; За намаляване на размера на файла се използва силна компресия, която леко изкривява изображението, така че не се препоръчва да се използва за чертежи с ясни граници;

.gif(на английски: Graphics Interchange Format - формат за обмен на изображения) - формат, който поддържа само кодиране с палитра (от 2 до 256 цвята); за разлика от предишните формати, части от дизайна могат да бъдат прозрачни; в модерната версия можете да съхранявате анимирани изображения; използва се компресия без загуби, т.е. изображението не се изкривява по време на компресията;

.png(на английски: Portable Network Graphics - преносими мрежови изображения) - формат, който поддържа както истински цветови режим, така и кодиране на палитри; части от изображението могат да бъдат прозрачни и дори полупрозрачни (32-битово RGBA кодиране, където четвъртият байт определя прозрачността); изображението се компресира без изкривяване; анимацията не се поддържа.

6.4 Забележка относно кодирането на файла

По-рано беше казано, че всички видове информация се съхраняват в паметта на компютъра под формата на двоични кодове, тоест вериги от нули и единици. След получаване на такава верига е абсолютно невъзможно да се каже дали това е текст, рисунка, звук или видео. Например, кодът 11001000 2 може да представлява числото 200, буквата „I“, един от компонентите на цвета на пиксела в истински цветен режим, номера на цвета в палитрата за картина с палитра от 256 цвята, цвета от 8 пиксела в черно-бяла картина и т.н. Как компютърът разбира двоичните данни? На първо място, трябва да се съсредоточите върху разширението на името на файла. Например най-често файловете с разширение .txt съдържат текст, а файловете с разширение .bmp, .gif, .jpg, .png съдържат картини.

Разширението на файла обаче може да се промени по желание. Например, можете да накарате текстов файл да има разширение .bmp, а картина в JPEG формат да има разширение .txt. Следователно в началото на всички файлове със специални формати (с изключение на обикновен текст, .txt) се записва заглавка, чрез която можете да „разберете“ типа на файла и неговите характеристики. Например BMP файловете започват със знаците "BM", а GIF файловете започват със знаците "GIF". Освен това заглавието показва размера на картината и нейните характеристики, например броя на цветовете в палитрата, метода на компресиране и т.н. Използвайки тази информация, програмата декодира (дешифрира) основната част от файла и я показва на екрана.

6.5 Въпроси и задачи

1. Кои два принципа на шаблонно кодиране се използват в компютърна технология?

2. Защо не можем да измислим един единствен метод за кодиране на картини, който да е подходящ във всички ситуации?

3. Каква е идеята зад растерното кодиране?
Какво е растер?

4. Каква е идеята зад векторното кодиране? Какво е графичен примитив?

5. Какво е пиксел? Как е образувана такава дума?

6. Какво е вземане на проби от шаблон? Защо е необходимо?

7. Какво се губи, когато една снимка се дигитализира?

8. Какво е резолюция (на екран, принтер)? В какви единици се измерва?

9. Какво е дълбочина на цвета? В какви единици е
измерено?

10. Какво е режим True Color?

11. Какво представлява режимът High Color?

12. Какво е кодиране на палитри? Как се различава фундаментално от истинския цветен режим?

13. Какви са предимствата и недостатъците на растерното кодиране?

14. Какви са предимствата и недостатъците на векторното кодиране?

15. В какви формати е препоръчително да запазвате снимки?

16. В какви формати е препоръчително да записвате чертежи и чертежи с ясни граници?

17. Как ще бъде написан кодът за следващата снимка? Черно-бяло растерно изображение се кодира ред по ред, започвайки отляво горен ъгъли завършва в долния десен ъгъл. При кодиране 0 представлява черно, а 1 представлява бяло.

Решение. Въвеждането на кода на изображението ще бъде както следва:

010100 011111 101010 011101 = 010100011111101010011101 2 =

24375235 8 = 51FAD 16 .


Списък на използваните източници

1. Андреева Е. В. Математически основи на компютърните науки: учебник. помощ / Е. В. Андреева, Л. Л. Босова, И. Н. Фалина. – М.: БИНОМ. Лаборатория на знанието, 2007.

2. Поспелов Д. А. Аритметични основи на дискретни изчислителни машини / Д. А. Поспелов. – М.: Енергия, 1970.

3. Савельев А. Я. Аритметика и логически основи на цифровите автомати / А. Я. Савелиев. – М.: Висше училище, 1980.

4. Поздняков С. Н. Дискретна математика: учебник
/ С. Н. Поздняков, С. В. Рибин. – М.: Академия, 2008.

5. Хартли Р.В.Л. Трансфер на информация / Р.В.Л
// Теория на информацията и нейните приложения. – М.: Физматгиз, 1959.

6. Шанън К. Математическа теория на комуникацията. (Shannon C.E. A Mathematical Theory of Communication. Bell System Technical Journal. – 1948. – стр. 379-423, 623-656).

7. Юшкевич А. П. История на математиката през Средновековието
/ А. П. Юшкевич. – М.: Физматгиз, 1961.



Свързани публикации