Presentatie titel

  • View
    63

  • Download
    0

Embed Size (px)

DESCRIPTION

Computer Graphics. Presentatie titel. Technische Informatica www.hogeschool-rotterdam.nl/cmi. Rotterdam, 00 januari 2007. Les 1. De module vision bestaat uit een theoriedeel en een prakticum deel. Deze sheets gaan over het theoretische deel - PowerPoint PPT Presentation

Text of Presentatie titel

PowerPoint-presentatie

1Presentatie titelRotterdam, 00 januari 2007

Computer Graphics

Technische Informatica

www.hogeschool-rotterdam.nl/cmi2Les 1De module vision bestaat uit een theoriedeel en een prakticum deel. Deze sheets gaan over het theoretische deelDe module computer graphics gebruikt het volgende boek

Boek: Computer Graphics (Second edition) , Auteur : Zhigang Xiang, Roy Plastock.Uitgever: Schaums Outlines ISBN: 0=07-135781-5

Inhoud Computer graphics is een tak van de computerwetenschap , die handelt over het in de computer invoeren van beelden Een computer gegenereerd beeld kan een scene afbeelden met op de achtergrond een driehoek of een dinosaurus Wat is het verschil tussen een tekening maken op een computer of op een blad papier?In dit hoofdstuk worden concepten behandeld

Inhoud De hoofdstukken 1 t/m 12 van het boek worden behandeld

InleidingBeeldvoorstellingScan conversie2-dimensionale transformaties2 dimensionale beeldsystemen en clippingInhoud 3-dimensionale transformatiesWiskundige projectieGeometrische voorstelling Verborgen oppervlaktenKleuren en schaduw modellenRay-tracing

Inhoud Les 1 gaat over de hoofdstukken:

1.1 Inleiding 2. Beeldvoorstelling2.1 RGB kleuren model2.2 Directe codering2.3 Lookup table2.4 Weergave monitor2.5 Printer2.6 Beeld bestanden2.7 kleuren attributen van pixelsInleiding Hoe tekenen we een driehoek? (zie fig 1-1)

De driehoek is de object definitieDie wordt in de ruimte getekend en heet object space (objectruimte)

Inleiding De afbeelding op papier heet image space ( beeldruimte )De afbeelding kan worden beinvloed door plaats en richtingHetzelfde vindt plaats bij een computerDe driehoek noemt men een meetkundige voorstellingWe kunnen een 2-dimensionaal coordinaten systeem in de object ruimte plaatsenDe computer verbindt de lijnenTevens vindt transformatie plaats

Inleiding Verschil computer en papier is dat de computer discrete punten tekent en niet continueHet gedeelte dat verantwoordelijk is voor de het converteren naar het beeld op het scherm heet scan conversieDe afwijking noemt men het aliasing effect (trapjeseffect)In fig 1-2 is de architectuur van een grafisch systeem gegeven

Inleiding De afbeelding op papier heet image space ( beeldruimte )De afbeelding kan worden beinvloed door plaats en richtingHetzelfde vindt plaats bij een computerDe driehoek noemt men een meetkundige voorstellingWe kunnen een 2-dimensionaal coordinaten systeem in de object ruimte plaatsenDe computer verbind de lijnenTevens vindt transformatie plaatsBeeld voorstellingEen digitaal beeld bestaat uit discrete pixels Georganiseerd als rij-kolomResolutie= aantal pixels per lengte-eenheid3*2 inch beeld met resolutie 300 pixels/per inch heeft totaal 900*600 pixels= 540.000 pixelsAspect ratio= verhouding van de breedte tot de hoogte , gemeten in lengte-eenheid of pixels6*4 inch of 1024* 768 pixels hebben een aspect ratio van 4/3

RGB kleurenmodelFig 2-1 geeft het kleurencoordinaatsysteem voor rood R ,groen G en blauw (B)Waarden 0-1 (zwart is 0)

RGB kleurenmodelRGB is optellen van kleuren (beeldscherm)CMY is aftrekken van kleuren (printer)C = cyaan (hemelsblauw) M= magenta (roze) Y=yellow (geel)Rood aftrekken van wit levert combinatie groen en blauw Fig 2-2 geeft het kleurencoordinaatsysteem voor CMYRGB kleurenmodel

Directe codering

Fig 2-3 geeft de codering van 3 kleurenbits

3 bytes = 24 bit per pixel ( 8 bit per primaire kleur (true color)

Directe codering

Een pixel heeft een kleur van 256*256*256 mogelijkheden = 16,7 .106 kleurwaardenEen grijs beeld = 8 bit per pixelHet geheugen voor een 1024*1024 beeld:Er zijn 103.103 = 106 pixels per beeld1 beeld bevat dan 16,7.106.106 bits 2.1012 bytes = 2GByteEr zijn nooit 16,7 miljoen verschillende kleuren in 1 beeld Daarom een lookup-table om geheugen te besparen

Lookup-tableFig 2-4 geeft een lookup-table met 256 ingangen

Iedere ingang wijst naar 24 bit RGB kleurEen pixel waarde is nu 1 byte ( 8 bit)

Lookup-tableDe kleur van die pixel-waarde i met 0 i 255 wordt bepaald door de kleurwaarde in de tabel op adres iEr zijn nu maar 28=256 gelijktijdige kleuren mogelijk per beeldHet geheugen voor een 1024*1024 beeld (met lookup-table):Er zijn 103.103 = 106 pixels per beeld1 beeld bevat dan 8 pixels per beeld i.p.v 24 pixels per beeld 1 byte per pixel geeft 1.106 byte geheugen = 1MB

Lookup-tableNu nog grootte van lookup-table bepalen 24 bit * 256 bit = 3. 23. 28 bit= 3. 28 bytes = 768 bytes=0,768 kBTotale grootte 1MB + 0,768 kB = 1,000768 MBEen beeld wordt niet alleen bepaald door de pixel waarde maar ook door de kleurwaarde in de overeenkomstige lookup-tableDeze kleurenwaarden vormen de kleuren-map (color map) voor het beeld

Weergave monitorMeest gebruikt werd de CRT (Cathode Ray Tube) ( zie fig 2-5)

Weergave monitorDe kleuren monitor bevat 3 electronenkanonnen en een schaduw masker(zie fig 2-6)

PrinterEen printer plaatst een laagje kleuren pigment op een printmedia. Het licht dat van de oppervlakte wordt gereflecteerd wordt door de mens gezienEr worden 3 pigmenten gebruikt cyaan,magenta,geel)Tevens nog een zwart pigment omdat het lastig is met CMY echt zwart te producerenMen noemt dit CMYK model ( K=key voor zwart)Half tone printerTraditionele techniek van de print industrie bij met bilevel (zwart-wit) devices (printer , plotter)Deze gebruikt pigment stippen met variable grootte.Hiermee wordt witte achtergrond gemengd Dit geeft verschillende intensiteitniveaus op afstand bekekenDe stippen worden zo gevormd dat ze een hoek van 450 vormen met de horizon ( zie fig 2-7)Half tone printerDe grootte van de stippen is omgekeerd evenredig met de beoogde intensiteitDe techniek om zulke beelden te maken heet half-tone techniekKranten gebruiken een half-tone van 60-80 dots ( stippen) per inchBoeken gebruiken een half-tone van 120-200 dots ( stippen) per inch

Halftone benaderingIn plaats van de grootte van de dots te wijzigen kunnen we de haftone techniek benaderen met patronen van pixel-rastersVoor een 2*2 pixel raster construeren we 5 raster patronen om 5 verschillende intensiteiten te krijgen ( zie fig 2-8)

Halftone benaderingHet aantal intensiteiten kan verhoogd worden door een ander grootte van het rasterOok kan nog meer intensiteiten verkregen worden als pixels ook nog zelf intensiteits -verschillen bevatten ( zie fig 2-9)

Deze halftone rasterpatronen heten ook wel dither patronen

Halftone benaderingDither wordt gebruikt om het beeld een natuurlijker aanzien te gevenEen aantal ontwerp overwegingen:Groeien van uit het pixel centrumEen pixel moet altijd hetzelfde niveau houden Symmetrie moet vermeden wordenGeisoleerde aan pixels moeten vermeden wordenWe kunnen een dither matrix gebruiken om een serie dither patronen te geven

Halftone benaderingBijvoorbeeld een 3*3 matrix

Deze geeft de volgorde aan van de intensiteit van de pixels in een 3*3 raster.Op die manier zijn er 10 niveaus Niveau I wordt verkregen door alle pixels aan te zetten die corresponderen met de waardes in de dither matrix die kleiner zijn dan IZie onderstaande figuur

Halftone benadering

BeeldbestandenEen digitaal beeld is gecodeerd in een binaire fileFormaat bmp,jpeg,tiffStructuur is voor alle gelijkFig 2-10 geeft de organisatie van een beeld structuur2 delen: header en beelddata

Beeldbestanden

Kleuren attributenKleuren attributen wijzigen van individuele pixels is een primitieve operatie waarbij systeembibliotheken gebruikt wordenAfhankelijk van het beeldtype (direct of lookup) zijn er 2 mogelijkheden:setPixel(x,y,rgb) (direct) met rgb = 3-element-array rgb[0]=r , rgb[1]=g , rgb[2]=b setPixel(x,y,i) (lookup) met i = adres ingang die (r,g,b) bevatsetColor(rgb) (direct) zonder plaatsinformatiesetColor(i) (lookup) zonder plaatsinformatie

Kleuren attributenPlaatsinformatie schrijven: setPixel(x,y)Plaatsinformatie lezen (direct): getPixel(x,y,rgb)Plaatsinformatie lezen (Lookup): getPixel(x,y,i)

Lookup-table schrijven : setEntry(i,rgb) Lookup-table lezen: getEntry(i,rgb)

Achtergrond beeld schrijven: clear()