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.

18 Appendiks 18.9 Implementering<br />

18.9.4.10 makeSeeds()<br />

Funktionen genererer et array <strong>af</strong> seed-objekter, <strong>og</strong> kopierer værdierne fra blobsne over i disse.<br />

18.9.5 EllipseApproximation<br />

Formålet med <strong>af</strong>snittet er at beskrive virkemåden <strong>af</strong> den C++-kode, der realiserer teorien i <strong>af</strong>snit 9.2<br />

Teori s. 34. Klassen er overordnet bygget op med en funktion execute(), der sørger for en korrekt<br />

<strong>af</strong>vikling <strong>af</strong> funktionerne i klassen. execute() kan overordnet beskrives med følgende flowchart<br />

(figur 18.19):<br />

18.9.5.1 execute()<br />

Funktionen består overordnet <strong>af</strong> en for-løkke,<br />

der gennemløber alle kimene, der er fundet<br />

med BlobDetection. numberOfSeeds er det<br />

totale antal <strong>af</strong> kim (objekter) <strong>og</strong> seedCounter er<br />

en tæller, der inkrementeres for hvert objekt<br />

der arbejdes på. I execute() eksekveres 3<br />

funktioner:<br />

1. Find alle koordinater hvor der er hvide<br />

pixels<br />

2. Udregn massemidtpunktet for alle<br />

hvide pixels<br />

3. Bestem den principale stor- <strong>og</strong> lilleakse<br />

samt vinklerne hertil<br />

18.9.5.2 getCoordinates()<br />

Denne funktion har til formål at finde alle<br />

steder i billedet, hvor der er hvidt. Billedet<br />

traverseres i både x- <strong>og</strong> y-dimensionen, <strong>og</strong> for<br />

hver pixel der er hvid, <strong>af</strong>sættes x- <strong>og</strong> ykoordinatet<br />

i hvert sit array. På den måde<br />

opnås en samling <strong>af</strong> koordinater, hvor der<br />

findes hvide pixels:<br />

void EllipseApproximation::getCoordinates()<br />

{<br />

int i=0;<br />

for(int y=0; y

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

Saved successfully!

Ooh no, something went wrong!