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