Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdPetrus Lenaerts Laatst gewijzigd meer dan 9 jaar geleden
2
Presentatie titel Rotterdam, 00 januari 2007 Computer Vision Technische Informatica www.hogeschool-rotterdam.nl/cmi
3
# Les 5 Hoofdstukken 2.3 Beeldpresentatie en kleurenmodellen 2.4 Homogene punt operatoren 2.5 Histogrammen
4
# Beeldpresentatie Beelden worden bewerkt Hoe worden beelden in geheugen geplaatst 3 delen: 1. Keuze coördinatensysteem 2. De codering van de grijswaarden 3. Kleurendecodering Er wordt een uniforme conventie aangehouden voor IVT (Integrated Vision Toolkit) en commerciële camera’s Alleen dan kun je onafhankelijke algoritmen ontwikkelen
5
# Beschrijving 2D beeld Het beeld coördinatensysteem is 2D met de oorsprong linksboven De horizontale as is u. De vertikale as is v Eenheden zijn pixels (tevens een discreet punt in een beeld) Geheugens zijn lineair. Presentatie in fig. 2.7
6
# Beschrijving grijswaarde Grijswaarde beelden zijn 8 bit (1 byte) 256 verschillende grijswaarden Datatype unsigned char, positieve getallen {0-255} 0=kleur zwart ; 255= kleur wit (fig 2.8)
7
# Beschrijving kleuren Meest gebruikt RGB model: Additief model met rood groen en blauw Verschillend aantal bits 16 of 24 Bij 16 bit: 5R 6G 5B bits (2 16 = 65 536 kleuren) Camera’s 24 bit per pixel 8R,8G,8B (2 24 =16 777 216 kleuren) Voor IVT is RGB 24 bit standaard Zie (fig 2.9) voor presentatie De bandbreedte voor transmissie zo klein mogelijk houden Daarom Bayer patroon overzenden wat 8 bit per pixel nodig heeft
8
# Beschrijving kleuren
9
# Een ander model is YUV kleuren model http:// color_models.htmlhttp:// color_models.html Dit is een TV-kleurensignaal Gebruikt voor transmissie( heeft weinig bandbreedte nodig) Nog een ander model is HSV model (Hue, Saturation,Value) Gebruikt voor kleuren segmenten Het scheidt de kleureninformatie van helderheid en verzadiging van de kleur De H-waarde geeft de kleurenhoek in chromatisch spectrum van 0-360 0
10
# Beschrijving kleuren Datatype Integer De H waarde =hue (kleurtint) van 0-179 De S waarde =verzadiging,hoe hoger de waarde hoe meer verzadigd. De V waarde = helderheid, hoe hoger hoe helderder S en V gecodeerd in 1 byte {0-255} Voor berekeningen dient de RGB waarde geconverteerd te worden naar HSV waarde Conversie van 3-tallen
11
# Beschrijving grijswaarde In boeken wordt driehoeksmeting gebruikt voor omzetting van RGB naar HVS Dit is echter te langzaam en ongeschikt voor implementatie Een efficiente implementatie gebruikt integer berekeningen In algoritme 6 en 7 zijn de omzettingen in pseudo code gegeven h є {0…359} en s,v,r,g,b є {0…256} De operator div implementeert integer-deling
12
# Beschrijving grijswaarde
13
#
14
# Beeldfuncties De volgende beeldfuncties (I) zijn een formele schrijfwijze om beeldfuncties te benaderen De basis voor verdere algoritmen w= breedte van beeld in pixels h = hoogte van beeld in pixels q = geeft de grootste getal van een kanaal ( kleur) De beeldfunctie I voor een 2D grijs beeld wordt:
15
# Beschrijving grijswaarde De beeldfunctie I voor een 2D kleuren beeld wordt: Bij RGB is de volgorde: rood (R), groen (G) en blauw (B) Bij HSV is de volgorde: kleurenhoek (H),verzadiging (S),intensiteit (V)
16
# Conversie van grijsbeeld naar kleurenbeeld Gegeven een RGB kleurenbeeld I RGB24 en een 8 bit grijs beeld I G van dezelfde grootte, dan is: I G (u,v)= 0,299.r + 0,587.g + 0,114.b met (r,g,b) := I RGB24 (u,v) (2.31) De reden voor de verschillende gewichten is dat het menselijk oog een verschillende gevoeligheid voor de kleuren heeft Het omgekeerde proces: I RGB24 (u,v) =( I G (u,v), I G (u,v), I G (u,v)) (2.32) Geimplementeerd in IVT
17
# Homogene punt operatoren Punt operatoren zijn operatoren die een nieuwe waarde toekennen aan elk beeldpunt(u,v), afhankelijk van zijn huidige waarde I(u,v) en zijn positie (u,v) De algemene afbeelding luidt: I’(u,v):= f(I(u,v),u,v)(2.33) 2 klassen: homogeen ( alleen afhankelijk van I(u,v)) niet-homogeen ( ook afhankelijk van (u,v)) Alle operatoren zijn hier homogeen I’(u,v):= f(I(u,v)) (2.33)
18
# Homogene punt operatoren f = constant bij segmentatiemethoden f = afhankelijk van de inhoud bij histogrammen (zie fig 2.10)
19
# Homogene punt operatoren Affiene operatoren vormen een subklasse van de homogene punt operatoren. Ze kennen een lineair verband, afhankelijk van de waarde van de pixel I’(u,v) := a.I(u,v) + b ( a,b constanten) (2.35) Afhankelijk van keus van a,b wordt de helderheid,contrast, inverse van een beeld veranderd. Algoritme 8 implementeert de affiene punt operator in pseudo code
20
# Homogene punt operatoren Hieronder een overzicht voor de parameters a en b Voor inversie is een grenswaarde q nodig anders wordt beeld overstuurd
21
# Homogene punt operatoren Helderheid vergroten: a=1, b>0 Helderheid verkleinen: a=1, b<0 Contrast vergroten: a>1, b=0 Contrast verkleinen: a>1, b=0 Inversie: a=-1, b=q Ook combinaties zijn mogelijk, voorbeelden zijn fig 2.11-2.15
22
# Homogene punt operatoren
23
#
24
#
25
# Histogrammen Een histogram is een datastructuur die de verdeling van de intensiteit weergeeft van een foto. Horizontale as: geeft de intensiteit (0-255) Vertikale as: frequentie van voorkomen van die intensiteit De toepassing zijn vele: Beeldvoorbewerken voor segmentatie Kleuren gebaseerde object herkening Enz.
26
# Grijswaarde Histogrammen H is gedefinieerd als volgt: H : {0,…q} -> {0,….w.h-1} H(x) := #(u,v): I(u,v) = x(2.36) Hierin is w de breedte en h de hoogte Het # is een aantal keren dat pixel voorkomt Voor iedere x є {0,..,q} wordt het aantal pixels die dezelfde grijswaarde (I(u,v)) heeft berekend Algoritme 9 berekent het histogram van een foto en slaat dit op in een array met grootte q+1=256 In fig 2.16 is een histogram gegeven
27
# Grijswaarde Histogrammen Het histogram van fig 2.31 is in fig 2.16 gegeven
28
# Grijswaarde Histogrammen
29
# Kleuren Histogrammen Kleuren histogrammen verschillen in de kleuren presentatie Met 24 bit voorstellingen met RGB of HSV kleurenmodelllen heeft een diagram 2 24 eenheden op de X-as Dit betekent voor 32 bit integerwaarden voor de Y-as een totale grootte van 64 Megabyte Daarom maar histogrammen voor 2 van de 3 kanalen (meestal RG of HS histogrammen) Een 2 dimensionaal histogram:
30
# Kleuren Histogrammen H : {0,…q} x {0,…q} -> {0,….w.h-1} (2.37) H(x,y) := #(u,v) :(h,s) = (x,y) met (h,s,v):= I(u,v) Met algoritme 10 kan zo’n histogram berekend worden worden voor een HSV kleurenbeeld ( voor RGB is dit hetzelfde) In fig 2.17 is een HS histogram voor een huidskleur uit fig 2.33 getekend. Het is karakteristiek dat in de buurt van rood ( bij 0 0 of 360 0 de meeste verzadiging optreed
31
# Kleuren Histogrammen
32
#
33
#
34
# Uitrekken van histogrammen Uitrekken van histogrammen is een methode om automatisch een verbetering van contrast of grijswaarde te verkrijgen Eerst minimum intensiteit min en maximum max van een grijswaarde beeld I bepalen ( zie algoritme 11) Het interval [min,max] wordt lineair afgebeeld op het interval [0,q]. Dit geeft het beeld I’
35
# Uitrekken van histogrammen Dit kan anders geschreven worden als een affiene punt operatie (zoals in algoritme 8) a = b = Voor dat uitgerekt wordt moet gekeken worden of min ≠ max ( dan is het n.l een homogeen beeld en kan niet uitgerekt worden
36
# Uitrekken van histogrammen
37
# Het nadeel van uitrekken is de robuustheid 1 pixel met intensiteit 0 en 1 pixel met intensiteit q zijn al voldoende om het ineffectief te maken (dan is a=1 en b=0) Het gebruik van fracties ( quantiles) om de waarde max en min te bepalen is veel robuuster. ( statische berekeningen) In de statistiek is de p-quantiel de waarde die onder de p.100 % ligt van voorkomen in de distributie http://en.wikipedia.org/wiki/Quantile Voorbeeld:
38
# Uitrekken van histogrammen De 4-quantiel heet quartiel Het 1 e quartiel snijdt de laagste 25 % data af Het 2 e quartiel snijdt de laagste 50 % data af Het 3 e quartiel snijdt de laagste 75 % data af Gegeven de reeks {3, 6, 7, 8, 8, 9, 10, 13, 15, 16, 20} van 11 getallen De positie van de 1 e quartiel is 11*(1/4)=2,75 (afgerond 3) De waarde van de 3 e positie is 7 De positie van de 2 e quartiel is 11*(2/4)=5,5 (afgerond 6) De waarde van de 6 e positie is 9
39
# Uitrekken van histogrammen De positie van de 3 e quartiel is 11*(3/4)=8,25 (afgerond 9) De waarde van de 9 e positie is 15 het infimum (inf) van een verzameling is het grootste element dat kleiner of gelijk is dan alle elementen in de verzamelingverzameling grootste element Vb inf{ 3,2,9} = 2 Het histogram van een beeld komt overeen met de dichtheidsfunctie in de statistiek behalve dat de oppervlakte niet gelijk is aan 1 De tegenhanger is de opgetelde histogram H a die als volgt gedefinieerd is voor H
40
# Uitrekken van histogrammen Ha(x)= H(0)+ H(1)+ H(2) …+H(x) De berekening is in algoritme 13 Het p-quantiel is de grijswaarde x die onder p.100 % ligt voor alle grijswaarden
41
# Uitrekken van histogrammen De quantiel functie H q kan wiskundig gedefinieerd worden voor H a : H q := inf { x є {0…q} : H a (x) ≥ p.H a (q)} (2.41) H q wordt het infimum van x waarvoor geldt: H a (x) ≥ p.H a (q) het infimum (inf) van een verzameling is het grootste element dat kleiner of gelijk is dan alle elementen in de verzameling (grootste ondergrens)verzameling grootste element Vb inf{ 3,2,9} = 2
42
# Uitrekken van histogrammen De berekening voor het p-quantiel voor Ha is samengevat in algoritme 14 Het uitrekken van histogrammen kan worden gedefinieerd als een wijziging van de verdeling, het uitrekenen van de waarde max en min met behulp van quantielen Het wordt samengevat in algoritme 15
43
# Uitrekken van histogrammen Uit experimenten blijkt: dat de 0,1- quantiel p min en de 0,9-quantiel p max goede waarden zijn. Dat zijn default waarden in algoritmen
44
# Egaliseren van histogrammen Egaliseren van histogrammen is een methode voor automatische regeling van contrast Egaliseren verdeelt het histogram evenwichtig Het doel is om het contrast te verbeteren van bepaalde grijswaarden in het beeld Bij uitrekken wordt alleen het contrast van het hele beeld uniform verbeterd
45
# Egaliseren van histogrammen Egalisatie gebruikt ook H a Het genormaliseerde histogram is H n : H n dient als een loop-up table voor het opnieuw toekennen van de grijswaarden (zie algoritme 16) Egalisatie is geen affiene punt operatie (geen linearisatie)
46
# Egaliseren van histogrammen Verspreiden, uitrekken en egaliseren van histogrammen (algoritmes 12,15,16) zijn geimplementeerd in IVT
47
# Egaliseren van histogrammen In fig 2.18 is een orgineel gegeven
48
# Egaliseren van histogrammen In fig 2.19 is het uitgerekte beeld gegeven
49
# Egaliseren van histogrammen In fig 2.20 is het geegaliseerde beeld gegeven
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.