Les 5: Digitalisering van beeld

overnemen van wiki

Digitaal beeld

Een beeldscherm, digitale foto of beeldbestand bestaat uit een aantal beeldpunten. Elk beeldpunt (pixel = picture element) van je beeldscherm kan een aantal, bijvoorbeeld 256 verschillende kleuren aannemen. Deze instellingen bepalen de hoeveelheid informatie die nodig is om een beeld weer te geven. We kijken eerst naar het beeldscherm van de computer.

OPDRACHT Een voorbeeld. Stel dat je een oud beeldscherm hebt dat uit 800 x 600 pixels bestaat. Dat betekent dat je beeldscherm 800 pixels breed is en 600 hoog. We noemen dit ook wel de (scherm)resolutie. Voor elk pixel zijn 2 kleuren mogelijk: zwart en wit

Hoeveel bits zijn er nodig voor om aan elke pixel van het beeldscherm van 800 x 600 pixels een kleur te koppelen? En reken dit nu om naar mega bytes

Ook digitale foto’s of plaatjes bestaan uit een aantal pixels. We bekijken eerst een eenvoudige tekening.

OPDRACHT Download en installeer het programma Gimp. Zie: https://www.gimp.org/ Gimp is een open source alternatief voor Adobe Photoshop. Je kunt er dus mee tekenen. - Open Gimp en kies§ voor File -> New. - Maak het venster 400 x 300 pixels groot.

Teken een kruiwagen als in de figuur hieronder.

Sla de tekening achtereenvolgens op als: - kruiwagen1, bitmap (heb je ook verschillende opties voor) - kruiwagen2, een JPEG bestand - kruiwagen3, een GIF-bestand - kruiwagen4, een PNG-bestand

Onderzoek van elk bestand hoe groot het is geworden.

Bitmap bestanden

ls we de kruiwagen van de vorige opdracht opslaan krijgen we allereerst allerlei mogelijkheden om het plaatje als bitmap op te slaan. Een bitmap is een bestandsformaat voor plaatjes waarin elke pixel apart wordt opgeslagen. Bitmap bestanden krijgen de extensie “.bmp”.

Het plaatje van 400 x 300 pixels heeft in totaal 120 000 pixels.

monochrome bitmap Als de 120 000 pixels worden opgeslagen als monochrome (zwart-wit) bitmap is voor elk pixel slechts één bit nodig om de kleur te onthouden ( vb 0 = wit, 1 = zwart ). Er ontstaat een bitmap bestand van 120 000 bits = 15 000 bytes = 15 kB

16-kleuren bitmap Als de 120 000 pixels worden opgeslagen als 16 kleuren bitmap zijn voor elk pixel vier bits nodig om de kleur te onthouden ( vb 0 = wit, 1= …… , 15 = zwart ). Er ontstaat een bitmap bestand van 120 000 x 4 bits = 480 000 bits = 60 000 bytes = 60 kB

256-kleuren bitmap Als de 120 000 pixels worden opgeslagen als 256 kleuren bitmap zijn voor elk pixel acht bits nodig om de kleur te onthouden ( vb 0 = wit, 1= …… , 255 = zwart ). Er ontstaat een bitmap bestand van 120 000 x 8 bits = 960 000 bits = 120 000 bytes = 120 kB

24-bits bitmap Als de 120 000 pixels worden opgeslagen als 24 bits bitmap zijn voor elk pixel vierentwintig bits nodig om de kleur te onthouden. Er ontstaat een bitmap bestand van 120 000 x 24 bits = 2 880 000 bits = 360 000 bytes = 360 kB

In een bitmap bestand wordt kleurinformatie op een duidelijke manier opgeslagen maar niet op de slimst mogelijke manier. Je ziet dat een eenvoudig plaatje van een kruiwagen, opgeslagen als 24-bits bitmap, al 360 kB groot wordt.

OPDRACHT Zoek eens uit met wat voor resolutie jou smartphone foto's maakt. Hoe groot zou een foto zijn als je je foto's zou opslaan als 24 bits bitmap (bmp) bestand?

Vooral bij grotere bestanden, bijvoorbeeld bij een digitale foto van 5 miljoen pixels die in ware kleuren (16 miljoen kleuren) moet worden opgeslagen, is het belangrijk dat de kleurinformatie op een slimme manier wordt opgeslagen.

Door de kleurinformatie op een slimme manier en niet pixel voor pixel op te slaan kan de bestandsgrootte worden verkleind. Het verkleinen van bestanden door het gebruik van een slimme techniek noemen we compressie.

Run Length Encoding Een eenvoudige manier om data te comprimeren is de run length encoding. Run-length encoding, kortweg RLE, is het vervangen van herhalende patronen in data door het aantal herhalingen plus wat herhaald moest worden. Zie figuur hieronder:

Je ziet dat de figuren zich herhalen. Je zou deze informatie dus ook zo kunnen beschrijven en opslaan:

Nog een voorbeeld:

LET OP: Je begint eerst per rij met het aantal witte pixels. VAndaar dat je in rij 4 eerst 0 ziet.

OPDRACHT Teken de bijbehorende plaatjes

Drie bestandsformaten waarmee beeldbestanden (plaatjes, foto’s) verkleind kunnen worden zijn het JPEG-bestandsformaat,het GIF-bestandsformaat en PNG.

JPEG bestanden

JPEG (Joint Graphics Experts Group) is een bestandsformaat voor afbeeldingen met veel kleuren en weinig scherpe kleurovergangen. JPEG is een bestandsformaat dat dus erg geschikt is voor digitale foto’s. JPEG bestanden krijgen als extensie “.jpg”.

Hoe werkt JPEG-compressie?

Een digitale foto met echte kleuren (16,7 miljoen kleuren) heeft in principe voor iedere pixel 24 bits nodig om de kleur te onthouden.

JPEG verdeelt de foto in blokken van 8 bij 8 pixels en neemt het gemiddelde van de kleuren van deze 64 pixels. Het bewaart dit gemiddelde als de waarde voor de pixel linksboven in het blok. Daarvoor zijn 24 bits nodig.

Van de kleuren van de andere 63 pixels uit het blok wordt vervolgens het kleurverschil met de eerste pixel opgeslagen. Daarbij krijgen zoveel mogelijk pixels dezelfde kleur. Er hoeven voor de resterende 63 pixels niet meer zoveel bits gebruikt te worden, omdat het kleurverschil tussen een pixel in het blok en het gemiddelde niet zo groot is.

Is het kleurverschil tussen bij elkaar liggende pixels toch groot, dan zorgt de bovenstaande procedure ervoor dat de kleuren uitgesmeerd worden.

Detail van de toren rechtsboven waarop het uitsmeereffect te zien is. Bij JPEG-compressie gaat dus kleurinformatie verloren maar er wordt geheugen gewonnen.

GIF bestanden

GIF (Graphics Interchange Format) is een bestandsformaat voor afbeeldingen met weinig kleuren en scherpe kleurovergangen. GIF is een bestandsformaat dat dus erg geschikt is voor animatieafbeeldingen met vlakken van gelijke kleur, zoals bijvoorbeeld afbeeldingen van stripfiguren. GIF-bestanden krijgen als extensie “.gif”.

Hoe werkt GIF-compressie?

GIF-compressie wordt ook wel LZW-compressie genoemd naar de wiskundigen Lempel, Ziv en Welch, die de techniek verzonnen hebben. Bij GIF-compressie wordt een afbeelding gezien als een aantal horizontale lijnen van pixels. Vanaf linksboven wordt van de afbeelding steeds alleen de kleur en het aantal pixels dat die kleur moet krijgen opgeslagen.

De eerste twee lijnen van het eerste plaatje van de strip hierboven bestaan uit 100 groene pixels. Er hoeft voor die eerste lijnen dus slechts te worden opgeslagen “groen, 100”.

Bovendien is bij afbeeldingen, die geschikt zijn voor GIF-compressie, het aantal kleuren beperkt (vaak 256 kleuren) en hoeven er dus slechts 8 bits te worden gebruikt per kleur.

Colors: 256

File size: 6.00 KB

Colors: 128

File size: 5.24 KB

Colors: 64

File size: 4.48 KB

Colors: 16

File size: 2.11

PNG

Als alternatief voor GIF bestanden zijn sinds 1995 PNG (Portable Network Graphics) bestanden in het leven geroepen. In een PNG-bestand kan voor elke pixel niet alleen een rood-, groen- en blauwwaarde worden opgegeven, maar ook een transparantie (alpha-waarde). Het gevolg hiervan is dat elke pixel een bepaalde hoeveelheid transparantie kan hebben, bijvoorbeeld helemaal doorzichtig of gedeeltelijk doorzichtig met bijvoorbeeld wat donker rood eroverheen.

Vector-geörienteerd

Tekeningen worden meestal opgeslagen als bitmap: de kleur van elk pixel wordt opgeslagen.

Een tekening kan ook op een andere manier worden opgeslagen: vector-geörienteerd.

Als je bijvoorbeeld een cirkel tekent dan bewaart het programma in dit geval niet het bitpatroon, maar een reeks getallen die de tekening vastleggen : een getal voor het type tekening (een cirkel in dit geval), de straal, de lijndikte, de kleur van de lijn, de kleur van de vulling, en de coördinaten van het middelpunt.

Powerpoint werkt bijv. vector-geörienteerd.

Last updated