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.11.2 calculateCenterOfMass()<br />

Der lavet to udgaver <strong>af</strong> denne funktion. Dette er gjort, for at massemidtpunktsudregningen kan<br />

<strong>brug</strong>es flere steder selvom det, det ene sted er et dobbeltarray <strong>af</strong> koordinater, <strong>og</strong> det andet sted er et<br />

grayScale-objekt der arbejdes med:<br />

Coordinates Utilities::calculateCenterOfMass(unsigned char **ppBlob, int ySize, int xSize, int<br />

numberOfPixels)<br />

{<br />

Coordinates CM;<br />

CM = calculateCM(ppBlob, ySize, xSize, numberOfPixels);<br />

return CM;<br />

}<br />

Coordinates Utilities::calculateCenterOfMass(GrayScale &grayScale, int numberOfPixels)<br />

{<br />

Coordinates CM;<br />

unsigned char **ppBlob = grayScale.getPointer();<br />

int xSize = grayScale.getWidth();<br />

int ySize = grayScale.getHeight();<br />

}<br />

CM = calculateCM(ppBlob, ySize, xSize, numberOfPixels);<br />

return CM;<br />

18.9.11.3 calculateCM()<br />

calculateCM() er funktionen, der foretager den reelle massemidtpunktsudregning. Funktionen<br />

består <strong>af</strong> to for-løkker der traverserer alle x- <strong>og</strong> y-koordinater igennem <strong>og</strong> summerer deres værdier<br />

op. Når begge løkker er færdige, deles der med antallet <strong>af</strong> pixels for at få den gennemsnitlige x- <strong>og</strong> yværdi.<br />

Disse to værdier er koordinatsættet for massemidtpunktet:<br />

Coordinates Utilities::calculateCM(unsigned char **ppBlob, int ySize, int xSize, int<br />

numberOfPixels)<br />

{<br />

int i=0;<br />

float centerOfMassX = 0, centerOfMassY=0;<br />

}<br />

for(int y=0; y

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

Saved successfully!

Ooh no, something went wrong!