2012-05-03 4 views
18

Ho bisogno di usare cv::FindContours() in un programma e devo conoscere l'algoritmo dietro questo.Qual è l'algoritmo che opencv utilizza per trovare i contorni?

Quale algoritmo utilizza openCV per trovare i contorni?

Come funziona?

+1

possibile duplicato di [come funziona cvFindContours?] (Http://stackoverflow.com/questions/8701248/how-does-cvfindcontours-work) – pmr

risposta

23

Se leggete il documentation è menzionato questa funzione implementa l'algoritmo di:

Suzuki, S. e Abe, K., topologico analisi strutturale dei digitalizzati immagini binarie da Border seguito. CVGIP 30 1, pp 32-46 (1985)

OpenCV è open source, se volete vedere come questo è implementato solo bisogno di leggere il codice: https://github.com/opencv/opencv/blob/master/modules/imgproc/src/contours.cpp#L1655

Una delle risposte a this question ha il link a the paper in question, che il collegamento è morto e il foglio è dietro una parete di pagamento, forse Google può aiutare a trovare una copia gratuita.

+1

Grazie, ma c'è un problema. Non ho trovato questo articolo su Internet (1985!), E anche il codice di opencv è vicino a 1700 linee e, a causa della sua modularità, non riesco a trovare la funzione principale che l'algoritmo è usato in quella funzione. Puoi darmi un link o sth che spieghi la prospettiva dell'algoritmo? (Non così complicato, se è disponibile anche la semplice spiegazione!) –

+0

mh .. Ho modificato la risposta e aggiunto un nuovo collegamento. Per favore fatemi sapere se avete bisogno di qualcosa di più. – fireant

+0

@Milad, hai risposto alla tua domanda? – fireant