4.2 Hoe Computers Beelden Representeren

Wat is een beeld?

Als je wilt begrijpen hoe computers beelden herkennen en interpreteren, moet je eerst weten wat een beeld eigenlijk is vanuit het oogpunt van een computer.

image-20260330181553676

Voor mensen kan een beeld eruitzien als een betekenisvolle scène vol objecten, kleuren en emoties. Maar voor een computer is een beeld simpelweg een raster van numerieke data bestaande uit pixels, waarbij elke pixel waarden opslaat die helderheid of kleur vertegenwoordigen. Door deze getallen te verwerken met wiskundige modellen en algoritmen kunnen computers beginnen patronen te detecteren, vormen te identificeren, objecten te onderscheiden en uiteindelijk beslissingen te nemen over wat een beeld bevat. Het begrijpen van dit verschil tussen menselijke perceptie en machinale representatie is de eerste stap om te begrijpen hoe computer vision werkt.

Beelden als Reeksen Getallen

image-20260331091053228

Een digitaal beeld is een raster van waarden. Elke locatie in het raster wordt een pixel genoemd.

  • In een grijswaardenbeeld slaat elke pixel meestal één waarde op.
  • In een kleurenbeeld slaat elke pixel meerdere waarden op, één per kanaal.

Voor een computer is een beeld geen "kat" of "auto". Het is een array met vorm, datatype en numerieke inhoud.

Kanalen

image-20260331091848480

Een kanaal is één type waarde dat bij elke pixel wordt opgeslagen. Een grijswaardenbeeld heeft bijvoorbeeld 1 kanaal, terwijl een kleurenbeeld vaak 3 kanalen heeft, zoals RGB. Met andere woorden, een computer ziet een beeld als getallen gerangschikt per kanaal, niet rechtstreeks als objecten uit de echte wereld. OpenCV gebruikt vaak de BGR-volgorde in plaats van RGB. Veel beginners komen eerst RGB-beelden tegen. Maar verschillende taken gebruiken verschillende kanaalindelingen.

RepresentatieBetekenis
Grijswaardenéén intensiteitswaarde per pixel
RGB / BGRdrie kleurkanalen per pixel
HSVtint, verzadiging, waarde

OpenCV gebruikt vaak BGR-volgorde in plaats van RGB, wat een belangrijk praktisch detail is.

Resolutie

De resolutie beschrijft hoeveel pixels het beeld bevat, zoals 640 x 480 of 1920 x 1080.

image-20260331093601010

Een hogere resolutie levert meestal meer detail op, maar het verhoogt ook:

  • het geheugengebruik
  • de verwerkingskosten
  • de training- en inferentietijd

Video als een Reeks Frames

Een video is een tijdgeordende stroom van beelden.

image-20260331135422667

Dat betekent dat video twee lagen van complexiteit introduceert:

  • visuele structuur per frame
  • temporele verandering tussen frames

Uitdaging

image-20260331135649175

Echte camera-invoer kan worden beïnvloed door:

  • bewegingsonscherpte
  • weinig licht
  • ruis
  • lensvervorming
  • compressie-artefacten
  • weggevallen frames

Daarom is goed computer vision-werk niet alleen afhankelijk van modellen, maar ook van datakwaliteit.

Probeer het uit

Werken met een beeld met OpenCV

bash
#clone the source code
git clone https://github.com/Seeed-Projects/reComputer-Jetson-for-Beginners
cd reComputer-Jetson-for-Beginners/4-Computer-Vision/4.2-How-Computers-Represent-Images/code
# Install opencv if you don't install before
pip install opencv-python
#run the script
python show_img.py

Je ziet de uitvoer:

image-20260331113129592

Video Lezen

python
python show_video.py

Je ziet de uitvoer:

video

Oefeningen / Reflectie

  1. Laad één beeld en print de shape en dtype.
  2. Converteer hetzelfde beeld naar grijswaarden en HSV. Beschrijf wat er visueel verandert.
  3. Pas één beeld aan naar twee verschillende resoluties en vergelijk de bestandsgrootte of verwerkingstijd.
  4. Open een korte video en tel ongeveer hoeveel frames worden weergegeven in 10 seconden.

Samenvatting

Beelden zijn gestructureerde numerieke data, niet zomaar plaatjes. Het begrijpen van pixels, kanalen, resolutie en videoframes is essentieel omdat elk later algoritme, van thresholding tot CNN's, op deze representaties opereert.

Voorgestelde Volgende Stap

Ga verder naar 4.3 Klassieke Computer Vision.

Referenties