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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

18 Appendiks 18.9 Implementering<br />

18.9.1.4 getWidth(), getHeight()<br />

Da width <strong>og</strong> height er erklæret som ”private” <strong>brug</strong>es getWidth() <strong>og</strong> getHeight() til at hente<br />

henholdsvis bredden <strong>og</strong> højden <strong>af</strong> det aktuelle billede.<br />

18.9.1.5 getRedPointer(), getGreenPointer(), getBluePointer()<br />

Funktionerne returnerer en pointer til det aktuelle dobbeltarray. Funktionerne <strong>brug</strong>es, hvis man har<br />

behov for at tilgå billededataene direkte. Dette er det hurtigste, hvis man har mange skrivninger eller<br />

læsninger til givent billede. D<strong>og</strong> skal man selv holde styr på, at man skriver indenfor billedet.<br />

18.9.1.6 getValue(), setValue()<br />

getValue() <strong>brug</strong>es til at få oplyst farven i en given pixel. setValue() <strong>brug</strong>es til at sætte farven i en<br />

given pixel. Når man benytter disse mutator- <strong>og</strong> accessor-funktioner sørger klassen for, at man ikke<br />

læser/skriver uden for billedet.<br />

18.9.1.7 clearImage()<br />

Funktionen <strong>brug</strong>es til at nulstille alle pixels i billedet. Funktionen <strong>brug</strong>es bl.a. efter at man har<br />

allokeret ny hukommelse, så de data der skulle ligge på de givne pladser bliver nulstillet.<br />

18.9.1.8 makeVirtualImage()<br />

Funktionen allokerer hukommelse til dobbeltarrays med de tre farver i.<br />

18.9.1.9 ~Color()<br />

Destuctoren sørger for at slette de tre dynamisk erklærede dobbeltarrays.<br />

18.9.2 Binary<br />

I funktionen execute() i klassen <strong>af</strong>vikles 2 funktioner, makeHist<strong>og</strong>ram() <strong>og</strong> evaluateThreshold().<br />

18.9.2.1 makeHist<strong>og</strong>ram()<br />

Det første trin i processen er at skabe et hist<strong>og</strong>ram. Dette gøres <strong>ved</strong> at traversere igennem billedet i<br />

dets 2 dimensioner, <strong>og</strong> tælle op hvor mange gange hver pixelintensitet forekommer. ppGrayArray er<br />

en dobbeltpointer, der peger på arrayet der indeholder billedet:<br />

void Binary::makeHist<strong>og</strong>ram(void)<br />

{<br />

for(int i=0; i

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

Saved successfully!

Ooh no, something went wrong!