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 />

}<br />

oldThreshold = newThreshold;<br />

newThreshold = int((backGroundMean+foreGroundMean)/2+0.5);<br />

if(oldThreshold==newThreshold || k>=10)<br />

{<br />

breakLoop=true;<br />

}<br />

}<br />

threshold = newThreshold;<br />

Den nye thresholdværdi er nu tilgængelig for klassen i variablen threshold.<br />

Sidste trin i processen er selve thresholdingen <strong>af</strong> billedet. Dette foregår <strong>ved</strong>, at der først dannes et<br />

nyt billede, der skal indeholde det nye thresholdede binære billede. Herefter traverseres billedet på<br />

samme måde som <strong>ved</strong> genereringen <strong>af</strong> hist<strong>og</strong>rammet, <strong>og</strong> det undersøges hvorvidt den aktuelle pixels<br />

pixelintensitet er over eller under den fastsatte thresholdværdi. Hvis værdien er under eller lig sættes<br />

0 ind i det binære billede, <strong>og</strong> hvis værdien er over sættes 255 ind:<br />

void Binary::makeBinary(GrayScale &binaryImage)<br />

{<br />

binaryImage.execute(width, height);<br />

unsigned char **ppBinaryArray = binaryImage.getPointer();<br />

}<br />

int x,y;<br />

for(y=0; y

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

Saved successfully!

Ooh no, something went wrong!