21.07.2013 Views

Detektering og klassificering af kimplanter ved brug af computer vision

Detektering og klassificering af kimplanter ved brug af computer vision

Detektering og klassificering af kimplanter ved brug af computer vision

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

8 BlobDetection 8.2 Teori<br />

8.2.1.1 Eksempel<br />

Figur 8.3<br />

Billede på 5x6 pixel med to<br />

forgrundspixels<br />

Et simpelt billede i størrelsen 6x5 pixel, hvor<br />

alle pixels er slukket med undtagelse <strong>af</strong> de to<br />

midterste (figur 8.3). Algoritmen kontrollerer<br />

billedet nedefra <strong>og</strong> op, hvor den ikke vil finde<br />

n<strong>og</strong>en tændte pixels i de to første rækker.<br />

Først <strong>ved</strong> 3. pixel i 3. række (figur 8.4) finder<br />

den en tændt pixel. Det bliver kontrolleret,<br />

om dens 4 naboer (A2-5) er knyttet til en<br />

subblob. Da ingen <strong>af</strong> dem er tændte, er de<br />

heller ikke knyttet til en subblob. Derfor oprettes der en ny subblob, som<br />

den aktuelle pixel knyttes til. Når dette er gjort, forsætter algoritmen til<br />

næste pixel (figur 8.5). Denne pixel er <strong>og</strong>så tændt, <strong>og</strong> derfor kontrolleres<br />

<strong>og</strong>så dennes 4 naboer. Af dens naboer er den ene tændt (A5), <strong>og</strong> dermed<br />

knyttes A0 til samme subblob som A5. Resten <strong>af</strong> billedet løbes igennem,<br />

men der findes ikke flere tændte pixels. Nu har algoritmen fundet en<br />

subblob, som består <strong>af</strong> 2 pixels.<br />

8.2.2 Knytning <strong>af</strong> subblobs<br />

Under kontrollen <strong>af</strong> et billede, kan der forekomme situationer, hvor 2 eller flere subblobs har<br />

kontakt med hinanden. Disse situationer fremkommer, hvis 2 eller flere <strong>af</strong> A0s fire naboer er<br />

knyttet til forskellige subblobs.<br />

Sammenknytningen laves vha. en træstruktur, hvori det noteres hvilke subblobs der hænger sammen.<br />

Alle subblobs oprettes som deres egen rod i hvert deres rodsystem, uden at der er andre<br />

elementer i systemet. Hvis to subblobs knyttes sammen, gøres det <strong>ved</strong> at gøre den med det højeste<br />

subblobnummer til en gren i den andens rodsystem.<br />

Træstrukturen realiseres i en liste, hvor der er en plads til hver subblob. Når en subblob oprettes,<br />

skrives dens subblobnummer ind på dens plads. Hvis den senere knyttes til en anden subblob,<br />

ændres værdien på pladsen, så subblobben nu peger på dens rod.<br />

8.2.2.1 Eksempel<br />

Figur 8.6<br />

Billede med to blobs som bliver detekteret<br />

som flere subblobs<br />

Billedet (figur 8.6) viser et eksempel<br />

med to blobs som i algoritmen først<br />

vil blive detekteret som 4 subblobs,<br />

men hvor de 3 knyttes sammen, så<br />

der kun er 2 blobs.<br />

Billedet kontrolleres nedefra, hvor<br />

de enkelte pixels bliver knyttet til<br />

forskellige subblobs. Som det er vist<br />

på figur 8.7, bliver de enkelte pixels<br />

knyttet til de samme subblobs som<br />

deres naboer. Ved A- <strong>og</strong> B-pixelene<br />

er der to forskellige naboer, så der<br />

skal to subblob knyttes sammen.<br />

A5 A0<br />

A4 A3 A2<br />

Figur 8.4<br />

Naboerne til pixelen i (2,2)<br />

bliver undersøgt<br />

A5 A0<br />

A4 A3 A2<br />

Figur 8.5<br />

Naboerne til pixelen i (3,2)<br />

bliver undersøgt<br />

B 3<br />

0 2 A<br />

0 2 1 1<br />

0 1 1<br />

Figur 8.7<br />

Billede delt op i subblobsne 0, 1, 2 <strong>og</strong><br />

3, hvor pixelene i A <strong>og</strong> B sammenkæder<br />

de forskellige subblobs<br />

Side 29 <strong>af</strong> 131

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!