UNIVERZITA PARDUBICE Fakulta chemicko-technologická Katedra polygrafie a fotofyziky
Poèítaèová grafika v pøedtiskových operacích Ing. Miroslav Fribert, Dr.
Polygrafické sešity 3 (1998)
OBSAH 1. Technické prostøedky poèítaèové grafiky . . . . . . . . . . . . . . . . . . . . 3 2. Programové produkty poèítaèové grafiky . . . . . . . . . . . . . . . . . . . . 8 3. Polotóny, tisk šedých úrovní . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4. Poèítaèové zpracování grafických prvkù tiskové stránky . . . . . . . . . . . 18 5. Základní atributy textu, vlastnosti PostScriptu . . . . . . . . . . . . . . . . 23 6. Formáty grafických dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 7. Dvojrozmìrné transformace . . . . . . . . . . . . . . . . . . . . . . . . . . 31 8. Základní grafické prvky . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 9. Kreslení køivek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 10. Oøezávání a vyplòování oblastí . . . . . . . . . . . . . . . . . . . . . . . . 43 11. Zpracování rastrových obrazù . . . . . . . . . . . . . . . . . . . . . . . . 48 12. Filtrace šumu a zaostøování obrazu. . . . . . . . . . . . . . . . . . . . . . 52
1. Technické prostøedky poèítaèové grafiky Výpoèetní systémy Kdy pøedstavila firma INTEL v roce 1971 svùj první mikroprocesor I 4004, nikdo netušil, e tento vynález zmìní budoucnost celého prùmyslového svìta. Byl poloen základ k tomu, aby velké, drahé a sloité sálové poèítaèe (mainfraimy) byly postupnì modifikovány na stroje s øádovì menšími rozmìry a energetickými pøíkony a s výraznì vyššími výpoèetními výkony. Tyto poèítaèe pracující na nìkolika odlišných platformách pronikly naprosto nekompromisnì do všech odvìtví lidské èinnosti a výraznì zmìnily dosavadní zpùsoby práce a myšlení. A mìly samozøejmì také zásadní vliv na oblast zpracování grafických dat a oblast zpracování publikací. Kdy pomineme superpoèítaèe a ze scény pomalu, ale jistì ustupující sálové poèítaèe, zùstávají tøi poèítaèové platformy vhodné pro oblast poèítaèové grafiky a DTP: • poèítaèe na bázi IBM PC mnoha výrobcù (IBM,Compaq,Hewlett Packard a další) s operaèním systémem Windows • poèítaèe MACINTOSH firmy Apple Computer s operaèními systémy Mac OS • poèítaèe (pracovní stanice-workstations) zaloené na pùvodních procesorech RISC od rùzných výrobcù (IBM, Sun, Digital, Silicon Graphics a další) s operaèními systéy Unix a jejich klony. Poèítaèe PC Architektura a operaèní systém tìchto poèítaèù jsou zaloeny na pùvodním IBM PC, který byl uveden na trh v roce 1981. Všechny tyto poèítaèe pouívají mikroprocesory firmy INTEL Pentium III a IV, nebo jejich klony. V souèasné dobì jsou nejprodávanìjšími poèítaèe PC s procesory s taktovacími frekvencemi1GHZ-2GHz. Uvedu pøíklad základních parametrù výkonného poèítaèe s procesorem Pentium z poloviny roku 2001: Procesor PentiumIII 1.5GHz 64 - 256MB RAM Sbìrnice PCI Videokarta 32MB HD 10GB-40GB SCSI, FD 3,5 palce 1,44MB CD ROM 48x ZIP 100 Mb Nejvìtší pøedností platformy PC je relativnì nízká cena a z toho vyplývající velké mnoství instalovaných systémù a velké mnoství vytvoøených aplikací. Nejvìtším nedostatkem byla v minulosti omezení zpùsobená dodrováním kompatibility se staršími verzemi. Jednalo se pøedevším o problémy rozšiøování operaèní pamìti a víceúlohového reimu a nìkteré další. I kdy Windows 95 a jeho následovníci a také pouití GUI (grafického uivatelského rozhraní) tyto nedostatky vyøešily, je systém Windows dost citlivý na ménì korektní manipulace a tím také ménì spolehlivý. Následující »padání« systému je pøedevším v oblasti zpracování grafiky zásadním nedostatkem.
3
Poèítaèe Macintosh Firma APPLE COMPUTER byla zaloena v roce 1976. Bìhem velmi krátké doby se v oblasti osobních poèítaèù dostala mezi firmy s nejvìtším roèním obratem. Poèítaèe Macintosh byly od zaèátku vyvíjeny nezávisle na platformì IBM PC a vyhnuly se tak jejich nejvìtšímu problému zachovávání kompatibility s pøedchozími verzemi a tím také problémùm s rozšiøováním a rozvíjením výkonnìjších typù poèítaèù. A do nedávné doby byly poèítaèe Macintosh díky dobrému operaènímu systému s pøíjemným grafickým uivatelským rozhraním, snadným rozšiøováním pamìti a jednoduchostí spojování do sítí výhodnìjší pro mnohé aplikace ne poèítaèe platformy IBM PC. Osvìdèily se pøedevším v oblasti grafiky a DTP. Zároveò však byly výraznì draší a tím také ménì rozšiøované ne poèítaèe PC. V souèasné dobì se výkony a ceny poèítaèù obou platforem, pøedevším v oblasti grafických aplikací, v podstatì srovnaly. Uvedu typickou konfiguraci poèítaèe typu Macintosh Power G3 z poloviny roku 1999. Procesor POWER G3 450MHz 64 - 256 MB RAM Sbìrnice PCI HD 12 GB ATA, ZIP 100 MB CD Rom 24 x VideoRAM 32 MB Rozhraní SCSI, AppleTalk, Ethernet Nejvìtší pøedností poèítaèù Macintosh je jeho spolehlivý operaèní systém (v roce 1999 MAC-OS 8) s grafickým uivatelským rozhraním, jednoduchým ovládáním a snadným rozšiøováním pamìti. Další pøedností je pøipojování dalších poèítaèù MAC a PC do heterogenních sítí pøes rozhraní AppleTalk a EtherTalk. Hlavním nedostatkem bylo jisté ustrnutí ve vývoji, co mìlo za následek srovnání výkonù poèítaèù Macintosh a posledních sestav PC s operaèním systémem Windows NT. Oèekávání splnila a v posledních letech spolupráce firem Apple Computer s firmami IBM a Motorola na vývoji procesorù Power PC a novém procesorù G3 a G4, které pøinesly radikální zvýšení výkonu v pøijatelných cenových hladinách (na rozdíl od vìtšiny poèítaèù zaloených na technologii RISC) a získání urèitého náskoku pøed konkurencí. V uvedené dobì se firma APPLE Computer dostala do znaèných ekonomických potíí díky nìkterým chybám v øízení spoleènosti. Pøesto, e nabízí velmi výkonné a spolehlivé stroje, ocitla se její ekonomika v èervených èíslech. Díky navázané spolupráci s firmou Microsoft a návratu zakladatele firmy Steve Jobse se zdá, e by se opìt mohla dostat na výsluní i v ekonomické oblasti. Poèítaèe zaloené na technologii RISC Architektura RISC (Reduced Instruction Set Computing) reprezentuje procesory s omezeným souborem instrukcí (na rozdíl od architektury CISC). Princip èinnosti RISC procesoru je zaloen na poznatku, e pøi bìném zpracování dat se s vìtší èetností pouívá jen malá èást instrukèního souboru procesoru. Z toho vznikla myšlenka realizovat v procesoru jen jednodušší instrukce, pøièem sloitìjší instrukce se realizují programovì. Architektura procesoru s omezeným souborem instrukcí je zákonitì jednodušší, ne u procesorù s architekturou CISC. Vyuitím této skuteènosti je moné do riskového procesoru implementovat technologie pro výrazné zvýšení jeho výkonu. Nejpouívanìjší jsou paralelní zpracování a zøetìzování instrukcí. Tímto zpùsobem se výkon procesoru mùe zvýšit a o øád oproti nejvýkonnìjším procesorùm CISC. Nejznámìjší riskové procesory jsou R7000 firmy Mips, procesory SPARC firmy Sun, procesor ALPHA firmy DEC, procesor HP7100LC firmy Hewlett Packard a procesor Po-
4
wer PC 604 firmy Motorola, který navíc cenou konkuruje procesorùm Pentium a je pouíván i pro platformu Macintosh i pro bìné kanceláøské a domácí poèítaèe. Tyto procesory jsou urèeny pøedevším pro výkonné servery a pracovní stanice firem Sun, Hewlett Packard, DEC, IBM a Silicon Graphics, které pracují pod operaèním systémem Unix a zaèínají stále více pronikat do oblasti poèítaèové grafiky a DTP. Renomované firmy z oblasti vývoje reprografických systémù, jako Scitex, Agfa, Dainippon Screen a další zaøazují tyto stroje do svých systémù pro zpracování textu a obrazu. Zaèíná se tak stírat rozdíl mezi jejich High-End systémy a levnìjšími systémy na bázi universálních poèítaèù. A nyní ještì nìkolik slov o tzv. High-End reprografických systémech. Renomované firmy z oblasti reprografie jako Scitex (systém WHISPER), Linotype Hell (systém DAWINCI) a další, se u léta zabývají vývojem reprografických systémù na vysoké technické úrovni. Tyto systémy mìly implementovány speciální poèítaèe, které nepatøily k ádné z uvedených platforem. Byly konstruovány speciálnì pro pouití v oblasti grafiky a jejich nejvìtší pøedností bylo optimální pøizpùsobení hardware i software. Následkem byl vysoký výkon s mimoøádnì vysokou kvalitou zpracování. Tomu ale také odpovídají ceny tìchto systémù, které se pohybují v milionech i desítkách milionù korun. Dnes výrobci implementují do tìchto zaøízení pracovní stanice zaloené na technologii RISC. To má za následek èásteèné sníení cen. Pøestoe se u delší dobu pøedpovídá konec slávy tìchto zaøízení, skuteènost je taková, e se díky svým výkonùm a kvalitì udrují stále bez vìtších problémù na trhu.
Vstupní periferie pouívané v poèítaèové grafice Nejznámìjším vstupním polohovacím zaøízením je myš. Pouívá se k identifikaci objektù na obrazovce, modifikaci objektù a v poèítaèové grafice ke kreslení objektù. Základní princip èinnosti spoèívá v odvalování koule po zdrsnìném povrchu podloky. Koule po pøitlaèení a pohybu po podloce uvádí do pohybu dva snímaèe souøadnic x, y. Snímaèe jsou tvoøeny kotouèky s clonkami, které zakrývají nebo propouští svìtlo z LED diody na optoelektrický snímací prvek. Kadému impulsu z optoèlenu odpovídá urèitá vzdálenost pøi posuvu myši na podloce. Z poètu impulsù napoèítaných ve smìrech x, y získáme relativní souøadnice v obou smìrech. Posuv myši je vizuálnì spojen s pohybem kurzoru na obrazovce a tímto zpùsobem lze snadno na obrazovce oznaèovat objekty. Pomocí tlaèítka myši se potom souøadnice oznaèeného objektu zavedou do zpracování programem. Další konstrukèní typy jsou optická myš a laserová myš. U optické myši osvìtluje zdroj svìtla podloku a CCD snímaè snímá pøi jejím pohybu obraz podloky. Mìnící se videosignál je vzorkován synchronizaèními impulsy a výsledkem jsou impulsy, jejich poèet odpovídá velikosti posunu myši. Dalším dùleitým vstupním zaøízením pouívaným v DTP je skener. Tento pøístroj je urèen k optickému snímání grafických pøedloh. Mohou to být jak neprùhledné (fotografie), tak transparentní pøedlohy (folie, diapositivy). Princip èinnosti skeneru spoèívá v osvìtlování pøedlohy speciálním zdrojem svìtla s rovnomìrnou intenzitou a následným snímáním odraeného svìtla od jednotlivých bodù pøedlohy, nejèastìji øádkovým snímaèem s øadou CCD prvkù. Na prvcích CCD (Charge Coupled Devices) vzniká elektrický náboj úmìrný osvìtlení a tedy intenzitì svìtla odraeného od bodu snímané pøedlohy. Tento náboj se z CCD prvkù postupnì pøevede na elektrické napìtí a tak na výstupu snímaèe skeneru dostáváme elektrická napìtí úmìrná optickým hustotám bodù pøedlohy. Øádkový snímaè snímá celou plochu mechanickým pøemisováním podél pøedlohy nebo je pevný a mechanicky se pøemisuje pøedloha. Základními parametry skeneru jsou rozlišení, denzita, hloubka barev, rychlost snímání a velikost snímané plochy. Rozlišení udává, kolik ještì rozlišitelných bodù pøedlohy lze nasnímat na dél5
ce jednoho palce (2,54 cm). U levnìjších plošných skenerù bývá tento parametr v rozmezí 500 a 2000 dpi, u drahých bubnových skenerù a 10 000 dpi. Hodnota denzity charakterizuje, jak jemné rozdíly šedi je skener schopen nasnímat z pøedlohy. Parametr hloubky barev udává, kolik bitù obsahuje informace o barvì jednoho sejmutého bodu. Skener s 24 bitovou barvou má pro kadou barevnou sloku pøidìleno 8 bitù. Podle konstrukce mùeme skenery dìlit na ruèní, plošné a bubnové. Vztah pro volbu rozlišení R pøi skenovaní R = 2×F ×Z kde F je síová frekvence reprodukce a Z je zvìtšení oproti skenovanému originálu. Digitizéry a tablety jsou dalšími vstupními zaøízeními pro poèítaèovou grafiku. Jsou urèeny pøedevším pro digitalizaci nìkterých typù technických výkresù (digitizéry) nebo pro ovládání grafických programù (tablety) a jejich èinnost je zaloena na rùzných principech. Funkce tabletu mùe být zaloena napøíklad na kapacitním principu. Pracovní plocha je zhotovena z tenké folie, na její obì strany jsou naneseny elektricky vodivé spoje, na jedné stranì rovnobìné s osou x, na druhé stranì s osou y. Do tìchto vodièù jsou pøivádìny elektrické kódované impulsy. Èidlo, které se pohybuje nad touto plochou, pøijímá pøes kapacitu tyto impulsy a pomocí nich identifikuje absolutní souøadnice x,y. Tímto zpùsobem lze na ploše 30 x 30 cm dosáhnout rozlišení 1 000 x 1 000 bodù. Digitizéry a tablety snímají na rozdíl od myši absolutní souøadnice. Dalším vstupním periferním zaøízením poèítaèové grafiky jsou dnes CCD kamery a digitální fotoaparáty. Technologie CCD snímaèù dosáhla takové úrovnì, e je moné umisovat jednotlivé CCD prvky na èipu ve vzdálenostech 10–15 um, co umoòuje na 10 mm délky umístit 700–1000 CCD prvkù. Pomocí CCD kamer mùeme snímat napøíklad libovolné objekty na tiskovém archu, vzorky biologických materiálù a dále je zpracovávat a vyhodnocovat pomocí algoritmù poèítaèové grafiky. Pomocí digitálních fotoaparátù lze snímat libovolné scény a nasnímané obrazy pøevádìt do programù, které je dále zpracují.
Výstupní periferie poèítaèové grafiky Základním výstupním periferním zaøízením poèítaèe a také systémù DTP je displej. Displeje jsou zaloeny na principu katodové obrazovky CRT (Cathode Ray Tubes), dále na principu LED diod (Light Emitting Diode) a na principu zobrazovaèù LCD (Liquid Crystal Display). Princip èinnosti katodové obrazovky - CRT spoèívá ve vychylování elektronového paprsku do urèitého bodu na stínítku obrazovky a dále v jasové modulaci tohoto bodu. Bod (pixel) mùe být monochromatický nebo barevný tj. sloený ze tøí monochromatických pixelù. Základním parametrem zobrazení na displeji je rozlišovací schopnost. Tento parametr udává poèet ještì rozlišitelných pixelù na 1 palec délky. Prùmìrné obrazovky mohou dosahovat asi 100 dpi, špièkové a 200 dpi. Rozlišovací schopnost závisí na kvalitì luminoforu, na zaostøení elektronového paprsku a na kvalitì vychylovacího systému. LCD displej je tenká plochá matice obrazových pixelù, která je naaranována pøed zdroj svìtla. Kadý pixel je tvoøen sloupcem LC molekul a je uloen mezi dvì prùhledné elektrody a dva polarizaèní filtry s kolmými osami polarizace. Pokud by mezi filtry nebyl LC krystal, svìtlo by neprocházelo z dùvodu kolmých os polarizace. Pøítomný LC krystal natáèí rovinu polarizace úmìrnì velikosti náboje pøivedeného na prùhledné elektrody. Tím je umonìn prùchod svìtla pøes druhý filtr k pozorovateli s jasem úmìrným elektrickému náboji na elektrodách. Molekuly LC krystalu se toti natáèejí úmìrnì velikosti pøivedeného náboje a tím natáèejí polarizaèní rovinu procházejícího svìtla. Výhody LCD displejù oproti CRT obrazovkám spoèívají v malých rozmìrech, dosahování vyšších kontrastù a jasù, nevýhodou je niší barevný rozsah. Dùleitým parametrem zobrazení je stranový pomìr, co je pomìr poètu bodù ve vodorovném smìru k poètu bodù ve svislém smìru. Nejpouívanìjší velikosti rozlišení na celkový rozmìr obra6
zovky a stranových pomìrù jsou 640 x 480 bodù, 800 x 600 bodù, 1024 x 768 bodù, 1280 x 1024 bodù, 1600 x 1280 bodù. Funkèní souèástí zobrazení na displejích jsou zobrazovací procesory (grafické adaptéry, videokarty), které zprostøedkovávají zobrazování informací uloených v pamìti poèítaèe na obrazovku displeje. Kvalita a výkonnost tìchto procesorù je obzvláštì dùleitá v oblasti poèítaèové grafiky a DTP vzhledem k nárokùm, které jsou kladeny na zpracování v této oblasti. Funkce grafických adaptérù spoèívá v øízení nìkterých funkcí zobrazení (regenerace zobrazení na obrazovce, geometrický formát zobrazení, poèet barev atd.). Základními parametry grafických adaptérù jsou rozlišení a poèet zobrazovaných barev. Tyto parametry jsou závislé na velikosti obrazové pamìti adaptéru (dnes bìnì 32-64 MB).. Obrazová pamì je vlastnì pøedloha obrazového rastru na obrazovce. Na pøíklad pøi zobrazení 1024 x 768 pixelù na obrazovce má obrazová pamì velikost 1024 x 768 x 8 bitù t.j. asi 800 KB pøi zobrazení 256 barev. Pøi zobrazení 16.7 mil. barev (tedy pøi 24 bitové hloubce barev) je potøeba pamì o velikosti 1024 x 768 x 24 bitù t.j. asi 2.5 MB. Nejpouívanìjší standard grafických adaptérù je v souèasné dobì Video Graphics AdapterVGA. Pøi stoupajících nárocích na zpracování zobrazení pøedevším v oblasti barevné grafiky se do grafických adaptérù implementují tzv. grafické akcelerátory. Jsou to vlastnì speciální procesory, které pøidávají do grafického adaptéru další funkce a odlehèují tím procesoru poèítaèe. Jsou to na pøíklad blokové pøesuny, kreslení èar, vyplòování ploch, generování kurzoru a pod. Tiskárny a plotry jsou další periferní zaøízení, jejich kvalita je rozhodující pro kvalitní výsledky grafického zpracování. Pro oblast poèítaèové grafiky a DTP je potøeba pouívat pouze kvalitních tiskáren, co jsou tiskárny laserové, nìkteré inkoustové, voskové a sublimaèní. Z rcadlo
P amì Z droj s vìtla
Dielektrický válec
S tìrka T oner
P apír
Z apékací válce
Obr.1.1 Princip laserové tiskárny U laserové tiskárny (obr. 1.1) je obsah stránky uloen v pamìti tiskárny. Pomocí interpreteru jazyka popisu stránky (na pøíklad HPPCL nebo PostScript) se obsah pamìti ète a provádìjí se jeho pøíkazy. Potom se stránka rastrováním pøevede do bitové mapy. Pomocí tzv. korony se dielektrický válec nabije elektrickým nábojem a laserový paprsek modulovaný obsahem bitové mapy kreslí na válec z dielektrického materiálu obsah tištìné stránky tak, e v místì tištìného bodu toto místo vybije. Elektricky nabitý toner se v tomto místì uchytí a pøi následujícím kontaktu s papírem se na nìj pøenese. Následnì se toner na papíru fixuje teplem. Laserové tiskárny dosahují velkých rozlišení v rozmezí 600 a 1200 dpi a rychlost tisku a 16 stránek za minutu. Velikosti vnitøních pamìtí dosahují a 32 MB a nìkteré pouívají pro øízení tisku RISC procesory. Nejzná-
7
mìjším a nejrozšíøenìjším typem laserové tiskárny byly kolem roku 2000 zøejmì tiskárny HP LaserJet 4 a její modifikace. Raster Image Procesor - RIP je dalším periferním zaøízením pro oblast pøípravy publikací, které slouí k øízení osvitové jednotky. RIP pøebírá do své pamìti soubor dat tiskové stránky, pomocí interpreteru jazyka pro popis stránky provede pøíslušné pøíkazy a provede tedy koneènou modifikaci stránky podle toho, jak ji grafik vypracoval. Výsledek je uloen do seznamu hotových objektù. Druhou hlavní funkcí procesoru RIP je pøevod interpretované stránky do rastrového formátu (bitové mapy) pøi souèasném zpracování tónovaných motivù. Výsledný soubor se pak posílá k dalšímu zpracování na osvitovou jednotku. RIPy konstruované jako speciální hardware zaèínají být nahrazovány tzv. softwarovými RIPy, co jsou nejèastìji pracovní stanice s procesory RISC (napøíklad SPARC-stations firmy SUN).
8
2. Programové produkty poèítaèové grafiky V tomto tématu se budeme zabývat problematikou programového vybavení v oblasti poèítaèové grafiky a DTP. Jak je všeobecnì známo, je dnes programù, které souvisí nìjakým zpùsobem se zpracováním grafických dat tolik, e není moné tuto oblast v celé šíøi ani sledovat, nato proniknout u více produktù do hloubky. Jedinou rozumnou cestou je uší specializace na jednu oblast, napøíklad na programy pro sazbu, co zaruèí profesionalitu uivatele a tedy maximální vyuití všech moností pouívaného produktu. Výrobci software doslova zaplavují trh novými verzemi tìchto programù, take uivatel sotva zvládne poslední zakoupenou verzi, tak je tady verze nová. Tato skuteènost také podporuje cestu specializace uivatelù na urèitý typ tìchto produktù, pøi které je moné èasté zmìny snadnìji zvládat. Podle oblastí pouití je moné produkty poèítaèové grafiky rozdìlit následujícím zpùsobem: Návrh pomocí poèítaèe (CAD) Prostøedky Computer Aided Design jsou nejstarší a nejdéle pouívané programy poèítaèové grafiky. Konkrétnì patøí do této oblasti programy pro konstruktéry ve strojírenství, elektrotechnice, stavebnictví, architektuøe, chemii, atd. Nejznámìjším produktem je v této oblasti Autocad (v souèasné dobì verse 14) s jeho nadstavbami pro vyjmenované obory. Dále jsou k dispozici pro architekty a stavební návrháøe specializované programy jako Microstation, 3D Studio Viz, Archicad. Programy grafické komunikace S tìmito produkty se setkáváme všichni. Jedná se o produkty GUI (Graphic Users Interface grafické uivatelské rozhraní). Jsou to známé operaèní systémy WINDOWS na poèítaèích PC, MAC OS na poèítaèích Apple Macintosh nebo X-WINDOWS pro poèítaèe s operaèním systémem UNIX. Dnes vìtšina uivatelských programù, vèetnì textových editorù, tabulkových procesorù, databázových systémù a produktù DTP pouívá vlastní grafická uivatelská rozhraní, která jsou však vìtšinou odvozována z prostøedí Windows. Programy prezentaèní grafiky Jedná se o zpracování grafù, diagramù, map, nebo rùzných geografických a meteorologických dat. Z obecných programových produktù jsou v této oblasti neznámìjší tabulkové procesory s velmi silnou podporou grafické reprezentace dat (MS Excel, Lotus 1-2-3, Quattro-Pro) a programy s rozšíøenými prezentaèními vlastnostmi (Freelance Graphics, Harward Graphics, MS Power Point). Dále je prezentaèní grafika souèástí velkých vìdeckých programových balíkù, jako jsou Mathematica nebo Matlab. Multimediální programy Jedná se o soubor rùzných výkonných grafických systémù, které se pouívají v oblasti multimédií pro 2D grafiku a 3D modelování a animace. Tyto systémy umoòují vytváøet a zpracovávat texty, 2D i 3D grafiku, animace, video a zvuk a vytváøet tak rùzné objekty a scény a sluèovat je ve speciálních programech do výsledné multimediální publikace. Známými produkty z této oblasti jsou 3D Studio Max, Lightwave, Cinema pro 3D grafiku a animace, Adobe Premiere pro støih videa, Macromedia Director a Macromedia Flash pro vytváøení multimediálních elektronických publikací. Tyto produkty budou hrát významnou roli v budoucnu, kdy se postupnì rozšíøí technologie elektronického publikování a integrace všech typù médií do jednoho výsledného multimediálního produktu.
10
Programy pro pøípravu tištìných publikací V tomto pøípadì se jedná o oblast DTP (také Computer Publishing), do které patøí programy pro kreslení 2D grafiky, barevné popø. prostorové úpravy rastrových obrázkù, programy pro sazbu, kontrolní programy datových souborù a programy pro vyøazování. Nejznámìjšími programy pro kresbu grafiky jsou Corel Draw pro platformu PC a Adobe Illustrator pro poèítaèe Apple Macintosh. Základní rysy vìtšiny kreslících programù jsou podobné, proto budou v následujícím textu struènì popsány vlastnosti jednoho z nich, programu Corel Draw. Základními prostøedky kreslícího programu jsou pracovní plocha vymezená na obrazovce, hlavní menu a sada kreslících nástrojù. Pomocí nástroje výbìru mùeme vybírat grafické objekty na pracovní ploše a provádìt s nimi rùzné transformace, které nemìní základní obrys objektu. Jedná se o pøemisování, zrcadlení, zmìny velikosti, zešikmování a rotaci. Nástroj tvar je urèen k tvarování objektù, pøi kterém dochází ke zmìnì obrysu objektu. Èáry a køivky jsou po výbìru pomocí tvarovací šipky doplnìny svými uzly a øídicími body tìchto uzlù. Tvar vybrané køivky mùeme potom mìnit posunováním uzlù a øídících bodù, vkládáním a rušením uzlù, vytváøením symetrických, hladkých a rohových uzlù, zarovnáváním uzlù a transformací èástí èáry na pøímku a naopak. Volbou nástroje lupa mùeme volit rùzné formáty zobrazení vytvoøených objektù na obrazovce. Objekty mùeme libovolnì zvìtšovat nebo zmenšovat, zobrazit ve velikosti v jaké budou vytištìny na tiskárnì nebo zobrazit i objekty které jsou z rùzných dùvodù umístìny mimo editaèní okno. Nástroje ruèní reim, obdélník, elipsa a polygon jsou urèeny pro kresbu na stránce. Køivky je moné kreslit buï ruènì, tedy na tvar má vliv pouze jak táhneme myší, nebo pomocí Bézierových køivek, kdy se ruèní kresba dodateènì aproximuje kubickou køivkou. Nástroje obdélníku a elipsy slouí ke kreslení pravoúhelníkù, krunic a elips rùzných velikostí a tvarù. Pomocí nástroje text mùeme v editaèním oknì psát texty. Program pouívá fonty z operaèních systémù (napøíklad Windows) rùzných øezù a velikostí. Text je moné rùznými zpùsoby zarovnávat, volit mezery mezi písmeny, slovy a øádky, volit poèty sloupcù. Je moné umisovat text na køivku, modifikovat tvary jednotlivých písmen a provádìt mnoho dalších èinností. Dalším dùleitým nástrojem kreslícího programu je obrysové pero, pomocí kterého je moné nastavovat parametry obrysù grafických objektù. Nástroj umoòuje nastavovat styl obrysové èáry, její tloušku a barvu, volbu zakonèení koncù obrysové èáry. Dále je moné volit nebo vytváøet koncové šipky obrysové èáry, volit kaligrafické èáry, kopírovat vytvoøené obrysy na jiné objekty a ještì další èinnosti. Pro vyplòování uzavøených objektù slouí nástroj výplò, pomocí které je moné vytváøet jednobarevné výplnì, dvojbarevné a vícebarevné vzory a postupné barevné pøechody (z jedné barvy do druhé). Dále je moné vytváøet vlastní barevný vzorek a kopírovat libovolný vzorek z jednoho objektu do druhého Veškeré èinnosti v programu Corel Draw jsou zaloeny na volbì poloek menu, které ve spojení s pøíslušnými nástroji umoòují velký rozsah dalších èinností pøi zpracování grafických objektù. Nejpouívanìjšími programy pro úpravu obrazu v oblasti DTP jsou Adobe Photoshop a Corel PhotoPaint. Existují samozøejmì ještì další programy pro tuto èinnost, pøedevším v oblasti High-End systémù. Pøíkladem mùe být LinoColor firmy dodávaný se skenery firmy Heidelberg nebo SilverFast se skenery firmy Microtek. V následujícím textu budou posány základní vlastnosti programu Adobe Photoshop. Program Adobe Photoshop umoòuje zpracovávat rastrový obraz poøízený skenováním pøedloh, vytvoøený kreslícím programem, nasnímaný videokamerou nebo digitálním fotoaparátem. Je moné naèíst obraz v jednom formátu a uloit jej v jiném formátu a tak umonit zpracování v jiných programech a na jiných platformách. 11
V paletì nástrojù najdeme ruèní, obdélníkovou nebo eliptickou volbu, které umoòují zvolit èásti obrazù a další nástroje potom provádìjí manipulace s tìmito volbami. Kouzelná hùlka slouí k pøesnému výbìru urèité barvy, tedy volbu na základì podobnosti barev. Gumu mùeme pouít jednak pro mazání obrazu celého, jeho èásti nebo jen jednotlivých barevných kanálù. Velice dobrými nástroji jsou ty, které jsou urèeny k malování. Pouívají se pøedevším kreslící nástroje tuka, štìtec a sprej, u kterých si mùeme nadefinovat mnoho atributù jako velikost stopy, pøítlak, krytí stopy, styl malby a další. Razítko je vynikajícím retušovacím nástrojem, s jeho pomocí je moné také sejmout èást obrazu a do jiného místa pøenést jako kopii. Prst napodobuje rozmazávání barvy prstem. Uiteènými pomocníky v paletì nástrojù jsou terèík, otvor a houba, slouící k místnímu ztmavìní a zesvìtlení obrazu a zmìnì sytosti. V paletì nástrojù ještì najdeme okno pro manipulaci s barvami popøedí a pozadí. Pouitím pøíkazù hlavního menu pro úpravu barev mùeme nastavovat mnoho vlastností obrazu (napøíklad jas, kontrast, vyváení barev, sytost, odstín), barvy mùeme upravovat pomocí funkce køivek nebo úrovní. Vhodným doplòkem je funkce variace, která nabízí vyváení barev v celém obraze. Je samozøejmé, e mùeme pracovat v rùzných reimech - bitová mapa, stupnì šedi, RGB, CMYK, Duplex, Indexová barva nebo L*a*b* barva. Program Photoshop se pouívá také k modifikacím obrazu pomocí filtrù. Tyto filtry mùeme z èásti vyuít také ke kvalitní retuši naskenovaných tištìných pøedloh a také pro ostøení a rozostøování obrazu. Další monosti pro vytváøení nových obrazù poskytují fotomontáe s vyuitím masek a vrstev. Kadý pracovník, který provádí rùzné montáe jistì ocení paletu oøezávacích cest. Tyto se nyní tvoøí stejným vektorovým kreslením pomocí Bézierových køivek, jaké pouívá Adobe Illustrator nebo Corel Draw. Nejvíce rozšíøenými programy pro sazbu (zlom stránky, stránková montá) jsou v oblasti DTP QuarkXpress od firmy Quark, Adobe InDesign firmy Adobe a Corel Ventura od firmy Corel. V následujícím textu budou popsány základní vlastnosti sazbového programu. Programy sazby v oblasti DTP jsou charakteristické tím, e se v nich tiskové objekty nevytváøí, ale jsou do nich exportovány z jiných produktù. V programech pro sazbu se provádí tzv. zlom stránky, co je v podstatì úprava jednotlivých stránek publikace do stejného formátu (typy písma, styly odstavcù, vkládání grafických objektù atd.). Postup práce se pak odehrává zhruba podle následujícího schématu. Do programu sazby se naètou jednotlivé kapitoly textové informace, a ty se rozdìlí do stránek pøedem definované velikosti a poètu sloupcù (obrazec sazby). V kapitolách se definují styly odstavcù, styly oken, styly stránek a písem, co jsou pod konkrétním jménem uloené soubory atributù jmenovaných objektù. Styl je moné potom naráz aplikovat na další vybraný objekt.V místech, kde budou obrázky nebo jiné grafické informace se definují rámce a do nich se obrázky naètou. A je sazba jednotlivých kapitol hotova, je moné automaticky oèíslovat stránky, vytvoøit obsah a rejstøík a nakonec sestavit publikaci z více kapitol. Pøi editaci textu mùeme v sazbových programech editovat texty, jak je bìné u vìtšiny textových editorù. Není vhodné v tìchto programech text vytváøet, s výjimkou krátkých textù. Práce zaèíná naètením textového souboru do programu sazby. Potom mùeme další text vkládat na libovolné místo, mazat, pøesouvat a kopírovat bloky textu. Text lze umisovat do sloupcù a speciálních oken. Je obvykle moné vytváøet podtisk textu pomocí výplnì okna nebo grafického objektu. Dùleitým nástrojem sazbového programu jsou okna (rámce). Pomocí nich mùeme vkládat bloky textu mimo pravidelné sloupce textu a tak umisovat do libovolného místa stránky texty a obrázky. Je moné modifikovat rozmìry okna s obrázkem a také velikost obrázku v oknì. K oknu je moné pøiøadit popisky, které jsou pøi rùzných modifikacích trvale spojeny s oknem a dále k nìmu ukotvit text, take pøi modifikaci textu je okno umístìno stále u stejného textu.
12
Nìkteré sazbové programy umoòují sázet matematické vzorce a vytváøet jednoduché tabulky. Dnešní sazbové programy umoòují také na slušné úrovni práci s barvami. Mohou pracovat s pøímými i procesnímiå barvami a umoòují samozøejmì separace na jednotlivé výtaky. Velmi dùleitou vlastností je monost pøevodu výstupù do rùzných formátù tak, jak to vyaduje následné zpracování (PostScript, kompozitní PostScript, PDF formát). Kontrola souborù tiskových dat Tyto tzv. preflighting programy identifikují a odstraòují chyby a nedostatky v souborech dat, které jsou pøijímány grafickými studii ke zpracování a osvitu. Vstupní zakázka kromì toho, e obsahuje chyby v datech zpùsobené pøedchozím zpracováním, by mìla dále obsahovat dodateèné informace o pouitých fontech, formátech jednotlivých souborù, poadavky na koneèný tisk apod. Protoe zákazníci tyto informace èasto neposkytují, je kontrola velmi dùleitá. Takové programy bývají obvykle souèástí vìtších systémù, napøíklad programù pro vyøazování. Známými produkty univerzálního preflightingu jsou PitStop Professional firmy Enfocus a FlightCheck Professional firmy Markzware. Moderní sazbové programy obsahují také nìkteré nástroje automatické kontroly správnosti vysázených dat. Archová montá (vyøazování) Vyøazování je uspoøádání a montá tiskových stránek na pøedurèený formát tiskové formy tak, aby po svázání byla kadá stránka na správném místì ve správné posici. V následujícím textu budou struènì popsány hlavní zpùsoby archové montáe pro archový tisk. Je potøeba si uvìdomit, e existují znaèné rozdíly ve zpùsobu vyøazování mezi archovým a kotouèovým tiskem. Nejjednoduší montá je ádná montá. Je to tisk jedné stránky z jedné formy a to jednostrannì, nebo oboustranì. Další zpùsoby montáe jsou u sloitìjší a závisí na zpùsobu tisku. Multiple-image tisk Tento zpùsob se pouívá v pøípadì zakázek, které se nebudou vázat. To znamená, e se na tiskovou formu namontuje poèet stránek, které se tam vejdou a ty se vytisknou a po rozøezání snášejí do výsledné publikace. Poèet stránek na tiskové formì se oznaèuje jako n-up montá. Napøíklad montá ètyø stránek na tiskovou formu je four-up montá. Tisk na obrátku (half sheet work) Tento tisk pøedpokládá jednu sekvenci stránek na jedné pùlce archu, druhá sekvence je na druhé pùlce (obr.2.1). Pøi tisku z vyøazené formy se potiskne jedna strana obìma sekvencemi, potom se stoh vloí zpìt do nakladaèe a otoèí a tiskne se ze stejné formy druhá strana. Vyøazení musí být provedeno tak, aby byly odpovídající stránky obou sekcí na vytištìném archu naproti sobì. Po rozøíznutí získáme z jednoho archu dvì stejné kopie z jedné tiskové formy.
Obr. 2.1 Vyøazení half sheet work 13
Tisk na obrátku mùe být realizován buï jako Work-and-turn, nebo Work-and-tumble, podle toho, je-li arch pøi druhém bìhu otoèen, nebo pøeklopen. Work-and-turn otáèí arch podle kratší strany archu, tedy je zajištìno, e chytaèe tiskového stroje zachycují stejnou delší stranu archu pøi druhém prùchodu. Work-and-tumble naproti tomu otáèí archy podél dlouhé strany archu. Tento zpùsob pøedpokládá perfektnì naøezaný papír. Oboustranný tisk (sheet work) Stránky jsou vyøazeny pro kadou stranu tiskového archu rùznì - vyøazení vnitøní (inner) a vyøazení vnìjší (outer). Vnìjší vyøazení archu vdy obsahuje první a poslední stránku sekvence stránek a tiskne se na jednu stranu archu, vnitøní vyøazení obsahuje vdy druhou stránku sekvence a tiskne se na druhou stranu archu (obr.2.2).
Obr. 2.2 Vyøazení sheet work Zatímco tisk na obrátku tiskne dvì kopie jedné vyøazovací sekvence stránek, oboustranný tisk vytvoøí jednu kopii dvou sekvencí stránek. Jsou tedy potøeba dvì sady tiskových forem. Arch je nejprve vytištìn po jedné stranì z jedné sady tiskových forem a potom na druhé stranì z druhé sady. Výhodou tohoto zpùsobu vyøazení a tisku je, e u urèitých typù publikací (výroba knih) není po tisku tøeba øezání. Takto jsou tisknuty velké zakázky s více vyøazovacími sekcemi . V poslední dobì se zaèínají objevovat v praxi programy pro elektronickou archovou montá (vyøazování), které významným zpùsobem ovlivòují produktivitu pøípravy osvitu oproti ruèní montái. Pøedstavitelem tohoto typu programù je systém PREPS 3.0 od firmy ScenicSoft. Vstupem do tohoto programu mohou být PostScriptové soubory buï separované nebo kompozitní. Dále to mohou být nìkteré formáty rastrových souborù. Velmi dùleitým rysem tohoto programu je monost prohlíení a modifikace celé vyøazené zakázky v barevném reimu pøed výstupem na osvitovou jednotku. Technologie OPI (Open Prepress Interface) a funkce trappingu jsou v nìm také implementovány. S rychlým rozvojem poèítaèové techniky jsou vytváøeny v oblasti DTP pøedpoklady pro vznik programových produktù nové generace, jejich výkonnost bude podstatnì vìtší a snadnost obsluhy lepší ne u souèasných programù.
14
3. Polotóny, tisk šedých úrovní Základní pojmy DIGITÁLNÍ BOD (digital dot, spot) je nejmenší objekt, který tiskne laserová tiskárna nebo vytváøí osvitová jednotka na stránce nebo na filmu. Jsou mu pøidìlovány pouze dvì hodnoty – log1-tisknuto nebo log0-netisknuto. Rozlišením (rozlišovací schopností zaøízení, které zpracovává obrazy) nazýváme nejmenší vzdálenost dvou digitálních bodù, kdy jsou oba ještì rozlišitelné (nesplývají). Jednotkou rozlišení je poèet bodù na vzdálenost 1 palce a znaèí se dpi (dots per inch). RASTROVÝ BOD (raster dot) je element digitalizovaného obrazu. Je mu pøidìlena hodnota fyzikální velièiny, obvykle úmìrná jasu odpovídajícího místa pøedlohy (u obrazù s 24-bitovou barevnou hloubkou je to 256 úrovní jasu). Rozlišení obrazu je dáno tím, jak byl nasnímán, popøípadì dále zpracován. Jednotkou je dpi. SÍOVÝ BOD (autotypický bod, puntík, halftone dot) je tiskový útvar tvoøený více digitálními body pravidelnì uspoøádanými. Základem je síová matice o urèité velikosti, která je urèena parametrem síové frekvence (lineatura sítì). V síových maticích se vytváøejí síové body rùzných velikostí, jak je patrné z obrázku 3.1. T mavì š edá
S vìtle š edá
Obr. 3.1 Síové body rùzné velikosti Síové body vytváøejí pøi tisku vjem úrovní šedi. Èím vìtší je síový bod, tím je úroveò šedi vyšší a tiskový motiv je tmavší. Síové body se vytváøejí buï pomocí technologie autotypického síování, nebo pomocí software v poèítaèi (digitální síování). Vzdálenost síových bodù je charakterizována síovou frekvencí a jednotkou je lpi (line per inch). PIXEL (picture element) je útvar totoný s rastrovým bodem, pouívá se u obrazovek a CCD plošných snímaèù. Jednotkou rozlišení je opìt dpi. VZORKOVÝ BOD (sample dot) je útvar totoný s rastrovým bodem, pouívá se u skenerù. Jednotkou je opìt dpi. Základním problémem pøi tisku je, jak reprodukovat úrovnì šedi všech ètyø tiskových barev azurové, purpurové, luté a èerné, kdy zaøízení jako tiskárna nebo tiskový stroj umí tisknout pouze digitální body, tedy jednu úroveò danou optickou hustotou natisknutého motivu tiskové 16
barvy. Princip tisku šedi spoèívá v rozkladu obrázku na síové body pomocí technologie síování. Tyto body jsou umístìny ve stejných vzdálenostech, mají však rùznou velikost a tak vytváøejí vjem urèité úrovnì šedi.
Princip síování Autotypické síování je zaloeno na pouití autotypické sítì. Tato sí mùe být realizována jako prùhledná sklenìná nebo plastiková deska s jemnou vyleptanou pravoúhlou møíkou, kdy vzdálenosti jednotlivých èar jsou øádovì desetiny milimetru. Pøedloha se spojitými zmìnami šedi se exponuje pøes tuto sí na nový film, jak je nakresleno na obrázku 3.2.
Obr.3.2 Princip autotypického síování Pøi projekci se v místech s vyšší úrovní šedi na pøedloze vytvoøí na kopii vìtší síové body a v místech s niší úrovní šedi menší síové body. Tak se vytvoøí dojem vìtší a menší úrovnì šedi také na kopii. Výsledný efekt na kopii je v mikromìøítku zobrazen na obrázku 3.1. Základní parametry autotypického síování jsou: • Síová frekvence (lineatura) daná vzdáleností linek møíky na autotypické síti. Jednotkou je lpi (line per inch), co je poèet linek na 1 palec. Je moné uívat také poèet linek na centimetr. • Síový úhel je natoèení autotypické sítì vùèi pøedloze, jednotkou je stupeò. Je dobré si uvìdomit, e pøi autotypickém síování se zmìnou úrovnì šedi na pøedloze se mìní pouze velikost síových bodù, nikoliv jejich vzdálenost. Digitální síování je zaloeno na softwarovém výpoètu velikosti síových bodù, podle nasnímané úrovnì jasu pøedlohy v daném bodì. Vstupem do digitálního síování je na poèátku také originál se spojitými zmìnami úrovní šedi. Tento obrázek se snímá skenerem nebo digitální kamerou. U pøi snímání se tedy obrázek digitalizuje tak, e kadému nasnímanému bodu odpovídá urèitá úroveò intezity odraeného svìtla, tedy vlastnì velikost jednotlivých barevných sloek r, g, b (èervená, zelená, modrá) barev obsaených v originálu pøi zpracování barevné pøedlohy. Digitalizovaný obrázek je dále zpracován poèítaèovým programem a po tomto zpracování pøichází do výstupního zaøízení (laserová tiskárna, RIP). Zde se kromì jiného zpracování provádí také digitální síování, tedy seskupování digitálních bodù jednotlivých barevných výtakù do síových bodù takové velikosti, která odpovídá nasnímané úrovni šedi z originálu (viz obr. 3.3). 17
Digitální bod
S íový bod
~R [dpi] ~F [lpi]
Obr.3.3 Síové body digitálního síování Kromì parametrù síové frekvence a síového úhlu (které se volí ve zpracovatelském programu) lze u digitálního síování volit ještì tvar síového bodu (kruhový, ètvercový, eliptický, diamant, linkový). V praxi se dnes pouívá modifikace digitálního síování, tzv. frekvenènì modulované (nebo také stochastické) síování, kdy se síový bod v síové matici rozpadá do jednotlivých digitálních bodù a ty jsou pak náhodnì rozmístìné v síové matici. Jejich poèet je v síové matici stejný pro stejnou úroveò šedi jako u klasického síového bodu (viz obrázek 3.4). V praxi se zatím tato technologie pouívá v omezené míøe z dùvodu velkých nárokù, které tato technologie pøi výrobì vyaduje. Stochastický zpùsob síování má nìkteré pøednosti. Hlavní spoèívá v eliminaci moiré, co je porucha, která vzniká pøi pouití nestochatického síování a je zde potlaèována u zmínìným natoèením sítì. Nevýhodou jsou velké nároky na tuto technologii pøi vlastní výrobì.
Obr.3.4 Srovnání klasické a stochastické síové matice U analogového autotypického síování se velikost síového bodu na kopii mìní spojitì s úrovní šedi na pøedloze. Tedy poèet úrovni šedi je teoreticky nekoneènì velký. U digitálního síování se úrovnì šedi mìní po skocích, podle poètu digitálních bodù, které vytváøejí síovou matici. Na pøíklad pokud je velikost síové matice 8 x 8 bodù, mùeme takto vytvoøit 65 úrovní šedi. Poèet moných úrovní šedi v digitálním síování je dán vztahem 2
æRö N =ç ÷ +1 èFø kde R je rozlišení výstupního zaøízení, F síová frekvence a R/F velikost síové buòky.
18
Napøíklad laserová tiskárna má rozlišení 600 dpi, síovou frekvenci zvolíme 60 lpi, potom poèet úrovni šedi je 101, velikost síové buòky je 10 x 10 bodù. Poèet úrovní šedi tedy ovlivòuje uivatel volbou síové frekvence. Maximální poèet úrovní šedi uívaných v praxi je 256, lidské oko dokáe rozlišit kolem 100 úrovní. Malý poèet úrovní šedi má vliv na kvalitu obrázku tak, e jsou patrné tvrdé pøechody mezi jednotlivými úrovnìmi. Pokud zvìtšíme N zmenšením síové frekvence, má to za následek ztrátu detailù, protoe síování je hrubé, èasto jsou vidìt jednotlivé síové body (napø. na billboardech). Nejlepší zpùsob, jak získat dobrou reprodukci, je pouívat výstupní zaøízení s vyšším rozlišením. Pokud chceme zachovat 256 úrovní šedi (co znamená velikost síové matice 16x 16 bodù) a chceme urèit potøebné rozlišení výstupního zaøízení pøi zvolené síové frekvenci platí jednoduchý vzorec nazývaný “pravidlo 16”. R = 16 F Napøíklad pro dobrý tisk se poaduje velikost síové frekvence 100 lpi. Pøi zachování 256 úrovní šedé musí mít osvitová jednotka rozlišení minimálnì 100 x 16 = 1600 dpi. Základní faktory ovlivòující volbu síové frekvence Síovou frekvenci volí uivatel pøi zpracování pøíslušným programem (Adobe Pagemaker, Adobe Photoshop, Corel Ventura, QuarkXpress ) pøi volbì tisku. Také se zde nastavuje síový úhel, popøípadì tvar síového bodu. Dále jsou uvedeny faktory, které je nutné vzít v úvahu pøi volbì síové frekvence. • Rozšíøení autotypického bodu pøi tisku Tento jev se projevuje výraznìji u vyšších síových frekvencí, proto u zaøízení, která vykazují vìtší hodnotu rozšíøení tiskového bodu volíme radìji niší síovou frekvenci. • Reprodukèní technika Pokud tiskneme laserovou tiskárnou nebo kopírkou, nemá smysl volit F >80 lpi. U ofsetového tisku múeme volit a F = 150 lpi. • Potiskovaný materiál Pøi tisku na novinový papír staèí volit F do 85 lpi. Papír bez povrchové úpravy je omezen na 100 lpi, u povrchovì upraveného bílého papíru mùeme jít a na hodnotu 300 lpi. • Materiál pøedlohy Pokud bude pøedloha na folii, která se dále fotografuje, je F omezeno do 100 lpi. Pokud chceme jít nad 100 lpi musíme vytvoøit pøedlohu pøímo na film. • Charakter publikace Pokud publikace neobsahuje fotografie nebo velký rozsah odstínù šedi, nemusíme zachovávat 256 úrovní, mùeme jít podstatnì ní a tak zvolit vyšší síovou frekvenci. Tím zjemníme rastr výsledné reprodukce. Kdy obsahuje publikace ménì ne 10 úrovní šedi nevadí, kdy zvolíme velikost síové matice 5 x 5 bodù, èemu potom odpovídá pøi rozlišení 600 dpi síová frekvence 120 lpi.
19
4. Poèítaèové zpracování grafických prvkù tiskové stránky Základní pojmy DTP Desk Top Publishing - metoda realizace pøedtiskových operací pomocí malé výpoèetní techniky (poèítaèe PC, poèítaèe Apple Macintosh, pracovní stanice RISC). Na obrázku 4.1 je prezentováno hrubé blokové schéma vymezení rozsahu operací v DTP.
Obr.4.1 Operace v DTP Soubor - ve smyslu poèítaèového zpracování souborem rozumíme jakoukoliv mnoinu údajù v pamìti poèítaèe nebo na nìjakém pamìovém médiu. Mohou to být tedy být ekonomická data, grafická data, programy (zdrojové, pøeloené nebo sestavené) databázové soubory apod. V našem pøípadì, kdy se jedná o zpracování publikací, budeme rozumìt pod souborem textová a grafická data. Datový formát souboru - uspoøádání dat v souboru podle urèitých pravidel. Kadý programový produkt, který pracuje s daty, musí znát jejich uspoøádání v souboru. Bylo vytvoøeno velké mnoství formátových standardù, které usnadòují pøedávání dat mezi rùznými programovými produkty. Vektorovì orientovaný formát - jednotlivé grafické objekty jsou realizovány pomocí základních geometrických útvarù (èára, Bézierova køivka, krunice pod.). Tyto útvary (také funkcionální objekty) jsou reprezentovány jménem, definièními body, popøípadì dalšími atributy tìchto objektù. Napøíklad ètyøúhelník mùe být ve vektorovém souboru reprezentován øetìzcem ASCII znakù: RECT, 80, 65, 25, 78, RED; To znamená, e zpracovatelský program rozpozná, e jde o ètyøúhelník se zadanými vrcholy a barvou a zpracuje ho instrukcemi kódu pro zpracování ètyøúhelníka. Rastrovì orientovaný formát - jednotlivé grafické objekty jsou popsány pomocí velièiny (obvykle jas), která se pøiøazuje rastrovým bodùm, na které je daný objekt rozloen (viz obr. 4.2). Rastrový soubor pak obsahuje posloupnost hodnot jasù všech rastrových bodù. Hustota rozkladu na jednotlivé rastrové body je dána rozlišovací schopností vstupních a výstupních zaøízení (skener, display, tiskárna, osvitová jednotka), na kterých se objekty do rastrového formátu pøevádìjí a je charakterizována velièinou nazvanou prostorové rozlišení obrazu. Jednotkou je dpi (dots per inch). Bitová mapa - rastrová reprezentace grafického objektu, kdy velièina popisující objekt, má pouze dvì hodnoty (pøi tisku èerná a bílá barva). Jinak se pojem bitová mapa nepøesnì pouívá jako druhý název pro rastrový formát. 20
Obr.4.2 Rastrová reprezentace grafického objektu Jazyk popisu stránky - programovací jazyk, který obsahuje prostøedky pro tvorbu, popis a tisk stránky dokumentu. Jednotlivé objekty stránky textové i grafické, jsou popsány svými atributy (na pøíklad støed a polomìr krunice) a dále jednotlivými pøíkazy jazyka popisu stránky, které popisují další modifikace daného objektu (na pøíklad zvìtšení nebo zmenšení, tloušku a barvu obrysové èáry, barvu výplnì atd).
Jazyky popisu stránky Zpracování tiskovin pomocí poèítaèù, nazývané DTP (Desk Top Publishing), je umonìno existencí výkonných poèítaèù zaloených na platformách s operaèními systémy Unix, MacOs a Windows. Avšak jenom samotná existence tìchto zaøízení nebyla pro rozvoj DTP rozhodující. Rozhodující bylo vytvoøení programových produktù zejména v souvislosti s pøíchodem a standardizací nìkterých jazykù popisu stránky jako napø. HPPCL od firmy Hewllet Packard a PostScript firmy Adobe v polovinì osmdesátých let. Tyto jazyky byly vytvoøeny pøedevším pro tiskárny, ale v dnešní dobì je napøíklad Postscript pouíván ve všech výstupních zaøízeních slouících k tisku publikací. Zmíníme se o dùvodech, které vedly k zavedení technologie jazykù pro popis stránky. V dnešní dobì jsou veškerá zpracovávaná data v oblasti tisku v digitální formì. Je potøeba si uvìdomit, e koneèný tisk se provádí rastrovým zpùsobem, tj. tisknou se digitální body. Na pøíklad u laserové tiskárny se tiskový bod vytváøí pomocí laserového paprsku na dielektrickém válci jako místní zmìna elektrického náboje. Kdy si pøedstavíme tiskovou stránku A4 (rozmìry 210 x297 mm) zpracovnou v RIPu, potom pøi rozlišení 3000 dpi je to pøiblinì 800 Mbitù dat na jeden barevný výtaek. To je velký soubor pro zpracování v univerzálním poèítaèi a také pro pøenos do jiného zaøízení. Proto vznikla myšlenka pøedávat do výstupního souboru pouze definièní data (napø. støed krunice a polomìr) a koneèné zpracování stránky (napøíklad zvìtšení, výplò, obrys) pøenechat výstupnímu zaøízení (tiskárna, RIP) zpracováním pøíkazù jazyka pro popis stránky. Tyto pøíkazy jsou pak souèástí výstupního souboru. Tiskárny, osvitové jednotky a další výstupní zaøízení jsou schopny pøijímat informace o objektech na stránce ve vektorovém formátu i rastrovém formátu. Jazyk popisu stránky HPCL byl pùvodnì zaloen na popisu objektù pomocí rastrového formátu, jazyk PostScript na popisu vektorových objektù. Hlavním cílem vývoje jazyka PostScript byl poadavek hardwareové nezávislosti. Oba jazyky jsou však schopny zpracovávat oba datové formáty. Export a import tiskových dat V oblasti DTP dnes existuje mnoho programových produktù, které zpracovávají texty, vektorovou grafiku a rastrové obrazy, pøièem je dùleité, e tyto programy musí být schopny spolupráce, 21
co se týká pøenositelnosti svých výstupních souborù. Jedná se o programy pro sazbu (Corel Ventura, Adobe Pagemaker, QuarkXpress), programy pro vytváøení grafiky (Adobe Illustrator, Corel Draw), programy pro zpracování obrazu (Adobe Photoshop, Corel Photo Paint) a textové editory (Wordperfect, MS Word, PCsuite602Pro, Claris Works). Obvykle chceme pøenášet texty a grafiku z produktù, které je vytváøejí, do programù pro zlom stránek, co jsou vlastnì programy pro sazbu. Potøebujeme, aby tyto produkty vytváøely svoje výstupní soubory ve formátech, kterým navazující programy rozumí. Datová kompatibilita tedy zaruèí úspìšný pøenos dat mezi jednotlivými programy. To se dá zaruèit pomocí standardních formátù datových souborù. Rùznými výrobci bylo vytvoøeno mnoho formátù dat, ale jen nìkteré byly všeobecnì pøijaty uivateli a staly se standardy. V dalším jsou popsány dva typické pøíklady. Formát ASCII (American Standard Code for Information Interchange) se pouívá k ukládání a pøenášení textových informací. Tento formát je v podstatì tabulka kódù, poèínaje kódem 0 a konèe kódem 255, pøidìlených jednotlivým textovým znakùm nebo povelùm pro nìkteré akce tiskárny. V následující tabulce jsou pøíklady nìkterých kódù v poøadí hexadecimální hodnota, dekadická hodnota, symbol, slovní popis. 02H 03H 0AH 0CH 0DH 020H 031H 039H 041H 05AH
02 03 10 12 13 32 49 57 65 90
STX ETX LF FF CR SPACE 1 9 A Z
zaèátek textu konec textu pøechod na nový øádek nastavení nové stránky návrat na zaèátek øádku mezera znak 1 znak 9 znak A znak Z
Textový soubor ve formátu ASCII je potom posloupností kódù v rozmezí èísel 0 a 255. Tato posloupnost obsahuje kromì kódù tisknutelných znakù také kódy povelù (zaèátek stránky, zaèátek bloku, tabelátory, nový øádek), které se samozøejmì netisknou. Tiskárna, která pøijímá tuto posloupnost znakù identifikuje znaky buï pomocí pevné logiky (jehlièkové tiskárny) nebo programovì a ovládá podle jejich hodnoty svùj tiskový mechanismus. Napøíklad posloupnost znakù (v hexadecimálním kódu) 0C0D0A3031323334352041424344450D0A zpùsobí následující odezvu tiskárny: • tiskárna se nastaví na novou stránku • následuje nastavení na zaèátek druhého øádku • vytisknou se znaky 0,1,2,3,4,5,Space • vytisknou se znaky A,B,C,D,E • tiskárna se nastaví na zaèátek nového øádku. Všechny uivatelské programy pro zpracování textu pouívají formát ASCII jako doplòkový ke svému vlastnímu formátu. Tak mùe být text vytvoøený libovolným textovým editorem exportován do formátu ASCII, a potom naèten do programu Corel Ventura, který tento formát také podporuje. Pøedností tohoto formátu je jeho jednoduchost. Neobsahuje ádné programové prostøedky pro urèení typu písma a jeho velikosti nebo tloušky. To však na druhé stranì znamená, e pøi pøenosu pomocí formátu ASCII ztrácí text uvedené atributy, pokud mu byly pøiøazeny. Pokud chceme tyto atributy písem pouívat, musíme pouít nìkterý z programù pro sazbu, které mají pro tento úèel vhodné prostøedky.
22
Na tomto místì je nutné uvést, e moderní textové editory (MS Word) obsahují mnoho funkcí, které byly døíve obsaeny pouze v programech sazby. Moderní programy sazby umí importovat texty z tìchto editorù i s nìkterými aplikovanými atributy textu. Formát PS nebo EPS (Encapsulated PostScript format) je souèástí vìtšiny programù pouívaných v oblasti DTP. Je to formát zaloený na postscriptovém kódu a soubor je tvoøen posloupností pøíkazù jazyka PostScript, které popisují objekty tiskové stránky a definièních atributech tìchto objektù. Posloupnost pøíkazù se z grafického nebo sazbového programu pøenáší do výstupního zaøízení (napøíklad tiskárna nebo RIP s osvitovou jednotkou) a zde se pomocí interpreteru jazyka PostScript objekty stránky zpracují do koneèné podoby a uloí do seznamu. Formát PS je vhodný pro pøímý výstup na postscriptovou tiskárnu, EPS je vhodné pouívat pro výmìnu postscriptových dat mezi aplikacemi. V následujícím pøíkladì je uvedena posloupnost pøíkazù pro vytištìní textového øetìzce POSTSCRIPT v urèitém místì stránky. % % PROGRAM % % 200 400 TRANSLATE % poèátek kresby 10 SETLINEWIDTH % nastavení tloušky èáry /HELVETIKA BOLD FINDFONT % výbìr typu písma 20 SCALEFONT SETFONT % zvìtšení písma 20 a nastavení aktivního typu (POSTSCRIPT) TRUE CHARPATH% vytvoøení poadovaného textu GSAVE 1 SET GRAY FILL % uloení grafiky do pamìti, nastavení úrovnì šedi a výplnì STROKE % vykreslení obrysových èar textu SHOWPAGE % výstup objektu na tiskárnu Mùeme si pøedstavit, e textový øetìzec POSTSCRIPT napíšeme napøíklad v programu Corel Ventura typem písma Helvetica Bold na urèité místo stránky, zvìtšíme ho 20x, udìláme 1 mm tlusté obrysy a zvolíme tisk na postscriptovou tiskárnu. Ovladaè výstupního kódu pøevede tuto informaci na sled pøíkazù do formátu PS, jak bylo uvedeno v pøíkladu. Výsledný soubor v tomto formátu je odeslán do tiskárny. Zde je sled pøíkazù interpreterem postscriptového jazyka zpracován a tím se provede modifikace objektù na stránce pøed koneèným tiskem. Je dobré si všimnout rozdílu mezi souborem ASCII vyslaným na tiskárnu a souborem PS. V prvním pøípadì pøicházejí na tiskárnu pøímo kódy povelù a tištìných znakù, v druhém pøípadì kromì obsahu stránky ještì kódy pøíkazù, které budou pøenášený text a grafiku pøed tiskem modifikovat. Existuje celá øada dalších formátù pro pøenos dat mezi aplikacemi a poèítaèovými platformami. Budeme se jimi zabývat podrobnìji v dalším tématu. Pøedstavme si nyní situaci, kdy máme pøipraveny texty a obrázky (vektorové i rastrové) ve vnitøních formátech produktù, ve kterých byly vytvoøeny a chceme je pøevést do programu pro tvorbu tiskové stránky. Kadý program, který má nìco spoleèného s poèítaèovou grafikou a zpracováním textu obsahuje tzv. exportní a importní funkce. Tyto funkce jsou vlastnì datové filtry pomocí kterých se na výstupu (pøi exportu) nebo na vstupu (pøi importu) vytváøí pøíslušný standardní datový fomát. Na pøíklad chceme pøevést grafiku z grafického editoru Corel Draw do programu Corel Ventura. V prostøedí Corel Draw pouijeme funkci export napøíklad do formátu TIFF nebo Windows Metafile a sazbový program umí tyto formáty zpracovávat. Dnešní programy sazby mohou zpracovávat vìtšinu standardních formátù poèítaèové grafiky. Dùsledky vektorového a rastrového popisu dat Ještì nìkolik poznámek o dùsledcích vektorového a rastrového popisu grafických objektù z hlediska jejich exportu a importu. Rozdíl mezi tìmito formáty se vizuálnì projeví pøi zmìnách velikosti objektu. Jak bylo øeèeno døíve, pro vektorový formát je charakteristický funkcionální popis objektu, jinými slovy, objekt je definován definièními body a matematickou rovnicí. Tento popis je 23
Obr.4.3 Zvìtšení znaku ve vektorovém a rastrovém formátu vhodný zejména v èarové grafice, kde objekty sestávají vìtšinou z èar a jednobarevných ploch, obvykle bez barevného tónování. Zmìna poloh a mìøítek se u takových objektù provádí pomocí jednoduchých geometrických transformací, pøièem nedochází ke zhoršení kvality zobrazovaného objektu, na rozdíl od rastrového popisu, jak je vidìt na obr. 4.3. Druhým dùleitým dùsledkem vektorového popisu objektù je podstatnì niší objem pøenášených dat ve srovnání s rastrovým popisem. U rastrového formátu je objekt rozloen na matici bodù a kadému z nich je pøiøazena hodnota jasu odpovídající úrovni šedi. Pøi dalším zpracování potom tyto hodnoty urèují velikosti síových bodù jednotlivých procesních barev. Na rozdíl od vektorového popisu objektu jsou hlavními nevýhodami ztráta kvality pøi zvìtšování objektu (zvìtšují se nerovnosti okrajù) a velký objem pøenášených dat. Proto se v poslední dobì èím dále tím více pouívá pro pøenosy dat metafile formát EPS a z nìho odvozený PDF (Portable Document File) formát. Rastrové formáty je vhodné pouívat pouze pøi poøizování obrazu, jeho zpracování v uivatelských programech a pro koneèný tisk. Pro pøenosy slouí tzv. metafile formáty, tedy sdruená rastrová a vektorová data (PICT, WMF, EPS, PDF). Program pro pøípravu tiskové stránky odešle pøipravený dokument na výstupní zaøízení. Pøedtím však uivatel volí typ tiskárny nebo typ jiného výstupního zaøízení. V tomto okamiku se rozhoduje o výstupním formátu dat. Pokud zvolíme postscriptové výstupní zaøízení, transformuje se výstupní datový soubor vytvoøené stránky do postscriptového formátu. Jestlie poadujeme postscriptový výstup na osvitovou jednotku, pøenášejí se data pøes zaøízení RIP (Raster Image Procesor), který stejnì jako postscriptová tiskárna obsahuje interpreter jazyka PostScript. Tento provádí pøíkazovou èást postcriptového dokumentu, tj. vytváøí objekty na tiskové stránce podle toho, jak uivatel stránku zpracoval v programu sazby. Dále RIP provádí síování tónovaných objektù a nakonec pøevod stránky do bitové mapy, tedy koneèného formátu pro tisk. U laserových tiskáren je interpreter PostScriptu implementován u v tiskárnì. Proto mùe být výstup postscriptového formátu pøivádìn pøímo do tiskárny.
24
5. Základní atributy textu, vlastnosti PostScriptu 5.1 Písma v poèítaèovém zpracování Kreslení písma je standardní souèástí všech grafických programù. Z hlediska poèítaèového zpracování se jedná o dost sloitý proces. Je moné volit tvar písma, velikost, orientaci písma a další atributy. Základní atributy písma: • Umístìní textu (alignment) je horizontální a vertikální umístìní textu vzhledem ke vztanému bodu. Vztaný bod je zpravidla levý horní bod prvního písmene textu.V poèítaèové grafice se vztaný bod zadává obvykle kliknutím myši do místa, kde chceme zmýšlený text umístit. • Orientace textu (text path) je informace o tom, zda se text bude psát zleva doprava, shora dolù a naopak. Pøíkladem mùe být poloka textu »Rotace textu« v programu Ventura Publisher. • Natoèení písma - písmo mùe být natoèeno o urèitý úhel a k základní orientaci. • Druh písma urèuje tvar písmových a èíselných znakù. Druh písma je urèen jménem (Helvetica, Times, Palatino, apod.) a kadému jménu je pøiøazen soubor znakù s definicí tvaru. Poèítaèová reprezentace jednoho druhu písma (soubor znakù v poèítaèi) se nazývá font. • Stupeò písma urèuje velikost písmových znakù v typografických bodech. • Barva písma urèuje barvu výplnì písma. • Obrys písma urèuje tloušku obrysové èáry a její barvu. Definice tvaru písma Písmo je speciální druh grafiky. Tvary písmových znakù jsou sloité a kladou na zpracování dosti znaèné nároky. Písma dìlíme podle zpùsobu realizace tvaru na dvì skupiny. 1. Liniové (vektorové) písmo je tvoøené posloupností úseèek, kruhových obloukù a kubických køivek. Tyto základní grafické prvky lze podrobovat rùzným geometrickým transformacím. Tím se dosahuje zmìny mìøítka, natoèení, zkosení a j. U velkých zvìtšení mùe vyniknout èarový charakter písma, proto se stále více prosazuje definice obrysù písem pomocí kubických køivek. Ty jsou toti ještì dost jednoduché, take zpracování není nároèné z èasového hlediska, ale i dostateènì pruné, aby byly tvary estetické i pøi velkých zvìtšeních. Tímto zpùsobem byly navreny tiskové fonty typu Adobe Type 1 i typu True Type. 2. Rastrové písmo je zaloeno na rozkladu plochy, kterou pokrývá definované písmeno do matice bodù (napø. 7 x 5, 8 x 6, 16 x 9 a pod.). Pouívá se pøedevším pøi zobrazování na displejích. Je to obdoba rastrové reprezentace grafického objektu, jak byla popsána v kapitole 4. Èím je poèet bodù
25
matice vìtší, tím vìtší je pøesnost tvaru písmene. V místech obrysové èáry se jednotlivé body vysvìtlují (obrazovka), nebo tisknou urèitou barvou na potiskovaný materiál (obr. 5.1).
Obr.5.1 Liniové a rastrové písmo Hlavní nevýhodou rastrového písma je to, e pøi geometrických tranformacích (zvìtšování) se zhoršuje kvalita tisku (vyniknou nerovné okraje). Pro dosaení optimálního výsledku pøi tisku se písma zpracovávají ve dvou krocích. V prvním kroku je obrys písma definován liniovým zpùsobem jako uzavøená oblast. Ve druhém kroku se provede výplnìní rastrovým zpùsobem.
Fonty - poèítaèové typy písem Font je poèítaèová reprezentace druhu písma, tedy konkrétní font reprezentuje v podstatì tvar znakù. DTP systémy podporují velké mnoství fontù co do typù a velikostí. Atributy urèitého fontu jsou stupeò a øez (základní, polotuèný, kurzíva). V poèítaèové grafice se staly nejvíce pouívanými fonty True Type fonty firmy Apple Computer a Type 1 fonty firmy Adobe, v poslední dobì Open Type fonty firem Adobe a Microsoft. Fonty Adobe Type 1 Jsou to liniové fonty a nazývají se také postscriptové fonty. Byly vyvinuty u firmy Adobe a znamenaly revoluci v elektronické sazbì. V operaèních systémech Mac OS 8.0 a Windows jsou spravovány ovladaèem ATM (Adobe Type Manager) v souèasné dobì verze 4. Pøi manipulaci s fonty v sazbovém programu urèujeme druh písma, jeho stupeò (velikost) a øez. Pøi zmìnì stupnì písma se provedou pøepoèty ze základního na poadovanou velikost. Díky liniovému popisu se pøi zvìtšení nezhorší hladký tvar obrysù písma. Tyto fonty jsou definovány kadý ve dvou souborech, jeden pro tisk a druhý pro obrazovku displeje. True Type fonty Jsou to fonty vyvinuté firmou Apple jako odpovìï na monopol firmy Adobe, která odmítla zveøejnit specifikaci formátu Type 1. Zajímavé na tom je, e tyto fonty jsou vyuívány hlavnì v operaèním systému Windows, protoe je firma Apple Computer licencovala pro firmu Microsoft. Na platformì MacOS se v praxi více pouívají fonty Type 1. V oblasti profesionální sazby se True Type fonty pouívají ménì, pøestoe je dodavatelé zahrnují do svých nabídek. Jedním z dùvodù v minulosti bylo, e nebyly spolehlivì interpretovány na nìkterých osvitových jednotkách. To u dnes neplatí, spíše je problémem nedostatek ve výbìru kvalitních písem tohoto formátu. V ádném pøípadì se nedoporuèuje pouívat v jednom dokumentu oba druhy fontù.
26
True-Type jsou fonty liniové, podobnì jako Type 1, ale jsou definovány pomocí jiných køivek. Zabírají také více místa na disku, ale jsou definovány v jednom souboru pro tisk i obrazovku. Fonty Open Type Jsou to liniové fonty, které výcházejí z True Type fontù, ale pouívají 16 bitového kódování znakù Unicode. Dùsledkem je, e kadá abeceda má pøidìleny jednoznaènì svoje znaky v prostoru tohoto kódování (65 535 kódù). Odpadají rùzné kódové tabulky a nutnost lokalizace do pøíslušného jazyka. Open Type fonty jsou podporovány jak operaèním systémem Windows, tak Mac OS. U aplikací je to horší, ale napøíklad program InDesign u tyto fonty podporuje. Open Type fonty lze pøenášet z Mac OS do Windows a naopak. Pro tiskové výstupy jsou Open Type fonty konvertovány buï do Type 1 nebo True Type, protoe zatím pro nì není u high-end výstupních zaøízeních ádná podpora. Open Type fonty mohou být pouívány také v PDF dokumentech. Pro zobrazování na poèítaèích, které je nemají nainstalovány, musí být do PDF dokumentu vloeny a s dokumentem na výstup odeslány. Obrazovkové a tiskové fonty Type 1 Výsledek zobrazování fontù na tiskovém výstupu je jiný ne na obrazovce. Obrazovka má mnohem menší rozlišení ne tisk. Proto jsou u Type1 definovány zvláš obrazovkové fonty a tiskové fonty (pro MAC i PC). U poèítaèù Macintosh jsou obrazovkové fonty zobrazeny ikonou kuføíku, tiskové fonty ikonou s písmenem A. U poèítaèù PC mají obrazovkové fonty koncovku PFM a tiskové PFB. Obrazovkové fonty jsou rastrové a jsou definovány pro urèité velikosti (8, 9, 10, 12, 14, atd. typografických bodù) a v tìchto velikostech se na obrazovce zobrazují s pøijatelným zkreslením obrysù. Pokud pouijeme jiné velikosti, ne tyto definované, okraje budou zubaté. Avšak pouitím posledních typù ovladaèù ATM se tento problém øeší pomocí rendrování tiskových fontù do rastru a výsledkem jsou hladší obrysy i na obrazovce. Tiskové fonty jsou liniové pro kadou libovolnou velikost. Kvalita výstupu je závislá pouze na rozlišení výstupního zaøízení nikoliv na parametru zvìtšení. Na tisku z laserové tiskárny s rozlišením 300 dpi budou obrysy hrubší, na osvitové jednotce s rozlišením 2500 dpi se budou budou obrysy jevit hladké pøi jakékoliv praktické velikosti písma. Font management V praxi pouívá uivatel grafického systému vìtšinou omezený poèet fontù (Helvetica, Times, Palatino, Bookman a nìkteré další). Tyto fonty jsou implementovány v operaèním systému a aplikace je mohou vyuívat. Ostatní fonty, které jsou obèas pouívány, mohou být umístìny ve zvláštní sloce a do systému se implementují v pøípadì potøeby. Dùvod je ten, e velké mnoství fontù implementovaných v systému zpomaluje nìkteré operace. Pro manipulaci s fonty mimo operaèní systém a pro jejich nataení do operaèního systému a pøípadné odstranìní slouí font management programy. U operaèních systémù MacOS je to kromì ovladaèe ATM program Suitcase od Fifth Generation Systems. U Windows je to jednak ATM pro Adobe Type 1 i True Type fonty a Control Panel pro fonty True Type.
5.2 Vlastnosti PostScriptu Jak u bylo øeèeno v pøedchozích kapitolách, máme pøed výstupem práce na výstupní zaøízení (tiskárna, RIP + osvitová jednotka) v poèítaèi soubor dat vysázené stránky a chceme ji vytisknout nebo v RIPu vytvoøit soubor pro osvitovou jednotku. Výstupní zaøízení jsou schopna pøijímat informace o stránce ve dvou základních formátech - vektorovém nebo rastrovém. Existují dva nejznámìjší a nejpouívanìjší jazyky pro popis stránky: HPPCL (Hewllet Packard Page Command Language), jeho základními prvky jsou rastrovì popsané objekty a PostScript firmy Adobe, jeho základními prvky jsou vektorovì popsané objekty. Vìtšina uivatelských programù je schopna 27
transformovat svoje výstupní soubory do formátù obou produktù. Je nutné si uvìdomit, e pøi pouití tìchto produktù neexistují jednoduché prostøedky pro ladìní programù v tìchto jazycích. Tvorba tištìné stránky je v nich pro uivatele nepøístupná, viditelný je pouze výsledek. Budeme vìnovat podrobnìji popisu základních vlastností jazyka PostScript. Tento jazyk je interpretaènì funkcionální jazyk. Pojem interpretaèní znamená, e pøíkazy jazyka ve zdrojové formì se nepøekládají a nesestavují do spustitelného binárního kódu, ale provádí se pøímo jejich zdrojový kód pøíkaz po pøíkaze s grafickými daty, která byla modifikována pøedchozím zpracováním. Tuto èinnost provádí tzv. interpreter, který je umístìný obvykle ve výstupním zaøízení. Výsledkem je seznam hotových objektù, jak je navrhl grafik v grafických editorech. Pojem funkcionální znamená, e objekty jsou v PostScriptu popsány klíèovými slovy, které charakterizují matematické funkce (napø. Circle, Rect, atd.) , nikoliv body rastru. Provedení pøíkazù postscriptového kódu interpreterem je jeho základní funkcí. Druhou funkcí, kterou musí interpreter vykonat je pøevod tiskové stránky (objektù ze seznamu) do bitové mapy pomocí matice rastrové sítì, která je souèástí prostøedkù PostScriptu. Jedná se o operace síování a rastrování, které jsou velmi nároèné na rychlost zpracování. Navíc se pøi velkých rozlišeních jedná o velké objemy dat, proto výrobci prepressových systémù interpretery PostScriptu pøemisují z výstupních zaøízení do jednotek zvaných RIP (Raster Image Procesor). Klíèovou vlastností PostScriptu je jeho nezávislost výstupních dat na technických prostøedcích (hardwarová nezávislost). Tato vlastnost byla urèující pøi jeho návrhu a vývoji. Pøevedení tiskové stránky do rastrového formátu, který závisí na vlastnostech výstupního zaøízení, se provádí a v tomto výstupním zaøízení. Pomocí stejného postcriptového kódu je moné øídit tiskárnu s rozlišením 300 dpi a také osvitovou jednotku s rozlišením 2500 dpi. Vzhledem k tomu, e PostScript jako funkcionální jazyk, má mnoho prostøedkù pro zpracování vektorové grafiky, má samozøejmì monost práce s textem, kdy jednotlivé znaky jsou popsány vektorovì, tedy jejich obrysy jsou definovány liniovì. Obrys je definován nìkolika body, kterými se proloí aproximaèní funkce. Tím je definován tvar a øez písma, které jsou stejné pro všechny stupnì písma. Všechny další transformace u tohoto øezu se provádí a prostøedky PostScriptu. Potom je moné transformovaný font rastrovat do bitové mapy, jak to vyaduje koneèný tisk. Nìkteré motivy daného fontu se èasto opakují, ty jsou pak rastrovány natrvalo a uloeny ve pamìti Font-Cash. Pøi jejich pouití se do výsledné bitmapy naètou pøímo tyto rastrované motivy. Dùleitou vlastností PostScriptu je monost popisu tónovaných motivù a tím i manipulace s obrazy s rùznými úrovnìmi šedi. K reprodukci úrovní šedi pouívá PostScript metodu elektronického digitálního sítování. Kdy tedy v nìkterém z uivatelských programù vyplníme objekt nìjakou úrovní šedi (tónem), má PostScript prostøedky, jako tuto úroveò zpracovat a pøevést a do tisku. Z této monosti vyplývá samozøejmì monost zpracování barevných obrázkù tónováním motivù jednotlivých barevných výtakù. Nastavování parametrù elektronického síování (rozlišení, síová frekvence a síový úhel) pøi pøevodu do PS a EPS (Encapsulated PostScript) formátu je souèástí vìtšiny uivatelských programù pro stránkovou montá. Datový formát EPS je vlastnì postscriptový kód doplnìný o informace o objektech na stránce (jsou zapouzdøeny- encapsulated) a o informace o samotném EPS souboru. Tento formát EPS umonuje výmìnu dat jak mezi rùznými programy, tak mezi rùznými výpoèetními systémy.
28
6. Formáty grafických dat Pod pojmem datového formátu rozumíme zpùsob uloení dat na pamìovém médiu. Dùvodem standardizace datových formátù byla a stále je nutnost pøenosu souborù dat mezi rùznými aplikacemi a mezi rùznými platformami. Typy formátù grafických souborù - rastrové (TIFF, BMP, GIF, JPG, PNG) - vektorové (DXF, CDR, AI) - metafile soubory (RTF, EPS, PDF, WMF, PICT) - hypertextové (HTML,XML) - animaèní (FLI, FLA, MPEG) - multimediální (MOV, MPEG, AVI, WAV,SWF) Komprese grafických dat Komprese je proces, který redukuje fyzickou velikost datového souboru. Pøestoe pøi kompresi a dekompresi dochází pøi urèitých metodách k jisté ztrátì dat, nesmí dojít k viditelné deformaci grafických objektù v souboru. Kompresní algoritmy se pouívají na všechny typy grafických dat, ale jsou podle toho odlišné. Oøíklady nìkterých typù kompresí. RLE kódování (Run-Length Encoding) Proudového kódování RLE vyuívá vìtšina souborù s rastrovým formátem (TIFF, BMP, PCX). Tato komprese pracuje na principu opakujících se øetìzcù dat. Tento øetìzec se pak do souboru zapíše jako dvoubytová hodnota, kdy první byte je poèet opakování a druhý vlastní hodnot znaku. Napøíklad øetìzec AAAAAAAAA se zapíše jako 9A. Toto èíslo 9A se nazývá RLE paket. Existuje nìkolik variant proudového kódování. Výhodou této bezztrátové metody je jednoduchost a rychlost, nevýhodou pak niší kompresní pomìry ve srovnání s jinými metodami. LZW (Lempel-Ziv-Welchova) komprese Tato komprese je zaloena na slovníkovém kódování. Algoritmus pracuje tak, e za chodu kompresního programu buduje datový slovník tzv. frází øetìzcù dat nekomprimovaného souboru. Pokud se urèitý podøetìzec ve slovníku nevyskytuje, zapíše nová kódová fráze do slovníku a potom je tato fráze zapsána do komprimovaného výstupního souboru. Pokud se daný podøetìzec ve slovníku ji vyskytuje, zapíše se jeho fráze do výstupu. Komprese je dosaeno tehdy, pokud má fráze menší velikost, ne pùvodní podøetìzec. Dekódování je potom opaèný proces. Tato metoda je bezztrátová. Vyskytuje se bìnì v archivaèních programech Pkzip, Arj, Lha. Je pouitelná pro všechny typy grafických formátù. JPEG komprese JPEG je zkratka názvu komise, která vypracovala komprimaèní standard pro kompresi obrázkù s 24 bitovými daty (barevné fotografie se spojitýmí tóny). JPEG je ztrátová metoda, která komprimuje pøedlohy se spojitými tóny rychle, spolehlivì a úèinnì. Kompresní pomìr mùe dosahovat vysokých hodnot, bìnì 10, a uivatel ho mùe ovlivnit zadáním parametru nízké, støední nebo vysoké kvality dekomprimované grafiky. Vìtšina programù pro zpracování grafiky nabízí monost komprese grafických dat pomocí této metody. Princip komprese JPEG lze popsat následujícími kroky: • transformace pøedlohy do optimálního barevného prostoru (obvykle do YUV)
29
• podvzorkování barevných sloek U,V prùmìrováním skupin pixelù 2 x 2 (50 % úspora v datech) • pouití DCT (Diskrete Cosine Transformation) na informaèní bloky 8 x 8 pixelù. Tak získáme frekvenèní koeficiety blokù. Data s vysokou frekvencí (rychlé zmìny v obraze) se dìlením kvantizaèními koeficienty transformují po zaokrouhlení na nulové hodnoty (kolik jich bude nulových, o tom rozhoduje parametr kvality komprese, který zadává uivatel) • kódování výsledných koeficientù pomocí CCITT komprese • po pøenosu se potom provádí zpìtná diskrétní kosinová transformace z frekvenèní oblasti zpìt do prostorové oblasti CCITT komprese je neztrátová kompresní metoda pouívaná pùvodnì pro pøenos faksimilií èernobílých pøedloh. Dnes je nejvíc pouíván typ této komprese nazývaný Group 4. Princip kódování spoèívá ve vytváøení proudù bílých a èerných pixelù o rùzné délce, kterým se na výstupu kodéru pøidìlí kódová slova (binární) délky pøíslušného proudu. Kódová slova jsou pøeddefinována v tabulce. Protoe výstupní kódová slova jsou kratší ne vstupní proudy, dochází ke kompresi. Rastrové soubory Tyto soubory, které obsahují rastrový popis objektù, jsou obvykle organizovány do oblastí hlavièky, vlastních dat, paty a palety barev. Pata a paleta barev mohou chybìt. Hlavièka se nachází na zaèátku souboru a obsahuje v pevných polích informace o souboru (identifikátor souboru, poèet bitù na pixel, typ komprese, zaèátek dat, apod.). Za hlavièkou rastrového souboru mùe být umístìna paleta barev. Problémem je, pokud výstupní zaøízení neumoní zobrazit všechny zobrazitelné barvy (obvykle 16,7 miliónù), co je napøíklad u vìtšiny grafických adaptérù VGA. Potom musíme celý barevný rozsah konvertovat na poèet barev zobrazitelných na výstupním zaøízení. Napøíklad pokud adaptér VGA umoòuje zobrazit pouze 256 barev, musí se kadá moná barva z rozsahu 16,7 miliónu pøevést na nejbliší z 256 barev zobrazitených na monitoru. Souboru tìchto 256 barev se øíká paleta. Je to v podstatì mapa barev, tedy tabulka, ve které se na jednotlivé barvy odkazujeme èíslem pøidìleným této barvì. Tok dat je potom posloupnost tìchto èísel. Na pøíklad na 16-bitovou paletu se odkazujeme èísly 0-15. A barevná paleta uloená ve formátu souboru je vlastnì pøiøazení hodnot barevných sloek r, g, b v rozmezí 0-255 tìmto èíslùm. 0......0,0,0 1......255,255,255 2......255,0,0 . . 15.....255,128,128 V pøípadì, e jsou v datech souboru zapsány pixely v barevném rozsahu truecolor (24bitù na barevný pixel), je informace o paletì zbyteèná a data následují pøímo za hlavièkou. Vlastní rastrová data jsou uloena za hlavièkou nebo paletou barev. Mohou být v souboru organizována rùznými zpùsoby. Nejpouívanìjší jsou: • vzorkovací øádky • planární organizace. Jestlie si pøedstavíme, e pøedloha je rozloena na øádky a tyto na jednotlivé pixely, potom lze podobnì organizovat v souboru data po øádcích. Kdy známe poèet pixelù v øádku a velikost pixelu (v bytech), mùeme spoèítat, kde v souboru zaèíná kadý následující øádek. To umoní jakoukoliv
30
manipulaci se souborem. Komplikace nastávají v pøípadech formátù, kde se poaduje nìjaké zarovnávání øádkù. Planární data jsou kromì øádkù ještì organizována do ploch. Je to v pøípadech, kdy toto uspoøádání koresponduje s nìjakým konkrétním VGA adaptérem. Na pøíklad mohou být data barevné pøedlohy uspoøádána do tøí ploch odpovídajících barevným slokám r, g, b. Vektorové soubory Vektorové soubory obsahují matematické popisy (pomocí analytické geometrie) prvkù pøedlohy. Pojem vektor je odvozen z parametrického popisu køivek, kdy kadý bod je definován vektorem, tedy smìrem a délkou. Tyto formáty úzce souvisí s aplikacemi CAD (Computer Aided Design) grafickými editory a tabulkovými procesory. Jsou to napøíklad Excel XLS, Lotus DIF, AutoCad DXF, Corel CDR a obecný CGM. Organizace vektorového souboru je podobná jako u rastrového. Obsahuje hlavièku, paletu (nemusí být) a vlastní data. Zásadní rozdíl je v interpretaci obrazových dat. Data vektorového souboru jsou mnoinou popisù základních prvkù (úseèka, krunice, atd.). Napø. následující popis CIRCLE,40,100,100,BLUE; LINE,200,50,136,227,BLACK; znamená popis krunice a úseèky s parametry umístìní, velikosti a barvy. Tyto údaje jsou samozøejmì v souboru zapsány v ASCII kódu. V oblasti prepressu obsahují vektorový popis dat postscriptové PS, PRN, EPS soubory (nebo PDF soubory), i kdy obsahují také rastrová data, take patøí spíš mezi metasoubory. Metafile soubory Tyto soubory obsahují jak vektorové tak rastrové specifikace dat. Obvykle se jedná o vektorový formát doplnìný o monost ukládat rastrová data. Vìtšina typù metasouborù se od sebe tak liší, e je zbyteèné se pokoušet o nìjaký obecný hierarchický popis. Nejznámìjším metasouborem je v našem oboru EPS formát (Encapsulated PostScript). Další jsou RTF (Rich Text Format), WMF (Microsoft Windows Metafile), Macintosh PICT. Popis nìkterých grafických formátù Windows Bitmap formát (BMP) Formát BMP je formát pouívaný pøedevším ve Windows. Na zaèátku je hlavièka o velikosti 54 bajtù, ve které jsou informace o velikosti souboru, rozmìrech obrázku, poèátku dat a další. Potom v pøípadì pouití barevné palety následuje informace o pouité paletì a za ní u následují data o jednotlivých bodech obrázku. Pokud se pouívá 24 bitových barev, potom chybí informace o paletì a po 54 bajtech následují data ve formátu osmibitových slov v poøadí b, g, r pro kadý barevný bod. Tento formát je z dùvodu jednoduchosti velmi vhodný pro programování. Formát GIF (Graphic Interchange Format) Tento formát slouí k ukládání více rastrových obrázkù v jednom souboru a je urèen pøedevším pro výmìnu dat mezi programy a platformami. Obvyklý je však jeden obrázek v jednom souboru. Formát se pouívá pro import grafiky do HTML dokumemtù. Formát GIF je proudovì orientován, skládá se ze serií rùzných kategorií datových blokù. Na pøíklad obrazová data jsou ukládána v bloku typu Image Data, poznámky jsou ukládány v bloku Special Purpose atd. Formát GIF je schopen uchovávat jednobitová a osmibitová data v barevném prostoru RGB. Paleta barev je 16 nebo 256 bitová. Data jsou vdy komprimována metodou LZW. Vlastní uspoøádání souboru mùe být následující: • hlavièka • popisovaè logické obrazovky 31
• globální tabulka barev • obrazová data Obrazová data obsahují následující bloky: • lokální popisovaè obrázku na logické obrazovce • lokální tabulka barev • vlastní komprimovaná obrazová data ve formì subblokù. Obrazová data jsou ukládána po øádcích a v jejich rámci po pixelech. Je moné pouití také ètyøprùchodového prokládaného øádkování (z historických dùvodù). Nová verze GIF formátu 89a má nový prvek, tzv. øídicí rozšíøení: • rozšíøení øízení grafiky • rozšíøení standardního textu • rozšíøení pro aplikaci • rozšíøení komentáøe Microsoft RTF (Rich Text Format). Formát je urèen ke kódování textu a grafiky pro výmìnu souborù mezi rùznými aplikacemi. Vyznaèuje se dobrou kompatibilitou s mnoha programy. Data v souboru jsou uspoøádána proudovì a soubor sestává z polí promìnné délky následujících typù: • øídicí slova • øídicí symboly • skupiny Kadý z tìchto typù zaèíná zpìtným lomítkem následovaným ASCII znaky. Skupina je potom souhrn øídicích slov, øídicích symbolù a dat (textových nebo grafických) ve sloených závorkách. Pøíklady skupin: {\rtf1\ansi \geff0\deflang1024} {\fonttbl\f0\froman Tms Rmn; ....}. {\colortbl;\red0\green0\blue0;\red0\green0\blue255; .....} {\styleshhet{\fs20\lang1033 \snext0 Normal;} {\paperw12240\paperh11800\margl1800 ......} Four Basic Principles to Unify Mind and Body. {\par \tab1. Keep one point. \par \tab2. Relax copletely. \par } V první skupinì je popis základních parametrù RTF souboru jako celku. Druhá skupina obsahuje popis písem pouitých v dokumentu. Potom následuje skupina popisu barevné palety. Skupina s øídicím slovem stylesheet obsahuje definici stylù dokumentu. Vlastní obsah dokumentu tvoøí øádka textu zaèínající slovy Four Basic následovaná dvìmi øádkami odsazenými zleva. RTF formát pracuje také s rastrovými obrázky. Následuje pøíklad skupiny obrazových dat. {\pict\wmetafile8\picw23918\pich14552 ......\picscalex63 \picscaley63 010009000000328ea0100020a........\par}
32
7. Dvojrozmìrné transformace V dosavadních tématech jsme se zabývali problémy zpracování grafických dat na uivatelské úrovni, se zamìøením na oblast tisku. Tedy prostøedky poèítaèové grafiky, grafickými formáty, pøenosy dat mezi jednotlivými prostøedky, jazyky pro popis stránky a nìkterými prostøedky zpracování tiskových dat. V druhé èásti výkladu o poèítaèové grafice bychom se mìli zabývat tvorbou a úpravami grafických objektù na úrovni programátorské, tedy pøesnìji obecnými popisy nìkterých algoritmù poèítaèové grafiky. Tyto algoritmy jsou také implementovány ve vìtšinì programovaných produktù zabývajících se zpracováním grafiky. Budeme se tedy zabývat výpoèetními postupy tvorby pøímek, køivek, oøezáváním objektù, vyplòováním objektù, vyhlazováním obrazu a ostøením obrazu. Pøehled dvojrozmìrných transformací Budeme se zabývat dvojrozmìrnými transformacemi pro • posunutí • otoèení • zmìna mìøítek • zkosení • zrcadlení Posunutí Pøedpokládejme bod o souøadnicích x, y, který je souèástí nìjakého plošného objektu. Nové souøadnice bodu jsou po posunutí X, Y (obr.7.1). Potom X = x + Tx Y = y + Ty kde Tx a Ty jsou hodnoty posunutí.
Obr.7.1 Posunutí bodu Rastrové objekty mùeme posuouvat buï bod po bodu, u objektù kreslených èarovou grafikou mùeme posunout pouze definièní body a potom vykreslit objekt podle definièní rovnice. Otoèení Otoèení bodu o souøadnicích x,y vzhledem k poèátku o úhel a (viz obr. 7.2) je realizováno podle následujících vztahù: 31
X = x cos a - y sin a Y = x sin a + y cos a Opìt mùeme objekt otáèet bod po bodu, nebo otoèit pouze definièní body a potom objekt vykreslit podle definièní rovnice (obr.7.2). Otoèení kolem obecného bodu lze realizovat posunutím tohoto bodu do poèátku, potom otoèením a zpìtným posunutím do pùvodního bodu otáèení.
Obr.7.2 Otoèení bodu
Zmìna mìøítka Zmìnou mìøítka se mìní velikost objektu v jednom nebo v obou smìrech: X = x Mx Y = y My kde Mx, My jsou mìøítka ve smìrech x, y a jsou to reálná èísla. Pøi zmìnì mìøítka se mìní také poloha objektu. Abychom tomu zamezili, volíme tzv. vztaný bod (napø. støed objektu) a k nìmu provedeme zmìnu mìøítka.Transformaci mùeme provést pro kadý bod objektu. Ale pro základní grafické prvky jako úseèka, krunice se transformují pouze definièní body a potom se obrázek znovu vykreslí. Zkosení Zkosení mùe být vzhledem k ose x nebo vzhledem k ose y. Pro osu y platí transformaèní vztahy (viz obr. 7.3). X = x + y Sy Y=y kde Sy je koeficient zkosení. Pøi zkosení dochází pøi obecné poloze k posuvu objektu. Aby k tomu nedocházelo, posune se objekt na støed souøadného systému, potom se provede zkosení a nakonec zpìtný posuv na pùvodní místo.
34
Obr.7.3 Zkosení úseèky a obdélníka vhledem k ose y
Zrcadlení Zrcadlové objekty mùeme vytváøet vzhledem k nìkteré z os nebo vzhledem k poèátku (obr. 7.4). Pro zrcadlení vhledem k ose x platí X =x Y =- y vzhledem k ose y X = -x Y= y vzhledem k poèátku X = -x Y =- y
Obr.7.4 Rùzné druhy zrcadlení
Maticové vyjádøení transformací Všechny transformaèní vztahy je moné formálnì vyjádøit pomocí jedné maticové rovnice, co je z hlediska programování výhodnìjší. Výsledkem je urychlení výpoètù. Abychom mohli provádìt s grafickými objekty maticové operace, zavádìjí se tzv. homogenní souøadnice yh = y × h xh = x × h Souøadnice x, y se potom vyjádøí pomocí homogeních souøadnic xh, yh, h. Pro h = 1 znaèíme pak homogenní souøadnice x, y, 1.
35
Transformaèní maticová rovnice je potom obecnì PT = P × M T = ( x
æ M 11 M 12 M 13 ö ÷ ç y 1) ç M 21 M 22 M 23 ÷ ç M 31 M 32 M 33 ÷ ø è
kde PT = ( X Y 1) je vektor transformovaných souøadnic, P = ( x y 1) je vektor pùvodních souøadnic a M T je tranformaèní matice. Tranformaèní matice M T má pro jednotlivé transformace rùzný obsah. Pro posunutí æ1 0 0ö ÷ ç 0÷ M T = ç0 1 ç Tx T 1 ÷ y ø è Provedeme násobení æ1 0 0ö ÷ ç P × M T = ( x y 1) ç 0 1 0 ÷ = ( x + Tx y + Ty 1) ç Tx T 1 ÷ y ø è Tedy X = x + Tx, Y = y + Ty, co je ve shodì s pùvodním vzorcem. Pro otáèení æ cos a sin a 0 ö ç ÷ M T = ç -sin a cos a 0 ÷ ç 0 0 1 ÷ø è Pro zmìnu mìøítka æ Mx 0 0 ö ç ÷ M T = ç 0 My 0 ÷ ç 0 0 1 ÷ø è Pro zkosení æ 1 Sx 0 ö ç ÷ M T = ç Sy 1 0 ÷ ç 0 0 1÷ è ø
36
Pro zrcadlení kolem poèátku
æ -1 0 ç M T = ç 0 -1 ç 0 0 è
0ö ÷ 0÷ 1 ÷ø
Posloupnost základních transformací, na pøíklad dvì posunutí ze støedu, dostaneme jako sloenou transformaèní matici vzniknou násobením dvou jednoduchých transformaèních matic. Sloená transformaèní matice pro dvì posunutí 0 0 0ö æ 1 0 0ö æ 1 æ1 ç ÷ç ÷ ç Ms = ç 0 1 1 0÷ ç 0 1 0÷ = ç 0 ç Tx 1 Ty 1 1 ÷ ç Tx 2 Ty 2 1 ÷ ç Tx 1 + Tx 2 Ty 1 + Ty 2 è øè ø è
0ö ÷ 0÷ 1 ÷ø
Podobnì mùeme vytvoøit další sloené transformaèní matice a tím formalizovat i sloitìjší posloupnosti základních transformací. Je to výhodné z hlediska programování a také èasové úspornosti výpoèetních algoritmù. Pokud pouíváme zpìtnou transformaci, napø. Zpìtný posuv do bodu otáèení, pak aplikujeme inverzní tranformaèní matici MT-1. Pøevzorkování obrazu Pøi provádìní uvedených transformací, pøedevším pøi zmìnách mìøítka a rotaci, nastává potøeba rekonstrukce jednotlivých pixelù obrazu. Pøi zvìtšení je nutné pixely pøidávat, pøi zmenšování pixely odstraòovat, jestlie chceme zachovat pùvodní hodnotu rozlišení (poèet pixelù na jednotku délky). Základní myšlenka pøevzorkování spoèívá v aproximaci tranformované digitální obrazové funkce na spojitou funkci s následným novým vzorkováním. Metody rekonstrukce se od sebe liší pouze tím, jaká aproximaèní funkce se pouije. Jako pøíklad je uvedena metoda lineání interpolace.
Obr. 7.5 Lineární interpolace ve smìru x Metoda spoèívá v proloení dvou sousedních pixelù úseèkou a hodnota funkce v pøidaném bodì x se vypoèítá z rovnice pøímky (obr. 7.5). é f 1 - f0 ù f ( x ) = f (0) + êx × ú ë x1 - x 0 û kde f0 a f1 jsou hodnoty obrazové funkce v bodech x0 a x1 pøed transformací, jak je vidìt z obrázku 7.5. U obrazové funkce, která je dvojrozmìrná, se interpolace provádí v obou smìrech x, y.
37
8. Základní grafické prvky V tomto tématu se budeme zabývat tvorbou základních grafických prvkù, co jsou úseèka, polygon a elipsa. Jak víme z minulých témat, mohou být grafické objekty v souboru dat prezentovány vektorovì nebo rastrovì. My se budeme zabývat v tomto pøípadì algoritmy generování do rastrového formátu, protoe na výstupních zaøízeních (tiskárny, displeje, tiskové stroje) se objekty vytváøejí vesmìs rastrovým zpùsobem. Vektorová reprezentace objektù je vhodná v pøípadì vnitøních manipulací v programu a pøenosu tìchto objektù. Budeme tedy aproximovat teoretickou èáru body rastru tak, aby se výsledná èára sloená z bodù rastru co nejvíce blíila teoretické. Je tøeba vyhovìt následujícím poadavkùm: • èára musí zaèínat a konèit v zadaných krajních bodech, • z hlediska vizuálního vjemu se èára musí jevit jako hladká, • tlouška èáry nesmí výraznì záviset na její smìrnici, • vykreslování musí být relativnì rychlé.
Vykreslení úseèek Kresba úseèky se realizuje vykreslováním posloupnosti digitálních bodù mezi krajními body úseèky tak, aby nejvhodnìjším zpùsobem padly do rastru výstupního zaøízení (viz obr. 8.1). Hustotu rastru (rozlišení výsledného obrazu) mùe nastavit uivatel. Maximální hodnota je dána rozlišovací schopností výstupního zaøízení. Podobnì se po úseèkách realizuje vykreslování polygonu (n-úhelník).
Obr.8.1 Rastrová aproximace úseèky Základní postup spoèívá v pøidìlování postupnì narùstající souøadnicí x vhodné souøadnice y tak, aby se výsledná lomená èára co nejvíce blíila poadované úseèce. Protoe jsou souøadnice x a y celoèíselné, je nutné vypoèítanou souøadnici y zaokrouhlit a jsou tedy vykreslené úseèky celoèíselnou aproximací skuteèné úseèky. Zaokrouhlování souøadnic y na celoèíselné hodnoty vytváøí schodovité efekty, jejich velikost závisí na rozlišovací schopnosti výstupního zaøízení. Vychází se z rovnice pøímky. Rovnice pøímky ve smìrnicovém tvaru je y = kx + q, kde k je smìrnice a q posuv na ose y v poèátku souøadnic. Je - li pøímka zadána dvìma body [x1,y1], [x2,y2] potom k=
y 2 - y 1 Dy = x 2 - x 1 Dx
38
q=
x 2 y1 - x1 y 2 Dx
Z rovnice pro smìrnici mùeme psát Dy = k Dx Poslední rovnice je základem algoritmù pro rozklad úseèky do rastru. Pøírùstkový algoritmus DDA (Digital Diferential Analyzer) Pro k > 0 a souèasnì k < 1 (úseèka má smìrnici menší ne 1) volíme Dx = 1 a potom Dy = k y i+1 - y i = k y i+1 = y i + k Generování souøadnic jednotlivých bodù úseèky probíhá tím zpùsobem, e zvìtšujeme postupnì souøadnici x o 1 a pøíslušné y o k. Protoe k není obecnì celé èíslo, vypoèítané souøadnice y zaokrouhlujeme. Pro k > 1volíme Dy = 1 a potom Dx =
1 k
x i+1 = x i +
1 k
Postup je podobný jako v pøedchozím pøípadì, pouze zaèínáme souøadnicí y. Zvìtšujeme y postupnì o jednièku a x zvìtšujeme o 1/k. Podobné rovnice se dají odvodit pro ostatní smìry generované úseèky. Základní nevýhodou pøírùstkového algoritmu je pomalost v dùsledku dìlení necelým èíslem k a zaokrouhlováním.
y i+1 yi
xi
Obr.8.2 Princip Bresenhamova algoritmu
39
x i+1
Bresenhamùv algoritmus Je zaloen na výpoètech s celými èísly. Tím se výpoèet urychluje a pøi velkých poètech pixelù to znamená podstatné sníení èasù výpoètù (viz. obr. 8.2). Pøedpokládáme, e koncové body úseèky jsou umístìny v rastru (ve støedech pixelù), tedy Dx, Dy jsou celá èísla. Volíme x i+1 = x i + 1 a rozhodujeme jestli yi+1 má být buï y i+1 = y i nebo y i+1 = y i + 1. Toto rozhodnutí provedeme na základì výpoètu hodnot d1 a d2. Pøesná souøadnice y v bod2 xi+1úseèky je y = k ( x i + 1) + q potom d1 = y - y i = k ( x i + 1) + q - y i d 2 = y i + 1 - y = y i + 1 - k ( x i + 1) - q Ddi = d1 - d 2 = 2k ( x i + 1) - 2 y i + 2q - 1 Podle znaménka Dd urèíme, který ze dvou moných bodù rastru leí blíe skuteèné hodnotì y a ten pokládáme za další bod úseèky. Pro Dd £ 0 je yi+1 = yi a pro Dd > 0 je yi+1 = yi +1. Protoe k není celé èíslo, je nutné celý výraz pro d poèítat v pohyblivé øádové èárce - výpoèty se prodluují. Proto zavádíme novou promìnnou p a nazveme ji predikce. Pro i-tou predikci platí vztah p i = D di D x kde Dx je rozdíl x souøadnic definièních bodù úseèky. Dalším odvozením [2] získáme základní rovnici Bresenhamova algoritmu pro predikci pi+1 = pi + 2Dy - 2Dx( y i+1 - y i ) Popis algoritmu Jestlie je v i-tém bodì predikce pi £ 0, volíme y i+1 = y i a potom následující predikce pi+1 = pi + 2Dy Jestlie je v i-tém bodì pi > 0, volíme y i+1 = y i + 1 a potom následující predikce pi+1 = pi + 2Dy - 2Dx Vdy tedy vypoèítáme následující predikci z pøedchozí a rozhodujeme o souøadnici y. Konec je pro hodnotu i odpovídající koncovému bodu úseèky. Jako první hodnota predikce se pouívá hodnota (je to celé èíslo) p1 = 2Dy - Dx Pøi výpoètu další predikce pi+1 tedy poèítáme poøád s celými èísly, co je vidìt ze vzorcù pro predikce. Výhodou tohoto algoritmu oproti DDA algoritmu je jednoduchost vzorcù a poèítání s celými èísly. Pro kreslení krunice a elipsy se pouívá také Bresenhamova algoritmu. Místo rovnice pøímky se aplikuje rovnice krunice a elipsy.Vzorce mají potom tvar odpovídající tvaru objektu.
40
Vyhlazování èar Èáry kreslené v rastrové grafice mají zubatý vzhled, èím je rastr hrubší, tím je tento jev patrnìjší. Zvyšování hustoty rastru má své omezení v maximální rozlišovací schopnosti výstupních zaøízení, proto byly navreny metody softwarového zlepšování vzhledu èar. Technologie RET (Resolution Enhancement Technology) Tato technologie je produktem firmy Hewllet Packard. Princip spoèívá v pouití zmenšených digitálních bodù (pixelù) v místech schodovitého pøechodu èáry (obr. 8.3). Protoe jsou vloené body menší, vzniká dojem, e jsou posunuty dovnitø zlomu.
Obr.8.3 Vyhlazování RET
Vyhlazování zmìnou jasu (pouze pro displeje) Princip spoèívá ve skuteènosti, e kadá èára má urèitou tloušku a pokrývá urèitou èást digitálního bodu (pixelu). Kadému pixelu se potom pøidìluje jas úmìrný velikosti plošného pokrytí tohoto pixelu teoretickou èarou. Vìtšímu pokrytí odpovídá vyšší jas, menšímu niší jas. Tím se vjem zubatosti zmenší.
41
9. Kreslení køivek Toto téma se týká definice køivek ve vektorové grafice. Pøi kreslení køivek vzniká problém hned pøi vstupu dat. Køivky se nejlépe zadávají funkèním pøedpisem y = f(x). Pro uivatele to však není pøíliš vhodný zpùsob, protoe uivatel potøebuje zadat køivku interaktivnì, nejlépe pomocí vhodného vstupního zaøízení (myš, tablet). Pouitím vstupního zaøízení se zadávají pomocí definièních bodù (také øídicích bodù) a program potom køivku vytvoøí. Jakmile máme v systému definovan matematický popis køivek, teprve potom lze pomocí vhodných algoritmù vykreslovat køivku v rastrové grafice (napø. Bresenhamùv algoritmus). Matematické vyjádøení rovinných køivek 1. Explicitní y = f (x) Toto vyjádøení je vhodné pro poèítaèovou grafiku. 2. Implicitní F ( x, y ) = 0 Toto vyjádøení není vhodné pro poèítaèovou grafiku. 3. Parametrické x = x( t ) y = y( t ), t Î á01 ,ñ kde t je parametr. Toto vyjádøení je vhodné pro poèítaèovou grafiku. Na pøíklad rovnice elipsy v parametrickém tvaru x = S x + a cos( t ) y = Sy + b sin( t ), t Î á0,2pñ kde Sx, Sy jsou souøadnice støedu a parametry a, b velikost poloos elipsy. Vztah mezi x a y mùeme zapsat pro zjednodušení zápisu pomocí polohového vektoru P(t), který je funkcí parametru t (obr.5.1). P( t ) = [x( t ), y( t )] Potom derivace polohového vektoru P'( t ) = [x'( t ), y'( t )] = [
dx( t ) dy( t ) , ] dt dt
y
t=1
[x(t),y(t)]
t=0
P (t)
x
Obr.9.1 Vektorová reprezentace køivky
42
Interpolaèní køivky Pokud je køivka zadána nìkolika body (uzly interpolace) je moné provést její interpolaci pro všechny její body (viz obrázek 9.2).
Obr. 9.2 Interpolaèní køivka Funkce y = f(x) je interpolaèní funkcí. Tato funkce splòuje následující poadavek: jestlie je bod ai = [xi, yi] uzlem interpolace, potom je hodnota y v tomto bodì rovna f(xi). Tedy interpolaèní funkce prochází uzly interpolace. Nejèastìji se pouívá jako interpolaèní funkce polynom y = A0 + A1 x + A2 x 2 + ........... An x n pro n + 1 uzlù interpolace. Hodnoty A0, A1......An se vypoèítají ze soustavy rovnic, která vznikne dosazením jednotlivých souøadnic uzlových bodù do rovnice polynomu. V praxi se pouívá nejèastìji interpolace po èástech. To znamená, e volíme polynom podstatnì nišího øádu ne je poèet uzlových bodù n. Napøíklad polynomem 3. øádu interpolujeme 4 uzlové body. Potom vezmeme další 4 body a ty znovu interpolujeme polynomem 3. øádu atd. Problémem je z hlediska programování návaznost jednotlivých èástí. Nejznámìjší je tzv. Lagrangeùv interpolaèní polynom. Aproximaèní køivky Aproximací rozumíme vytvoøení køivky z uzlových bodù, ani tato køivka body prochází. To se realizuje napø. metodou nejmenších ètvercù, kdy smyslem aproximace je nalézt hladkou køivku za pøedpokladu, e souèet druhých mocnin vzdáleností uzlových bodù od køivky je minimální. V poèítaèové grafice je smyslem aproximace generování køivky, která je zadána nìkolika body (tzv. øídicí polynom), nebo body a vektory (smìrnice v nìkterých bodech). Pouívá se aproximace pomocí polynomu 3. øádu, co jsou kubické køivky. Je to vhodný kompromis, protoe to není z hlediska rychlosti výpoètu vysoký øád a køivka je pøi tom dostateènì „pruná“. Nejèastìji se v grafice pouívají tzv. Bézierovy køivky. Ty jsou zadávány ètyømi body P0, P1, P2, P3 (viz obrázek 9.3). Tyto body lze definovat polohovými vektory P0, P1, P2, P3. Zaèátek a konec køivky je øízen body P0 a P3, prùbìh body P1 a P2. Polohový vektor bodù Bézierovy køivky je definován P( t ) = P0 × B0 ( t ) + P1 × B1 ( t ) + P2 × B2 ( t ) + P3 × B3 ( t ); t < 0, 1 > kde B0(t), ....B3(t) jsou Bézierovy polynomy.
43
Obr.9.3 Bézierova køivka Pro Bézierovy polynomy platí rovnice B0 ( t ) = (1 - t ) 3 B1 ( t ) = 3t × (1 - t ) 2 B2 ( t ) = 3t 2 × (1 - t ) B3 ( t ) = t 3 Kdy dosadíme t = 0 a t = 1do pøedchozích vztahù dostaneme P(0) = P0 a P(1) = P3. Køivka tedy prochází svými krajními definièními body. Derivace P(t) podle t je P '( t ) = P0 × B ' 0 ( t ) + P1 × B '1 ( t ) + P2 × B ' 2 ( t ) + P3 × B ' 3 ( t ); t < 0, 1 > Provedením výpoètu derivace a dosazením t = 0 a t = 1 dostaneme P '(0) = 3 ( P1 - P0 ) P '(1) = 3 ( P2 - P3 ) Velikost derivace v poèáteèním a koncovém bodì je rovná trojnásobku rozdílu krajních polohových vektorù a smìr derivace v krajních bodech je dán spojnicí definièních bodù odpovídajících vektorù. V poèítaèové grafice se pouívá více druhù interpolaèních a aproximaèních køivek. Nejvíce pouívané vedle Bézierových køivek jsou Fergusonovy interpolaèní kubické køivky, Coonsovy aproximaèní kubické køivky a spline kubické køivky Racionální Bézierovy køivky Jedná se o pomìrnì novou metodu v poèítaèové grafice, tedy zobecnìní klasických Bézierových køivek. U Bézierových køivek musíme identifikovat jeden ze ètyø definièních bodù pokud chceme køivku zmìnit. Teprve potom mùeme mìnit smìr nebo polohu. Tato identifikace není z výpoèetního hlediska jednoduchá, obzvláš u prostorových køivek. Princip racionálních Bézierových køivek spoèívá v tom, e se kadému øídícímu bodu pøidìlí reálné èíslo. Racionální Bézierova køivka je potom urèena posloupností bodù P0, P1, P2, P3 a posloupností tìchto reálných èísel. Kdy chceme zmìnit prùbìh køivky, identifikujeme jednotlivé body zmìnou reálného èísla, co je výpoèetnì jednodušší.
44
10. Oøezávání a vyplòování oblastí 10.1 Oøezávání oblastí Oøezávání obrazu se uskuteèòuje ve dvou pøípadech: • Chceme skuteènì oøíznout èást obrazu jako jeho úpravu, výsledný soubor nebude obsahovat odøíznutou èást. • Oøíznutí pouze z dùvodu zobrazení na displeji, oøezání se uskuteèní pouze v pamìti videokarty, výsledný soubor se nezmìní (oøezávaná èást se neztratí). Z uivatelského hlediska je oøíznutí jednoduché, grafický program umoòuje generovat oøezové okno. Èásti obrazu, které ho pøesahují se odøíznou. Pokud si oznaèíme souøadnice oøezového okna jako xwmin, ywmin, xwmax, ywmax, potom bod [x, y], který patøí do okna a bude tedy vykreslen, splòuje nerovnosti: x wmin £ x £ x wmax y wmin £ y £ y wmax Algoritmus zaloený na tìchto nerovnostech se nepouívá z dùvodù èasové nároènosti. Rychlé algoritmy oøezávání jsou zaloeny na tom, e se vytváøejí algoritmy oøezávání typických grafických prvkù (úseèka, mnohoúhelník) a ty se pak pouívají k oøezávání sloitìjších grafických objektù. Oøezávání úseèky Nejznámìjší metodou je Cohen-Sutherlandùv algoritmus (obr. 10.1).
Obr.10.1 Princip Cohen-Sutherlandova algoritmu Je vytvoøeno 9 oblastí s uvedenými kódy, uprostøed je oøezové okno. Význam jednotlivých bitù (hodnota 1 pro souhlasící polohu) je v následujícím schematu. X X X X | | | vlevo | | vpravo | dole nahoøe
45
Algoritmus oøezávání: • testují se vrcholy úseèky a pøiøadí se k nim pøíslušné kódy • jestlie mají oba vrcholy kód 0000 - neoøezává se (vykreslí se celá úseèka) • jestlie je v obou krajních kódech aspoò jedna jednièka na stejném místì - úseèka je celá mimo okno a nevykresluje se nic • ve všech ostatních pøípadech kódù krajních bodù se poèítají prùseèíky úseèky s hranicemi okna • prùseèík rozdìlí úseèku na dvì èásti, jedna leí èásteènì nebo úplnì uvnitø, druhá úplnì mimo, nebo obì mimo - testujeme pøedchozími kroky • postup se opakuje pro pøípadný další prùseèík. Modifikace této metody spoèívá v tom, e místo hledání prùseèíku dvou pøímek se tento hledá metodou postupného pùlení úseèky. Z parametrického tvaru rovnice pøímky je navreno více algoritmù tzv. parametrického oøezávání. Oøezávání plných mnohoúhelníkù Nejznámìjší metodou je metoda Sutherland-Hogmann zaloená na postupném oøezání mnohoúhelníku jednotlivými hranicemi oøezového okna. Mnohoúhelník je v programu definován posloupností vrcholù. Pøi oøezávání se porovnávají pozice dvojice vrcholù vùèi hranicím (levé, pak pravé atd.). Vrcholy leící uvnitø vzhledem k testované hranici a pøípadné prùseèíky s hranicí, jsou uschovány pro další testování vzhledem k ostatním hranicím. Vrcholy, leící mimo testované hranice jsou z dalšího zpracování vylouèeny.
Obr.10.2 Oøezávání podle levé hranice oblasti Postup pro levou hranici je znázornìn na obrázku 10.2. Pokud je pøedchozí vrchol uvnitø a další vnì hranice, vypoèítáme prùseèík. Výsledkem jsou vrcholy a pøípadné prùseèíky leící uvnitø oøezového okna. Oznaèení S je pro startovací bod a P pro pokraèující bod. 1. Vyhodnotíme polohu vrcholu P. Pokud je P uvnitø a S byl také uvnitø, uschováme je. 2. Vyhodnotíme polohu nového P. Protoe pøedchozí bod byl v našem pøíkladu uvnitø a následující je vnì, vypoèítáme prùseèík s testovanou hranicí a ten uschováme. 3. Oba body P a S jsou mimo levou hranici, nic neuschováváme. 4. Pøedchozí bod je mimo, následující bod P je uvnitø, vypoèteme prùseèík s hranicí a ten uschováme. Výsledkem jsou ètyøi uschované body (dva pùvodní a dva prùseèíky) urèující mnohoúhelník oøíznutý levou hranicí. Dále se postup opakuje pro další tøi hranice. V našem pøíkladì se u nic neoøezává, protoe všechny uschované body jsou u “uvnitø” hranic.
46
Oøezávání textu Jsou tøi monosti oøezání textu: • vše nebo nic – celý obrazec textu urèený definièním obdelníkem je uvnitø okna - potom se celý vykreslí. Pokud je èást mimo, celý se odøee. • celý nebo ádný znak – z øetìzce, který není celý v oøezovém oknì se oøíznou znaky, které jsou mimo. Znaky uvnitø se vykreslí. • oøezání jednotlivých znakù – èást znaku, který je uvnitø oøezového okna se vykreslí, èást mimo se oøee. Zde se pouívají algoritmy pro oøezávání úseèek (køivky se mohou aproximovat na lomené èáry).
10.2 Vyplòování oblastí Pod vyplòováním je myšleno vyplòování jednobarevnými výplnìmi, barevným vzorem nebo šrafováním. Šrafování je urèeno pro èarová kreslící zaøízení (plottery). Pouívají se dvì skupiny algoritmù podle zpùsobu urèení hranice oblasti: • hranice je urèena geometricky posloupností vrcholù • hranice je urèena interaktivnì (kreslením na obrazovce). U geometricky urèené hranice se jedná obvykle o mnohoúhelník. Ten je tvoøen posloupností koncových bodù lomené èáry. Komplikace mohou nastat, jestlie je mnohoúhelník konvexní nebo konkávní, nebo se hranice mohou protínat. Další komplikací mùe být, e plocha mùe mít otvory. To všechno má vliv na algoritmy vyplòování. Metoda øádového rozkladu Je to metoda pro geometricky urèenou hranici a je vhodná pro èarová kreslicí zaøízení (je moné ji však pouít také pro zaøízení, která tisknou rastrovým zpùsobem).
y
C
F D
B A
B C - CD, E F - F G B C - CD, E F - F G AB - (B C) - F G AB - F G
E G
x
Obr.10.3 Vyplòování metodou øádkového rozkladu Princip spoèívá v postupném vyplòování oblastí vodorovnými úseèkami, jejich koncové body leí na hranici oblasti (viz obr. 10.3). Jsou to prùseèíky pøímek s hranicemi. Pro jednotlivé rozkladové vodorovné øádky od ymax do ymin s krokem -1 hledáme prùseèíky se všemi hranami oblasti. V kadém øádku vytvoøíme seznam souøadnic prùseèíkù uspoøádaných podle x, sdruíme je zleva doprava do dvojic lichého a sudého prùseèíku a nakonec vyplníme body leící uvnitø kadé dvojice lichý-sudý. Seznam na druhém øádku je typický pro vìtšinu øádkù.
47
Mohou nastat zvláštní pøípady: • rozkladový øádek prochází vrcholem, protíná tedy dvì úseèky, proto do seznamu musíme pøidat druhý prùseèík od druhé úseèky • pokud je na rozkladovém øádku celá hranièní úseèka (nekoneènì mnoho prùseèíkù), posuzuje se oddìlenì na zaèátku algoritmu • lichý poèet prùseèíkù (nejdou vytvoøit všechny dvojice) vzniká u rozkladových øádkù ve vrcholech, které jsou souèástí monotónì klesajících nebo monotónì rostoucích hran. V takovém pøípadì zahrneme do seznamu pouze jeden ze dvou prùseèíkù ve vrcholu. Tento algoritmus se dá urychlit vyuitím rùzných souvislostí a vlastností vyplòovaného objektu. Napøíklad mùeme v pamìti uchovávat seznam aktivních hran pro aktuální rozkladovou øádku a poèítáme prùseèíky pouze tìchto hran. Pøi pøechodu na nový øádek zùstává vìtšinou seznam hran stejný. Seznam hran se aktualizuje, a je to potøebné. Tím se algoritmus urychlí. Další moností urychlení je aplikace principu Bresenhamova algoritmu pro výpoèet prùseèíkù s hranami. Tím se zpracování pøevede na celoèíselné výpoèty. Metoda øádkového rozkladu je vhodná také pro šrafování. V tom pøípadì není souøadnici y pøiøazen krok -1, ale vìtší èíslo. Pøi šikmém šrafování se napøed provede transformace otáèení o úhel alfa, potom se provede výpoèet prùseèíkù a pøed vlastním vykreslením se hranice otoèí o pøíslušný úhel. Pøi vyplòování oblastí s hranicí urèenou køivkami se místo rovnic úseèek pouívají rovnice tìchto køivek. Inverzní vyplòování. Tato metoda je zaloena na pouití logické funkce inverze pøidìlené logické hodnoty pixelù v aktuálnì vyplòované oblasti. Na obrázku 10.4 je znázornìn postup pøi vyplòování. Plocha je ohranièena hranicí a provádíme vyplòování po øádcích shora postupnì pro kadou èást hranice do pravého okraje obrazu. Nevyplnìným bodùm pøiøazujeme hodnotu log0, vyplnìným bodùm hodnotu log1. Pøi tom aplikujeme logickou funkci inverze.
Obr.10.4 Pøíklad inverzního vyplòování V kroku 1 vyplòujeme plochu od pravé horní hranice do pravého okraje. Protoe mìla tato oblast pøiøazenou hodnotu log0, vyplníme ji. V kroku 2 vyplòujeme od levé hranice. Oblast uvnitø trojúhelníka vyplníme, protoe mìla hodnotu log0, vyplnìnou oblast z pøedchozího kroku invertujeme (nastavíme ji do log0), protoe mìla hodnotu log1. Èást od pravé spodní hranice vyplníme, protoe mìla hodnotu log0. Ve tøetím kroku vyplòujeme od pravé spodní hranice. Protoe tato oblast mìla hodnotu log1 z pøedchozího kroku, nastavíme ji do log 0 a trojúhelník je vyplnìn.
48
Semínkové vyplòování. Je to metoda vhodná pro systémy, kdy je hranice objektu urèena interaktivnì, t.j. uivatel pomocí tabletu nebo myši nakreslí na obrazovce obrys objektu, ukáe na vnitøní bod (semínko) a vybere barvu nebo vzorek výplnì. Jedná se o úlohu typickou pro rastrové systémy.Vstupem algoritmu jsou souøadnice vnitøního bodu, hranice objektu ve formì seznamu pixelù tvoøících hranici a parametry výplnì. Pøi vyplòování postupujeme od semínka a kontrolujeme, zda sousední body patøí do ohranièené oblasti. Pokud vnitøní bod neleí na hranici a nebyl dosud vybarven barvou výplnì je vykreslen spolu se ètyømi sousedními body. Potom se vezme sousední bod a provede se toté a do posledního bodu uvnitø hranice. Algoritmus je velmi neefektivní, kadý pixel je testován nìkolikrát, i kdy u byl vybarven. Proto se pouívají metody, které algoritmus urychlují. Jednou z nich je metoda øádkového semínkového vyplòování, co je kombinace semínkového vyplòování s metodou øádkového rozkladu.
49
11. Zpracování rastrových obrazù Doposud jsme se zabývali algoritmy vytváøení grafických objektù. V této èásti se budeme zabývat nìkterými funkcemi zpracování rastrových obrazù, které jsou bìnou souèástí grafických programù. V poèítaèové grafice to znamená vylepšování nìkterých vlastností nasnímaného obrazu jako celku (kontrast, ostrost, modifikace barev atd.) nebo jeho zvolené èásti. Cílem zpracování obrazu je vylepšit èi zvýraznit nìkteré rysy obrazu nebo jeho èásti. V polygrafii to znamená pøiblíení se snímané pøedloze a odstranìní jejích pøípadných nedostatkù. Je dùleité si uvìdomit, e tímto zpracováním nezískáme ádnou novou informaci. Pouze mùeme nìkterou informaci potlaèit nebo ji zvýraznit. Pokud bychom chtìli zvýšit celkový obsah informace v obraze, musíme zlepšit zpùsob jeho získání (na pøíklad zvýšením rozlišení pøi skenování nebo zvýšením poètu bitù na jednu barevnou sloku).
11.1 Základní pojmy Obrazová funkce je matematickým modelem dvojrozmìrného obrazu. Je to spojitá funkce dvou promìnných tvaru z = f ( x, y ) kde z je intenzita odraeného nebo procházejícího svìtla (charakterizovaná jasem) a x, y jsou souøadnice bodu v rovinì. Pokud je obraz monochromatický, je definován jedinou obrazovou funkcí. Jedné dvojici x, y odpovídá jedna hodnota jasu z. V barevném (multispektrálním obraze) odpovídá kadé dvojici x, y vektor jasù barevných sloek r, g, b. Pøi zpracování obrazu se potom jednotlivé sloky zpracovávají samostatnì. Digitalizace obrazu je dùleitá pro další zpracování obrazu v poèítaèi. Digitalizace spoèívá ve vzorkování obrazu v souøadnicích x, y a v kvantování v hodnotì jasu. Tím získáme strukturu MxN bodù, kdy kadému bodu obrazu je pøidìlena celoèíselná hodnota jasu z intervalu 0 – 2m-1 diskrétních hodnot, kde m je poèet bitù dvojkové hodnoty f. Napøíklad pro m = 8 bitù jsou jasové hodnoty v rozmezí 0–255. Jeden vzorkový bod se nazývá obrazový element (pixel - picture element). Èím jemnìjší je vzorkování a kvantování, tím lépe je aproximována pùvodní spojitá obrazová funkce. Podle Shannonovy teorie z oblasti zpracování signálù musí být vzorkovací frekvence alespoò dvakrát vìtší ne nejvyšší frekvence ve vzorkovaném signálu. Pøi zpracování obrazu to znamená, e interval vzorkování se musí volit tak, aby byl menší nebo rovný polovinì rozmìru nejmenších detailù v obraze. Pokud je vzorkovací frekvence niší, øíkáme, e obraz je podvzorkován a vzniká za urèitých podmínek efekt aliasing. Matematickým modelem digitálního obrazu je tedy dvourozmìrná matice MxN s M øádky a N sloupci, její jednotlivé prvky jsou celá èísla odpovídající kvantovaným hodnotám jasu.
æ f (0,0) ç , ) ç f (10 ç f ( i, j ) = ç ç ç f ( M - 10 , ) è
f (01 ,) f (11 ,) . . f ( M - 11 ,)
50
. .
. .
.
.
f (0, N - 1) ö ÷ f (1, N - 1) ÷ ÷ ÷ ÷ f ( M - 1, N - 1) ÷ø
Histogram jasu je obrazovou charakteristikou, která nám dává pøedstavu o rozdìlení jasových úrovní. Je to aritmetický vektor H s poètem sloek rovným poètu jasových úrovní pøítomných v obraze H T = ( N J 1 , N J 2 , ....... N
jn
),
kde NJk je poèet pixelù jasu Jk a n je celkový poèet jasových úrovní (napø. 255). Histogram se zobrazuje jako sloupcový graf, jak je vidìt na obrázku 11.1. Histogram bývá èasto jedinou globální informací o obraze. Urèitému obrazu odpovídá jeden histogram, ale jednomu histogramu mùe odpovídat více obrazù. Na pøíklad pøi zmìnì polohy objektu v obraze se histogram nezmìní.
Obr. 11.1 Graf histogramu jasu Kvalita obrazu je dùleitý pojem, se kterým se pøi zpracování setkáváme. Pøi zpracování (snímání, pøenos, zobrazování) dochází k degradaci obrazu. Metody pro posuzování kvality se dìlí na subjektivní a objektivní. Pro pøípravu kvalitních pøedloh pro tisk jsou dùleité objektivní metody posuzování kvality obrazu. V polygrafii byly definovány tiskové charakteristiky (optická hustota, tiskový kontrast, pøijímavost barev, síová tónová hodnota), pomocí kterých mùeme kvalitu kvantifikovat. Samozøejmì, e subjektivní metody hrají také velkou roli (náhledy, OK archy pøi tisku a jejich vizuální vyhodnocování).
11.2 Vylepšování obrazu pomocí bodových transformací Vstupem do operací vylepšování obrazu (image enhancement) je obraz ve tvaru matice MxN, výstupem je zmìnìný obraz, ale jeho reprezentací je také matice o rozmìrech MxN. U bodových transformací závísí jas výstupního pixelu pouze na jasu odpovídajícího vstupního pixelu, nikoliv na jasu pixelù z jeho okolí. Pro další popis oznaèíme: M, N rozmìry obrazové matice i, j øádková a sloupcová souøadnice jednoho pixelu g(i, j) vstupní obrazový element f(i, j) výstupní obrazový element (po zpracování) v(i, j) náhodná velièina popisující šum v pixelu i, j.
51
Jasové korekce Snímací a digitalizaèní zaøízení by mìlo mít stejnou citlivost bez ohledu na umístìní bodu v obraze.V praxi tomu tak není, navíc osvìtlení plochy nemusí být pøesnì rovnomìrné. Jestlie jsou uvedené poruchy systematické, lze je potlaèit jasovými korekcemi. Pøedpokládáme narušení obrazu g(i,j) násobením jednotlivých pixelù degradaèními koeficienty e(i, j). Potom pro degradované pixely platí f d ( i, j ) = e( i, j ) × g ( i, j ). Jde o násobení konstantou, která se mìní pixel od pixelu, tedy prostorovì závislá transformace. Potom nenarušený pùvodní obraz g ( i, j ) =
f d ( i, j ) e ( i, j )
Abychom mohli provést korekci nasnímané funkce fd (i, j), musíme znát degradaèní funkci e(i,j). Tu zjistíme nasnímáním obrazu o známém prùbìhu obrazové funkce gz (i,j) (napø. gz(i,j) = c) a dostaneme degradovanou fdz(i,j). Potom degradaèní funkce e ( i, j ) =
f d z ( i, j ) g z ( i, j )
Pro korigovanou obrazovou funkci libovolného obrazu pak platí f kor ( i, j ) =
fd ( i, j ) fd ( i, j ) × gz ( i, j ) = e( i, j ) fd z ( i, j )
kde fd(i, j) je nasnímaný degradovaný obraz a fkor(i, j) je korigovaný obraz. Pøipomeòme, e hodnoty e(i,j) závisí na souøadnicích i,j, mohou být pro rùzné pixely rùzné.
Obr. 11.2 Pøíklady gamma køivek
52
Transformace jasové stupnice Tato transformace obrazu na rozdíl od pøedchozí nezávisí na poloze jednotlivých bodù, je prostorovì invariantní, ale mùe být závislá na jasu pixelù. Napøíklad pøi zmìnì jasu obrazu mohou být transformaèní koeficienty rùzné pro pixely svìtel a pixely stínù. V programech zpracování obrazu je tato transformace známá pod názvem „gamma køivky“ (obr. 11.2). Transformace jasové stupnice se snadno realizují. Pokud jsou jednodušší, realizují se výpoètem, pokud jsou sloitìjší, realizují se tzv. vyhledávací tabulkou. Kadé jasové úrovni vstupu je pøiøazena nová jasová úroveò výstupu. Tabulka má tolik bunìk, kolik je v obrazu jasových úrovní. g(i,j) f(i,j)
0 0
1 0
2 0
....... .......
63 0
64 f(i,j)
........ ........
254 f(i,j)
255 f(i,j)
Tabulka prahování s prahem T = 64. Druhým zpùsobem transformace jasové stupnice jsou úpravy histogramu. Nejznámìjší je tzv. vyrovnávání (equalizace) histogramu, co zpùsobí zvýšení kontrastu. Tato funkce je v programech zpracování obrazu velmi èastá. Pøedpokládejme nekontrastní obraz, t.j. jas pixelù v obraze je v úzkém rozmezí hodnot jasu (obr.11.3). Chceme zvìtšit kontrast obrazu modifikací jeho histogramu, která spoèívá v roztaení histogramu na vìtší rozsah jasu pixelù (napø. 0 - 255). Poèet jasových úrovní se nezmìní, ani poèty pixelù jednotlivých jasových úrovní, pouze se jasové úrovnì pøítomné v obraze transformují na jiné hodnoty (pravý obrázek).
Obr. 11.3 Vyrovnávání histogramu Prakticky se transformace provádí interaktivnì, posouváním trojúhelníkù do bodù p0, pm vyrovnáme histogram, který se rozloí pøes celou stupnici 0-255. Výsledkem je zvýšený kontrast. Tato funkce má stejný výsledek, jako zvýšení kontrastu s pouitím gamma køivek.
53
12. Filtrace šumu a zaostøování obrazu Filtrace šumu a ostøení patøí mezi metody pøedzpracování obrazu, které vyuívají pro výpoèet nového jasu v bodì výstupního obrazu lokálního okolí tohoto bodu. Operace filtrace šumu potlaèují vysoké frekvence a zpùsobují vyhlazení obrazu, operace ostøení zvýrazòují vysoké frakvence v obraze, výsledkem je zvýrazòování hran, tedy zaostøování obrazu. Lokální okolí Lokální okolí souvisí se sousedy urèitého pixelu. Pro úèely zpracování obrazu jsou definována 4 sousedství a 8 sousedství zpracovávaného bodu
Obr.12.1 Ètyøsousedství a osmisousedství pixelu 4 - sousedství tvoøí obrazové elementy se vzdáleností D4 = |i - h| + |j - k| = 1 kde i, j jsou souøadnice aktuálního pixelu, h, k souøadnice sousedních pixelù. 8 - sousedství (také 3x3 okolí) tvoøí obrazové elementy se vzdáleností D8 = Max {| i - h|, |j - k |} = 1 Podle cíle lokálního pøedzpracování jej mùeme rozdìlit do dvou skupin: filtrace šumu (vyhlazování) a gradientní operace (ostøení).
12.1 Filtrace šumu Tato operace vede k potlaèení vyšších frekvencí obrazové funkce. To sebou nese jako negativní dùsledek potlaèení ádoucích náhlých zmìn, jako ostrých èar a hran plošných objektù. Filtrace prùmìrováním Princip filtrace spoèívá v prùmìrování jasu aktuálního pixelu. Uvaujme napøíklad 3x3 okolí obrazového bodu se souøadnicemi i, j. Jas výstupního pixelu i, j se poèítá jako prùmìr jasu okolních bodù vstupního obrazu. Tato operace se nazývá lokální prùmìrování. Zvolenému okolí s pøiøazenými vahami jednotlivým sousedním bodùm se øíká konvoluèní maska, protoe se jedná o matematickou operaci konvoluce. Konvoluèní maska obyèejného prùmìrování 3x3 okolí æ1 1 1 ö ÷ 1 ç h = ç1 1 1 ÷ 9 ç ÷ è1 1 1 ø Jasy jednotlivých bodù se seètou a dìlí poètem bodù konvoluèní masky. Tím je urèen jas centrálního obrazového bodu i, j. 54
Konvoluèní maska se zvýšenou vahou støedového elementu æ1 1 1 ö ÷ 1 ç h= ç1 2 1 ÷ 10 ç ÷ è1 1 1 ø Tato maska lépe aproximuje vlastnosti šumu s normálním rozloením. Základní nevýhodou obyèejného prùmìrování je rozmazávání hran. Proto byly navreny další metody. Jednou z nich je obyèejné prùmìrování s omezením hodnoty jasové zmìny. Akceptuje se pouze urèitý maximální rozdíl mezi jasem modifikovaného bodu a výsledkem. Filtrace ve frekvenèní oblasti Druhá skupina lineárních metod vyhlazování obrazu je zaloena na pouití filtrù ve frekvenèní oblasti. Vyuívá se tzv. konvoluèního teorému, e konvoluce dvou funkcí v prostorové oblasti je rovna souèinu tìchto funkcí transformovaných do frekvenèní oblasti. Do frekvenèní oblasti obraz pøevádíme pouitím Fourierovy transformace. Frekvenèní spektrum šumu s Gaussovským rozloením je obvykle ploché. Naproti tomu spektra vìtšiny obrazù mají maximální hodnoty na nízkých frekvencích (obr.12.2). Existuje urèitá frekvence f0, od které jsou hodnoty spektra šumu vìtší ne hodnoty spektra obrazu. Tato hodnota se volí jako hranice filtru, od které se vysoké frekvence odøíznou. Pouijeme tedy na obraz Fourierovu transformaci a v transformovaném obraze odøízneme pásmo vysokých frekvencí, které nechceme v obraze mít. Prakticky to znamená vynásobení Fourierovy transformace obrazu Fourierovou transformací konvoluèní masky (konvoluèní teorém). Takto zpracovaný (vyhlazený) obraz pøevedeme pomocí inverzní FT zpìt do prostorové oblasti.
Obr.12.2 Spektra obrazu a šumu
Filtrace mediánem Medián M je z poètu pravdìpodobnosti hodnota náhodné promìnné X, pro kterou platí p( X < M ) =
1 2
Filtrace obrazu touto metodou spoèívá v tom, e se jasy z okolí filtrovaného pixelu uspoøádají vzestupnì, pøièem hodnota nového jasu je medián, tj. prvek v polovinì uspoøádáné posloupnosti jasù. Tato nelineární metoda dobøe filtruje impulsní šum a omezuje rozmazávání hran.
55
Filtrace rotující maskou Tato metoda se pøed prùmìrováním snaí najít takové okolí filtrovaného pixelu, které je pro daný pixel nejvhodnìjší (obr.12.3). V našem pøípadì je to okolí s nejmenším rozptylem jasù. Tato metoda nerozmazává hrany, má dokonce mírnì ostøící úèinek.
Obr. 12.3 Rotující maska
12.2 Detekce hran a ostøení obrazu Hrana je vlastnost obrazového elementu a jeho okolí. Je tedy urèena velikostí a smìrem. Tyto velièiny se dají urèit z gradientu obrazové funkce a indikují rychlost zmìny obrazové funkce v prostoru. Operátory pro detekci hran vycházejí z parciálního diferenciálního operátoru. Velikost gradientu v bodì [x,y] je potom
|Ñ g ( x, y )| =
2
æ dg æ dg ö ç ÷ + çç è dx ø è dy
ö ÷÷ ø
2
a smìr gradientu y = arctg
dg / dy dg / dx
Na obrázku 12.4 je znázornìna èást obrazové funkce a oznaèeny gradienty v nìkterých smìrech.
Obr. 12.4 Gradienty v obrazové funkci
56
V digitalizovaném obraze nahradíme parciální derivace diferencemi D x a D y D x g( i, j ) = g( i, j ) - g( i - n, j ) D y g( i, j ) = g( i, j ) - g( i, j - n) kde i, j jsou souøadnice pixelu a n souvisí s velikostí gradientní masky Gradientní operátory pro digitální obrazy dìlíme do dvou skupin: • výpoèet diference v místì masky a hledání hran v místì jejího maxima • výpoèet druhé diference a hledání hran v místech, kde tato prochází nulou Jako pøíklad první skupiny je uveden Sobelùv operátor s konvoluèní maskou maskou 3x3 pro horizontální a vertikální smìr. Masky pro smìry x a y: æ 1 0 -1 ö ÷ ç h1 = ç 2 0 -2 ÷ ç 1 0 -1 ÷ ø è
æ1 2 1ö ÷ ç h3 = ç 0 0 0 ÷ ç -1 -2 -1÷ ø è
Pokud oznaèíme pixely pokryté maskou æ g1 g2 ç M = ç g8 CP ç g 7 g6 è
g3 g4 g5
ö ÷ ÷ ÷ ø
potom jsou výsledné diference pro pixel CP D x g = g 1 + 2g 8 + g 7 - g 3 - 2g 4 - g 5 D y g = g 1 + 2g 2 + g 3 - g 5 - 2g 6 - g 7 Výsledný gradient a jeho smìr
|Ñg| = |D x g| + |D y g|,
y = arctg
|D g| y
|D x g|
.
Druhá skupina operátorù hledá v obraze hrany v místech kde 2. derivace obrazové funkce prochází nulou. Vyuívá se skuteènosti, e v tom pøípadì nabývá 1. derivace svého maxima - tedy indikuje hranu. Tento postup má své opodstatnìní, protoe v praxi je jednodušší hledat prùchody nulou, ne maxima 1. derivace (obr.12.5). V praxi se pouívá Laplaceùv hranový detektor v kombinaci s vyhlazovacím filtrem s Gaussovým (normálním ) rozloením. Princip ostøení zaloený na detekovaných hranách v obraze spoèívá v tom, e na nalezených hranách vstupního obrazu zvìtšujeme ve výstupním obraze rozdíly jasù mezi obrazovými body urèenými velikostí konvoluèní masky. Jiný postup spoèívá v transformaci obrazu do frekvenèní ob57
Obr. 12.5 Hledání hran pomocí druhé derivace lasti napø. pouitím Fourierovy tranformace. Pak se vynásobí se filtrem “horní propust”, který filtruje nízké frekvence a zvýrazòuje tak vysoké frekvence, tedy hrany. Frekvenèní filtr je vlastnì Fourierova transformace konvoluèní masky. Výsledek se pomocí inverzní Fourierovy transformace pøevede zpìt do prostorové oblasti. Je moné provádìt ostøení od urèité hodnoty gradientu, tedy ostøit jen významné hrany. Hodnoty parametrù velikosti ostøení, rozsahu ostøení (souvisí s velikostí masky) a prahu ostøení umoòují moderní programy pro úpravu obrazu zadávat.
58
Seznam literatury [1] Electronic Prepress Essential 1-4. GATF, Pittsburg 1995. [2] Speirs H. M.: Introduction to prepress. PIRA, Surrey 1998. [3] Sochor J., ára J., Beneš B.: Algoritmy poèítaèové grafiky. Skriptum ÈVUT, Praha 1998. [4] Klíma M., Bernais M., Hozman J., Dvoøák P.: Zpracování obrazové informace. Skriptum ÈVUT, Praha 1996. [5] ára J., Limpouch A., Beneš B., Werner T.: Poèítaèová grafika, principy a algoritmy. GRADA, Praha 1992. [6] Horný S.: Od DTP k Prepressu. Grada, Praha 1997. [7] Murray J.S., Van Rypper W.: Encyklopedie grafických formátù. Computer Press, Praha 1995. [8] Sonka M., Hlavac V., Boyle R.: Image Processing, Analysis and Machine Vision. Chapman & Hall, London 1995. [9] Hlaváè V., Šonka M.: Poèítaèové vidìní. GRADA, Praha 1992. [10] Fribert M..: Desk Top Publishing. ComputerWorld Vol. 5, 31/1994. [11] Roth S.: Polotóny zbavené mýtù. ComputerWorld Vol. 4, 19/1993. [12] Fribert M..: Poèítaèová tvorba grafických prvkù tiskové stránky. Print & Publishing. Vol.5, 2/1995.
59