J'ai un CvSeq * contenant les polygones créés en exécutant cvApproxPoly() sur un CvSeq * créé en exécutant cvFindContors sur une image d'entrée b & w. Je veux accéder aux CvPoints de chaque polygone renvoyé par le CvSeq *. Code à ce jour comme suit (décrit est un IplImage contenant le b & w image d'entrée):Récupération de points de polygones créés par cvApproxPoly()
//create pointers to store data we're going to be calculating
CvMemStorage* storage = cvCreateMemStorage();
CvSeq* first_contour = NULL;
CvSeq* first_polygon = NULL;
//find the contours (edges) of the silhouette, in terms of pixels.
cvFindContours(&outlines,
storage,
&first_contour,
sizeof(CvContour),
CV_RETR_LIST);
//convert the pixel contours to line segments in a polygon.
first_polygon = cvApproxPoly(first_contour,
sizeof(CvContour),
storage,
CV_POLY_APPROX_DP,
2,
1);
I peut utiliser cvDrawContour pour dessiner le polygone sur une image, mais je veux itérer sur chaque point 2D qui définit chaque contour. Il semble que chaque élément du CvSeq * first_polygon contienne l'ensemble des points pour un seul polygone (conclu sur la base de la valeur de first_polygon-> total ;, mais je ne sais pas comment accéder aux points individuels.) Aidez-nous s'il vous plaît?
pouvez-vous s'il vous plaît dire si cette méthode disponible en javacv aussi? –