OpenCV cvFindContours - comment séparer les composants d'un contour
J'ai été jouer avec OpenCV et avec beaucoup d'essais et d'erreurs ont réussi à apprendre à détecter des cercles (pièces de monnaie) dans une photo. Tout fonctionne très bien, sauf quand je place les pièces directement à côté de l'autre (comme on le voit ci-dessous, ignorer le fait que la 2ème image est à l'envers).
Il n'y paraît car les pièces sont si proches les uns des cvFindContours pensent qu'ils sont le même objet. Ma question est comment puis-je séparer ces contours dans leurs objets distincts, ou d'obtenir une liste de profils qui sont déjà séparés.
Les paramètres que j'ai utilisé pour cvFindContours sont:
cvFindContours( img, storage, &contour, sizeof(CvContour), CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE, cvPoint(0, 0) );
De l'aide ou des conseils seraient grandement appréciés.
source d'informationauteur Grinneh
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas grand, mais il montre comment s'y rendre:
Vous pouvez essayer de seuillage (cvThreshold) l'image puis éroder (cvErode) le binaire résultant image pour séparer les pièces. Ensuite, trouver les contours de l'érosion de l'image.