ich habe jetzt mal den Quellcode der direkt danach kommt auskommentiert und jetzt funktioniert die Funktion und wenn ich mir dann den first_contours-Parameter angucke, dann steht bei "total" auch 4... was ja heißt das er 4 Konturen erkannt hat, oder?
Naja aber wenn ich mir die Kanten dann einzeichen will, und den Quellcode wieder mitreinnehme, dann bricht er bei der Funktion ab... der Quellcode ist:
int Nc = cvFindContours(thresholded_test , storage2, &first_contours, sizeof(CvContour), CV_RETR_LIST /*CV_RETR_EXTERNAL*/);
//CvScalar rot = CV_RGB(250,0,0);
//CvScalar blau = CV_RGB(0,0,250);
//
//for( CvSeq* c=first_contours; c!=NULL; c=c->h_next ){
// cvDrawContours(thresholded_test , c, rot, blau, 1, 2, 8 );
// cvShowImage( "OpenCV Test", thresholded_test );
// //for( int i=0; itotal; ++i ){
// // CvPoint* p = CV_GET_SEQ_ELEM( CvPoint, c, i );
// // printf(" (%d,%d)\n", p->x, p->y );
// //}
// cvWaitKey(0);
//}
Aber wieso ist das so? Als nächsten Befehl erzeuge ich mir ja nur die Farben-Variable "rot"...