2012-02-19 10 views
6

Come potete vedere nell'immagine, vorrei confrontare questi contorni.OpenCV || somiglianza del contorno

contours

ho bisogno del mio programma di OpenCV per restituire TRUE quando di questi contorni sono confrontati gli uni agli altri. Hanno tutti lo stesso aspetto, ma come potete vedere non sono esattamente gli stessi.

Il risultato che vedete qui è quello che ho restituito dalla funzione findContours.

Quindi sto cercando il giusto approccio per la somiglianza per questi contorni.

Qualsiasi aiuto sarebbe sorprendente.

Grazie mille in anticipo.

risposta

5

Dai uno sguardo allo cvMatchShapes() (che prima chiamava cvMatchContours()).

+0

Grazie amico! Ci andrò subito. Stavo pensando di usare il metodo Neigbour K più vicino, ma non sono sicuro di come implementarlo correttamente in OpenCV. –

+0

Con piacere. Fatto :-) –

+0

Adi, puoi dirmi come usare cvMatchShapes. Quando provo a eseguirlo con i contorni riempiti con il vettore > Ricevo: Errore OpenCV: asserzione non riuscita. Grazie in anticipo. –

5

Per utilizzare la funzione matchShapes() è necessario passare vector<Point>, vector<Point> come argomenti. Quindi non contorni contenitore come fate, ma contorni particolari da esso. Le forme che stai cercando di confrontare dovrebbero essere un contorno.

+0

Grazie amico! Stupido errore da parte mia :-) È vettore invece di vettore >. –

Problemi correlati