Obecne se da rici, ze vektorove formaty obsahuji vice informaci, nez formaty rastrove. Krome vzhledu entity pri danem zpusobu zobrazeni, danem meritku atd. totiz obsahuji informace, na zaklade kterych je mozne odvodit i vzhled a dalsi vlastnosti entit v pripade zmeny zobrazeni. Proto take prevod kresby z vektoroveho formatu do formatu rastroveho (rastrace) je radove jednodussi ulohou nez prevod z formatu rastroveho do formatu vektoroveho (vektorizace).
S rastrovymi formaty se snaze pracuje tehdy, pozaduje-li se jejich zobrazeni na vystupnim zarizeni pocitace, nebo naopak vstup dat ze vstupniho zarizeni. Vetsina periferii dnesnich pocitacu (obrazovka, tiskarna, skener) totiz pracuje s daty v rastrove podobe.
Cernobilou bitmapu lze zobecnit na bitmapu ve stupnich sedi. Uchovavana hodnota na jednom policku matice pak nebude jen jeden bit, ale cislo oznacujici prislusny stupen sedi pro dany pixel. Pro zobrazeni bitmapy se stupni sedi na cernobilem vystupnim zarizeni se pouziva technika polotonovani.
V barevne bitmape se na jednom policku matice uchovava informace o barve tohoto policka v domluvenem barevnem modelu.
Libovolnou barvu lze pak vyjadrit jako linearni kombinaci tri zakladnich barev RGB, tedy jako vektor [r,g,b], kde r,g,b jsou hodnoty mezi 0 a 1. Napriklad bod [0,0,0] odpovida barve cerne, [1,1,1] barve bile, [1,1,0] barve zlute (Y, yellow), [1,0,1] barve fialove (M, magenta) a [0,1,1] barve tyrkysove (C, cyan). Body na hlavni uhlopricce jednotkove krychle, tedy body [x,x,x] pro x od 0 do 1 odpovidaji stupnum sedi.
Barvy vyjadrene v modelu RGB lze skladat podle aditivniho pravidla. Vektor barvy vznikle spojenim dvou barev vznikne jako soucet vektoru dilcich barev.
Model RGB je nejblizsi beznemu lidskemu vnimani barev a je nejcasteji pouzivan v rastrovych formatech pocitacove grafiky. Zobrazovani barev v modelu RGB se tez snadno technicky realizuje na monitoru pocitace.
V modelu CMY odpovida vrchol krychle [0,0,0] barve bile a vrchol [1,1,1] barve cerne. Skladani barev v modelu CMY je subtraktivni. Barva vznikla slozenim dvou barev vznikne odectenim souctu doplnku techto barev.
Model CMY se vyhodne pouziva pri tisku, kdy jednotlive barvy lze ziskat jako soutisk tri doplnkovych zakladnich barev vytistenych na bilem pozadi.
Barvu cernou je mozne ziskat jako soutisk tri doplnkovych barev CMY v plne intenzite. Diky nepresnostem pri tisku nebude tento soutisk vzdy dokonaly. Navic barevny tisk je vzdy drazsi nez tisk pouhou cernou barvou. Tato fakta spolu s faktem, ze cerna barva stale ve vetsine tiskovin, byt barevnych, prevlada, vedla ke vzniku modelu CMYK.
V modelu CMYK jsou tri doplnkove zakladni barvy CMY doplneny o barvu cernou (K, blacK). V pripade tisku cernou barvou, je pak tato barva vyjadrena vektorem (0,0,0,1). U ostatnich barev muze ctvrta souradnice vektoru slouzit k vyjadreni svetlosti ci tmavosti daneho barevneho odstinu.
Tento nedostatek modelu RGB a CMY odstranuji modely HSV (ton, sytost, jas) a HLS (ton, svetlost, sytost).
V modelu HSV jsou barvy rozlozeny v pravidelnem sestibokem jehlanu. Vrcholy podstavy jehlanu odpovidaji jednotlivym sesti zakladnim barvam (RYGCBM -- cervena, zluta, zelena, tyrkysova, modra, fialova). V techto bodech jsou barvy zcela syte a jasne. Body na postave jehlanu jsou jasne barvy vznikle kombinaci jednotlivych zakladnich barev. Ve stredu podstavy jehlanu se nachazi kombinace vsech zakladnich barev, tedy barva bila. Smerem k vrcholu jehlanu klesa jas a tim i schopnost rozlisit jednotlive spektralni barvy (jehlan se zuzuje). Ve vrcholu jehlanu je jas roven 0, coz odpovida barve cerne. Kolmice spustena z tohoto vrcholu na podstavu odpovida jednotlivym odstinum sedi.
Model HSV vykazuje jiste nedostatky, ktere castecne odstranuje dalsi model nazyvany HLS. Barvy zde tvori spojeny dvoukuzel. Na obvodu podstavy se nachazi zakladni barvy (RYGCMB s plnou sytosti a prumernym jasem. Smerem k jednomu vrcholu jehlanu klesa jas a ve vrcholu se pak nachazi barva cerna. Smerem k druhemu vrcholu naopak jas stoupa, tim tez klesa moznost rozliseni jednotlivych spektralnich barev a ve vrcholu se nachazi barva bila. Ve stredu dvoukuzeli se nachazi smes vsech zakladnich barev s nulovou sytosti a prumernym jasem, tedy barva seda.
Namisto jednoho pixelu bude jednomu policku tvoricimu matici bitmapy odpovidat skupina pixelu. Tato skupina obsahuje minimalne tolik pixelu, kolik stupnu sedi chceme zobrazit. Napriklad pro stupnici 16ti odstinu sedi vystacime s metapixelem velikosti 4x4 pixelu. V tomto metapixelu rozsvitime vzdy tolik pixelu bilou barvou, kolik odpovida danemu stupni sedi. Pixely, ktere budou v ramci matapixelu rozsviceny je nejlepe vybirat nahodne, aby nedochazelo k nezadoucim optickym jevum.
V metode RLM se postupuje po radkach jednotlivych pixelu. Pokud nejaky radek obsahuje usek dvou a vice pixelu stejne barvy, lze tento usek nahradit poctem opakovani teto stejne hodnoty a pak pouze jednou uvedenou hodnotou konkretni barvy. Pro obrazky obsahujici velke jednobarevne plochy se tak velikost uchovavanych dat velmi zmensi.
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Ve vyjadreni obycejnou bitmapou budeme potrebovat 64 bitu. Pri kodovani metodou RLM dostaneme nasledujici zapis:
Metody zalozene na slovniku lze s uspechem pouzit i pro komprimaci souboru obsahujicich jina data nez rastrove obrazky, napriklad pro textove dokumenty. Jednou z metod zalozenych na slovniku je metoda LZV, kterou pouzivaji zname kompresni programy arj a pkzip.
takove barevne prechody lze vsak zakodovat metodami, pri kterych se sice cast informaci o barvach ztrati, ale vysledna ztrata kvality obrazku po zakodovani a opetnem rozkodovani je natolik mala, ze je obvykle lidskym okem obtizne postrehnutelna nebo uplne nepostrehnutelna. Kompresnim metodam, ktere takove kodovani pouzivaji,rikame kompresni metody se ztratou informace.
Nejjednodussi kompresni metodou se ztratou informace je metoda linearni transformace. Pokud na nejakem useku obrazku dochazi ke spojitemu prechodu mezi dvema barvami, ktery probiha priblizne linearne (ve smyslu usecky v prostoru RGB), lze tento usek obrazku nahradit pouze informaci o barvach dvou krajnich bodu usecky a o linearnim prubehu zmeny barev. U slozitejsich metod lze popsat i jine zmeny barev nez linearni.
U kompresnich metod se ztratou informace lze obvykle volit kompresni pomer, na kterem pak (neprimo) zavisi kvalita zakodovani obrazku. Pri vhodne zvolene kompresni metode a kompresnim pomeru muze byt efektivita zakodovani barevnych obrazku velmi vysoka i pri zachovani temer uplne kvality obrazku.
Ztratove metody komprese najdou uplatneni predevsim tak, kde je nutne vyrazne omezit mnozstvi dat popisujicich obrazek. Prikladem muze byt prenaseni obrazku po siti, napriklad ve forme WWW stranek obsahujicich graficke prvky.
Cely obrazek lze rozdelit na 4 kvadranty. Pokud nektery z kvadrantu obsahuje jiz pouze jednobarevnou plochu, bude cely zakodovan jednou cislici, popisujici jeho barvu. Pokud kvadrant obsahuje vice barev, bude dale rozdelen 4 mensi kvadranty. Toto deleni pokracuje tak dlouho, dokud nebude dosazeno pouze jednobarevnych ploch (k tomu dojde nejpozdeji na urovni jednotlivych pixelu). Deleni lze tez zastavit pokud bude dosazeno nejake predem dane presnosti zobrazeni. Barvu jednotlivych kvadrantu, ktere obsahuji vice nez jeden pixel pak lze ziskat napriklad jako prevladajici barvu v teto skupine pixelu, nebo jako vektorovy prumer barev techto pixelu (v prostoru RGB).
Kvadrantove stromy maji vyuziti nejen pri kodovani rastrovych obrazku, ale i pri uchovani a kodovani jakychkoliv dat majicich vicerozmerny charakter (prikladem mohou byt datove sklady).
SLozitejsi vektorove formaty obsahuji krome samotnych geometrickych prvku i dalsi informace. Temi mohou byt napriklad barva cary, typ cary, odkaz do baze dat, kde je popsany vyznam daneho prvky a podobne.
Vektorove datove formaty nelze obvykle primo zobrazovat na vystupnim zarizeni pocitace (s vyjimkou perovych plotru). Pred jejich vykreslenim je tedy nutno provest prevod to formatu rastroveho, tzv. rastraci. Kvalita kresby pak zalezi na kvalite teto rastrace. Rada programu pouziva pro jednoduche pracovni vykresleni kresby jednoduche a rychle rastracni algoritmy a pro kvalitni zaverecne vykresleni pak algorimty dokonalejsi a pomalejsi.
Jednim z jednoduchych vektorovych formatu je format HPGL (Hewlet Packard Graphic Language). Tento format obsahuje v textove podobe informace o geometrii jednotlivych entit. Rada plotru obsahuje primo hardwarove zabudovany interpret tohoto formatu.
Neoficialnim standardem ve vektorovych formatech pro CAD systemy je format DXF (Drawing Exchange Format) pouzivany puvodne programem AutoCAD. Tento format obsahuje krome samotne geometrie prvku i dalsi informace pouzivane CAD systemy.
Sve vlastni vektorove formaty ma vetsina CAD systemu, stejne tak jako programy pro digitalni model terenu, geograficke informacni systemy a dalsi programy pracujici s grafickou informaci. Ve slozitejsich datovych formatech je casto vlastni graficka informace (geometrie entit) pouze nepatrnou casti uchovavanych dat.
Mezi vektorove graficke formaty lze tez radit format PostScript (EPS). PostScript slouzi pro popis obecneho textoveho dokumentu. Obsahuje informace o poloze jednotlivych znaku (pismen, dalsich znaku a grafickych symbolu) na listu papiru a o jejich vlastnostech (pouzitem fontu, velikosti pisma atd.). PostSript lze opet primo interpretovat hardwarem mnoha tiskaren.
Specialnim pripadem vektorizace je proces OCR (Optical Character Recognizing), tedy rozpoznavani pisma. Pri tomto procesu je ze vstupniho rastroveho souboru obsahujiciho obrazek textu generovan textovy soubor.
Hlavnim problemem rastracnich algoritmu je jejich rychlost. Vzhledem k tomu, ze vetsina vystupnich zarizeni pocitace pracuje v rastrovem rezimu a vetsina dat alespon pri praci s vyssimi grafickymi programy (napriklad CAD systemy) je ulozena ve formatech vektorovych, je rastraci vektorovych entit potreba provadet casto a velmi rychle.
Algoritmus DDA ma dve soumerne varianty pro usecky se smernici mezi 0 a 1 a pro usecky se smernici mezi 1 a nekonecnem. Popiseme si prvni variantu tohoto algoritmu.
Na zaklade znalosti koncovych bodu usecky (x1,y1) a (x2,y2) se urci smernice usecky m a jeji prevracena hodnota 1/m. Na zacatku je vykreslen pixel na souradnicich (zaokrouhlene x1, zaokrouhlene x2). Nasleduje 1/m pixelu se stejnou souradnici y a souradnici x postupne se zvetsujici o 1. Pote se zvetsi souradnice y o 1 a postupuje se stejnym zpusobem dale. Vyhodou je velka rychlost tohoto algoritmu, nebot krome pocatecniho urceni smernice usecky neni potreba provadet zadne dalsi matematicke operace, pouze zvetsovani hodnot promennych o 1.
Usecku (i jine entity) lze rastrovat dvema zpusoby -- jako tzv. 8-spojitou, nebo jako tzv. 4-spojitou caru. V pripade 8-spojite cary lezi dva sousedni pixely tvorici entitu vedle sebe ve smeru vodorovnem, svislem, nebo sikmem. V pripade 4-spojite cary musi lezet dva sousedni pixely ve smeru vodorovnem nebo svislem. 8-spojita cara oddeluje dve 4-spojite oblasti, naopak 4-spojita cara oddeluje dve 8-spojite oblasti. V praxi se vetsinou pouzivaji cary 8-spojite (a tedy oblasti 4-spojite).
Algoritmus DDA ma radu variant, ktere umoznuji jeho jeste rychlejsi a presnejsi fungovani. Existuji tez modifikace algoritmu DDA pro krivky zadane kvadratickymi predpisy, napriklad pro kruznici.
Druhou casto pouzivanou metodou pro interpolaci je interpolace polynomem. Mame-li zadano n-bodu, muzeme sestavit polynom (n-1) stupne, ktery bude prochazet vsemi zadanymi body. Polynom ziskame snadno, staci nam napsat si formalne jeho tvar, dosadit do nej hodnoty n namerenych bodu a pak vyresit soustavu n rovnic o n neznamych. Krivka popsana takovym polynomem bude mit spojite vsechny derivace a bude tedy hladka. Pri vetsim poctu bodu nam timto zpusobem ovsem vznikne polynom velmi vysokeho stupne a manipulace s nim bude velmi narocna. Navic krivka vznikla interpolaci polynomem je sice dokonale hladka, ma vsak casto "vykyvy" vetsi, nez by se na prvni pohled zdalo byt z polohy bodu nutne. Proto je interpolaci polynomem vhodne pouzivat jen pri prokladani maleho poctu bodu.
Jednou z aproximacnich metod je metoda nejmensich ctvercu. Pri teto metode aproximujeme posloupnost bodu polynomickou krivkou nizsiho stupne, nez jaky by byl potreba pro jejich interpolaci. Aproximacni krivka pak ma spojite derivace vsech radu, je hladka a pritom je tak jednoducha, jak si predepiseme. Jako kriterium pro kvalitu aproximace se bere soucet druhych mocnin vzdalenosti vsech prokladanych bodu od aproximacni krivky (odtud nazev metody).
Polynom aproximujici posloupnost bodu metodou nejmensich ctvercu lze opet ziskat pomoci reseni vhodne soustavy linearnich rovnic. Jeji velikost je dana stupnem aproximacniho polynomu. Na obrazku vidite krivku tretiho stupne, ktera aproximuje posloupnost 7 bodu metodou nejmensich ctvercu.
Bezierova krivka n-teho stupne je urcena n plus 1 ridicimi body a parametricky muze byt popsana polynomem stupne n.
Zjednodusene se da rici, ze Bezierova krivka nema velke "vykyvy" a posunuti jednoho ridiciho bodu nejakym smerem "vytahne" oblouk krivky timto smerem. Proto je Bezierova krivka vhodna i pro laicke kresleni zakrivenych car a casto se take k tomuto ucelu v ruznych kreslicich programech pouziva.
Nejcasteji se pouzivaji Bezierovy krivky se tremi a ctyrmi ridicimi body. V prvnim pripade je krivka usekem paraboly. Tecny v obou jejich krajnich bodech prochazeji tretim ridicim bodem.
V pripade ctyr ridicich bodu mame zadan pocatecni a koncovy bod a smer tecen v obou techto bodech. Grafem Bezierovy krivky je pak usek kubicke paraboly.
Bezierovy krivky vyssich radu se jiz obvykle nepouzivaji, nebot manipulace s nimi je prilis slozita. Casteji se pouziva metoda podobna metode spline funkci. Posloupnost bodu se rozdeli na useky, ktere se aproximuji Bezierovou krivkou nizsiho stupne. V hranicnich bodech se pak krivky "dostatecne hladce" na sebe navazi. Vysledkem je funkce, ktera sice nema spojite derivace vsech radu, manipulace s ni je vsak podstatne jednodussi.