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.9.3 evaluateSeeds()<br />

Funktionen har til formål at implementere ønsket,<br />

om at kunne udvælge kim <strong>ved</strong> både at <strong>brug</strong>e<br />

boks- <strong>og</strong> ellipsoide-modellen. Fremgangsmetoden<br />

er som følger (figur 18.24):<br />

1. Først undersøges det om der ønskes<br />

anvendt boks- eller ellipsoide-model<br />

2. Hvis der anvendes ellipsoide-model<br />

udregnes x0, y0, z0, a, b <strong>og</strong> c<br />

3. Herefter gennemløber for-løkken alle<br />

kimene i seeds-objektet<br />

4. Det undersøges om det aktuelle kim<br />

falder inden for grænserne for den valgte<br />

model<br />

Koden i C++ er som følger:<br />

void Quality::evaluateSeeds(void)<br />

{<br />

float x0, y0, z0;<br />

float aSquared, bSquared, cSquared;<br />

…<br />

På 1. <strong>og</strong> 2. trin i fremgangsmetoden ovenover undersøges det, om der er valgt ellipsoide-modellen,<br />

<strong>og</strong> i så fald regnes x0, y0, z0, a, b <strong>og</strong> c ud:<br />

…<br />

if (selection!=0)<br />

{<br />

float temp;<br />

temp = (float(expandShrinkHigh)-float(expandShrinkLow))/2;<br />

x0 = expandShrinkHigh-temp;<br />

aSquared = float(pow(double(temp),2));<br />

}<br />

…<br />

temp = (float(symmetryHigh)-float(symmetryLow))/2;<br />

y0 = float(symmetryHigh)-temp;<br />

bSquared = float(pow(double(temp),2));<br />

temp = (float(areaHigh)-float(areaLow))/2;<br />

z0 = float(areaHigh)-temp;<br />

cSquared = float(pow(double(temp),2));<br />

På 3. trin gennemløbes for-løkken, <strong>og</strong> dataene hentes på kimet:<br />

…<br />

for(int i=0; i

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

Saved successfully!

Ooh no, something went wrong!