2016-12-22 4 views
0

Ich benutze openframeworks und opencv zusammen und ich versuche, die Punkte des konvexen Rumpfes zu finden. Wenn ich diese Methode logge, erhalte ich ein Array aller Punkte, aber ich muss auf bestimmte Punkte im Array zugreifen können.bekomme konvexe Punkte von Array in openframes opencv

Wenn ich die getConvexHull Methode Konsole anmelden, erhalte ich die x- und y-Punkte im Array:

cout << "convexhull points" << contourFinder.getConvexHull(i) << endl; 

Und das ist, was die Konsole gibt mir:

getconvexhull[243, 434; 
    241, 443; 
    243, 419] 

Wie kann ich die einzelnen Punkte, damit ich sie referenzieren kann? Ich dachte, ich müsste etwas wie hull [0] machen, aber das bringt nur [0, 0] zurück.

Antwort

0
for (auto contourIndex = 0; contourIndex < contourFinder.size(); ++contourIndex) 
{ 

    const ofPolyline contour = contourFinder.getPolylines()[contourIndex]; 

    ConvexHull convexHull(contour, hullMinumumDefectDepth); 

    for (auto point: convexHull.convexHull()){ 
     ofSetColor(0,0,255, 100); 
     ofDrawRectangle(point.x, point.y, 100, 100); 
    } 
} 

Dies ist, was ich getan habe, um jeden Punkt von convexHull zu erhalten und ein blaues Rechteck an jedem Punkt zu zeichnen. Hoffe es hilft!

Verwandte Themen