:o) OpenCV: Probleme mit cvFindContours
-
Hallo...
Ich habe ein Problem mit der OpenCV-Funktion FindContours. Eigendlich genauer gesagt, habe ich Probleme, mir con den Konturen die Punkte geben zu lassen. Ich nutze die Funktion cvGetSeqElem, aber die Punkte, also die x- und y-Koordinaten, die mir dort ausgegeben werden, passen nicht zu den Konturen.
Wenn ich diese Punkte allerdings an FitEllipse2 übergebe, wird eine wunderbare Ellipse passend zu den Konturen gezeichnet.
Das verstehe ich einfach nicht, weil ich es auch sehr unlogisch finde. Vielleicht hab ich auch bloß ein Brettchen vor dem Kopf und verstehe bei der Funktion cvGetSeqElem etwas falsch.
Der Code sieht folgendermaßen aus:
cvFindContours( canny, g_storage, &contours,sizeof(CvContour),CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE,cvPoint(0,0) ); for( int i = 0; i < contours->total; ++i ) { CvRect *p = (CvRect*)cvGetSeqElem(contours, i); cout << "x: " << p->x << "y: " << p->y << endl ; edge = (stuDPoint*)malloc(sizeof(stuDPoint)); edge->x = p->x; edge->y = p->y; Draw_Cross(g_image, edge -> x, edge -> y, 15, 15, CV_RGB (0, 255, 0)); edge_point.push_back(edge); }Danke schon einmal für nette Antworten.

/edit pumuckl: [cpp]-Tags eingefügt, bitte in Zukunft selber dran denken

-
oh, sorry, das wusste ich nicht- aber dankeschön.