2012-07-07 28 views
7

¿Puede alguien explicar el método cvFindContours y cuáles son los parámetros que requiere?¿Cuáles son los parámetros pasados ​​a cvFindContours() en JavaCV?

Por ejemplo, aquí está el código usando OpenCV:

hierarchy = cv2.findContours(thresh, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE) 

Por favor alguien puede explicar cómo escribir esto utilizando JavaCV?

+2

No sé acerca de javacv, pero para los parámetros, eche un vistazo a [this] (http://docs.opencv.org/modules/imgproc/doc/salud estructural_y_shape_descriptors.html?highlight=#cv2.findContours) – Mohammad

+0

En JavaCV contiene el siguiente formato para el método cvFindContours (opencv_core.CvArr cvarr, opencv_core.CvMemStorage cms, opencv_core.CvSeq cvseq, int i, int i1, int i2). Entonces, ¿qué significa este 3 enteros? –

+0

esto parece ser similar a la interfaz de opencv 1.x: 'int cvFindContours (CvArr * image, CvMemStorage * storage, CvSeq ** first_contour, int header_size = sizeof (CvContour), int mode = CV_RETR_LIST, int method = CV_CHAIN_APPROX_SIMPLE, CvPoint offset = cvPoint (0,0)) ' – Mohammad

Respuesta

7

Como los comentarios mencionados por Mohammad esos tres parámetros son header_size, modo de y método. Puede utilizar este método de la siguiente manera

IplImage src = cvLoadImage(path);//hear path is actual path to image 
    IplImage grayImage = IplImage.create(src.width(), src.height(), IPL_DEPTH_8U, 1); 
    cvCvtColor(src, grayImage, CV_RGB2GRAY); 
    cvThreshold(grayImage, grayImage, 127, 255, CV_THRESH_BINARY); 
    CvSeq cvSeq=new CvSeq(); 
    CvMemStorage memory=CvMemStorage.create(); 
    cvFindContours(grayImage, memory, cvSeq, Loader.sizeof(CvContour.class), CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE); 

Espero que esto pueda ayudarlo a comprender este método.

Cuestiones relacionadas