8. Kódování barev u obrázků
Opakování (stáhnout obrázky 09 z Teams)
- text - znaky - diakritika, interpunkce; slova
- znakové sady ASCII (CR, LF), ANSI, UTF-8 (BOM)
- textové editory - PSPad, VSC (dodělat, co se nestihlo)
Teorie
- navázat na PGR - viz prezentace na úvod
- zdroje a úprava grafiky - software, snímání skutečnosti
- 2D bitmapová grafika -
wiki =
mřížka (rastr) pixelů - obr.
- velikost šířka x výška [Mpx] - obr. - viz obrázky v cvičení/08
- barevná
hloubka - obr. - ukázat v GIMPu
- barvy - nejč. 3x byte = 24 bitů na px
RGB, další barevné modely - např. CMYK pro tištěné dokumenty
- stupně šedi (grayscale), také jas (lightness v barevném modelu HSL, brightness) = 8 bitů na px
- pozn. stupeň šedi lze vypočítat jako aritmetický průměr z RGB, ale výsledek neodpovídá vnímání lidského oka, proto se používají složitější výpočty - www
- černobílý (b&w, monochrom) - může být i jiná kombinace
barev = 1 bit na px
- rozlišení v DPI - obr.
- kódování barev obrázků - cílem je nahradit barvy
pixelů čísly, které lze snadno přenášet/uchovat v binárním kódu
- Pozn. souborové formáty nedělat - probírá se samostatně později
Software - nástroje
- Fotky - Informace (Alt+Enter)
- Malování - Zobrazení - Pravítka, Mřížka
- PSPad - Nástroje - Výběr barvy, Zobrazit barvu,
Kapátko
- VSC - prohlížení obrázků (použít obrázky v
cvičení/08)
Zápis:
8. Kódování barev
- **2d bitmapová grafika** = mřížka pixelů s různou barvou
- **barevná hloubka**
- **plné barvy RGB** (barva má 3 složky = červená, zelená, modrá) - každá složka se ukládá na 1 Byte (0-255), 0=bez barvy, 255=plná barva
- **stupně šedi** - 256 stupňů (1 Byte)
- **černá/bílá** - pixel je černý nebo bílý (1 bit v hodnotách 0/1)
- příklad: barevný obrázek 8x8=64px potřebuje 3x64=196 bytů, ve stupních šedi zabere 64 bytů, v černobílé variantě 64 bitů = 8 bytů
Cvičení v Excelu (otevřít Kódování_obrázků.xlsx) - porovnat spotřebu
místa
- Návrh kódování černobílého obrázku (monster.png) do tabulky v Excelu (náhrada barev binárními čísly)
- GIMP: Upravit - Předvolby - Výchozí mřížka nastavit na 1 px
- otevřít obrázek monster.png v GIMPu a zvětšit, zobrazit mřížku (Zobrazení - Zobrazovat mřížku)
- Zjistit velikost obrázku a v Excelu si ohraničit buňky
- Návrh jednotných pravidel
- šířka obrázku = počet sloupců tabulky
- výška obrázku = počet řádků
- do buněk hodnoty 0 (černá) nebo 1 (bílá) = 1 bit
- nakonec zakódovat řádky jako 2x Byte pomocí kalkulačky - vytvořit
sloupec čísel
- demonstrovat dálkový přenos obrázku v binárním kódu pomocí světla
- zamyslet se nad komprimací obrázku
- pozn. jak se obrázek zakóduje do souboru určuje souborový formát
- Návrh kódování obrázku se stupni šedé (tree.png)
- podle času
- využít kapátko z PSPadu (redukovat na 1 byte) - zapsat pomocí
=HEX2DEC("ff")
- demonstrovat dálkový přenos obrázku v binárním kódu pomocí světla
- do buněk hodnoty 0 (černá) až 255 (bílá) = 1 byte
- Návrh kódování barevného obrázku RGB (man.png)
- 3x oblast (R G B) podle vel. obrázku
- podle kapátka zapsat bo buňky 3x byte na pixel (v hexadecimální
soustavě) - zase pomocí HEX2DEC - např. =HEX2DEC("ffffff")
- vytvořit obrázek v Excelu vyplňováním buněk barvou přes formát buněk - výplň - další barvy - záložka vlastní
- vypočítat převod barvy do stupňů šedi pomocí aritmetického průměru a vytvořit obrázek ve stupních šedi v Excelu - použít barevný model HSL
Závěrečné cvičení:
- dekódovat sloupec 8 desítkových čísel do černobílého obrázku 8x8
(viz Kódování_obrázků.xlsx - list Dekódování)