2012-07-07 10 views
7

Qualcuno può spiegare il metodo cvFindContours e quali sono i parametri richiesti?Quali sono i parametri passati a cvFindContours() in JavaCV?

Ad esempio, ecco il codice utilizzando OpenCV:

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

Si prega di qualcuno può spiegare come scrivere questo utilizzando JavaCV?

+2

Non so su javacv ma per i parametri dare un'occhiata a [questo] (http://docs.opencv.org/modules/imgproc/doc/structural_analysis_and_shape_descriptors.html?highlight=#cv2.findContours) – Mohammad

+0

In JavaCV contiene il seguente formato per il metodo cvFindContours (opencv_core.CvArr cvarr, opencv_core.CvMemStorage cms, opencv_core.CvSeq cvseq, int i, int i1, int i2). Quindi cosa significa questo 3 numeri interi? –

+0

sembra essere simile all'interfaccia opencv 1.x: 'int cvFindContours (immagine CvArr *, archiviazione CvMemStorage *, CvSeq ** first_contour, int header_size = sizeof (CvContour), modalità int = CV_RETR_LIST, metodo int = CV_CHAIN_APPROX_SIMPLE, offset CvPoint = cvPoint (0,0)) ' – Mohammad

risposta

7

Come commenti menzionati da Mohammad questi tre parametri sono header_size, modalità e metodo. È possibile utilizzare questo metodo come segue

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); 

Spero che questo possa aiutarti a capire questo metodo.

Problemi correlati