/ / Détecter des formes à l’aide de Open CV - c, opencv, reconnaissance de forme

Détecter des formes à l'aide de Open CV - c, opencv, reconnaissance de forme

J'ai essayé de détecter des formes dans une imageet déterminez également le nombre de formes de ce type présentes dans une image, par exemple un signe plus. Existe-t-il des fonctions intégrées pour détecter de telles formes? Si n'importe s'il vous plaît faites le moi savoir.

Je vous remercie.

Réponses:

1 pour la réponse № 1

Vous devez rechercher tous les contours dans une image, puis les filtrer.

Nous savons que le signe plus a 12 coins. Vous devez donc filtrer tous les contours comportant 12 angles. Bien sûr, cela peut parfois vous donner des objets indésirables. Ainsi, vous pouvez filtrer à nouveau les contours dont les angles sont compris entre 2 lignes (3 angles) avec une valeur maximale de 0,3 cos par exemple.

Jetez un coup d’oeil à squares.cpp dans le répertoire samples d’OpenCV. Il trouve tous les contours avec 4 coins et angles max. 0,3 cos. Donc à peu près tous les carrés.


0 pour la réponse № 2

Vous pouvez également jeter un coup d'œil à la transformation de Hough.


0 pour la réponse № 3

Une façon de détecter les formes consiste à utiliser cvBlobsLib.

Une bibliothèque pour effectuer des images binaires connectéesétiquetage des composants (similaire à la fonction regionprops de Matlab). Il fournit également des fonctions manipuler, filtrer et extraire les résultats des blobs extraits, voir la section caractéristiques pour plus d'informations.

Pour un exemple, voir: https://www.youtube.com/watch?v=Y8Azb_upcIQ

Une alternative est de faire usage de EmguCV

Emgu CV est une plate-forme transversale.Net wrapper à l'image OpenCV bibliothèque de traitement. Autoriser les fonctions OpenCV à être appelées à partir de .NET langages compatibles tels que C #, VB, VC ++, IronPython, etc. peut être compilé en Mono et exécuté sur Windows, Linux, Mac OS X, iPhone, iPad et appareils Android.