Introduktion till datoriserad bildanalys
Egenskapsberäkningar
När vi har segmenterat våra bilder vill vi ofta beräkna olika egenskaper för de olika regionerna. Det kan ha med storlek eller form att göra. Ett vanligt hjälpmedel för att analysera en region är att beräkna avståndstransformen för regionen. Det betyder att vi skapar en ny bild där alla pixlar utanför regionen, bakgrunden, har värde 0 och en pixlar i regionen har värdet som är lika med avståndet från pixeln till dess närmaste pixel i bakgrunden. Nedan ser vi bilden med cirklar igen. Om vi beräknar avståndstransformen av "cirkelregionen" får vi bilden längst till höger. I den kan vi sedan t.ex. leta reda på alla maxima. När vi hittar ett maximum i avståndstransformen vet vi att vi befinner oss mitt i en cirkel och genom värdet på pixeln vet vi också hur stor cirkeln är.
|
|
|
Cirklar |
Segmentering |
Avståndstransform |
Cirklarna på bilden ovanför har olika storlekar. För att ta reda på hur många cirklar det finns av varje storlek och på så sätt klassificera cirklarna kan vi använda oss av maxvärdena och etikettering. Vi börjar med att detektera alla maxima i avståndstransformen och sedan ge dessa olika etiketter i datorn. Det gör vi för att kunna hålla reda på att de tillhör olika cirklar. Nedan till vänster ser vi en del av cirkelbilden. De ljusaste pixlarna visas i färg. Färgen anger vilken etikett de har i datorn. Efter detta jämför vi maxvärdena för de olika etiketterna. Resultatet visas nedan till höger i form av ett histogram.
|
|
Maxvärden detekterade och etiketterade |
Histogram över storlek på cirklar |
Det går att se vissa gränser i histogrammet. En grupp verkar ligga vid ungefär radie 30, en vid radie 44 och en vid radie 50. Dessutom finns de några få utspridda med radie >50.
Det finns även olika mått för att mäta formen på regionen som har segmenterat fram. Ett vanligt sådant är P2/A-måttet för vår region/vårt objekt. Det innebär att vi beräknar P=omkretsen (perimeter) och A=arean. Själva måttet är P2/A= P*P/A. Det är ett mått på "rundhet". Vi ser att för en cirkel gäller att P2/A=(2*pi*r)2/(pi*r2)=4*pi, där r=radien. Om vi har något som har samma omkrets som en cirkel, men som är mer ovalt blir P2/A>4*pi, se som exempel cirkeln och ellipsen nedan.
|
|
omkrets=2pi |
omkrets=2pi |
area=pi |
area=3pi/4 |
Ett exempel där detta kan användas är för att skilja mellan tallar och granar. Uppifrån ser en tallkrona rund ut, medan en gran är väldigt spretig. Det gör att tall har
P2/A som är nära 4pi medan gran har P2/A som är mycket större än 4pi, eftersom arean är liten men omkretsen stor.
|
|
mest tallar |
enbart granar |