-
Détection de forme
Bien le bonjour,
ceci est mon premier post sur ce forum soyez clément avec moi.
Bon je vous explique le problème.
J'ai implémenté une détection de différents patterns avec cet librairie.
Mes patterns sont des ronds, pour avoir une coordonnée dans le plan je prends simplement le centre de gravité de l'ensemble de points qui forme ma forme ronde.
Ce que je voudrais maintenant introduire c'est un autre type de forme(mais pas trop complexe) je pense à priori à un triangle ou carré/rectangle.
Comment faire pour distinguer ces deux formes? (avoir leur coord ne devrait pas posé de problème je pense utiliser la même technique que pour les ronds mais je voudrais distinguer mes ronds de la nouvelle forme que je vais introduire.
Voilà j'espère que c'est clair et que vous serez m'aider:)
Genre fonction qui gère ça ou méthode mathématique que je pourrai codé afin de distinguer mes deux formes:)
ps: désolé si y'a des erreurs d'orthographe
-
Personne :'(
Détecter des formes avec openCv serait impossible?
-
Quelle méthode as-tu utilisé pour détecter les cercles, à l'origine ?
-
Salut,
Il existe pas mal de façon différente pour faire de la reconnaissance de forme avec OpenCV. La plus simple a priori est d'utiliser les fonctions findContours et matchShapes sur, de préférence, d'une image binarisée (ça se dit en français? bref, codée seulement en noir et en blanc).
Avec ça, tu pourras faire ce que tu souhaites.
-
salut,
tu peux toujours utiliser Hough Line ou Cercle en OpenCV
-
Salut,
Regardes l'exemple Squares.c livré avec opencv, il montre comment faire pour détecter un rectangle (en se basant sur sa forme géométrique : 4 segments convexe avec des angles de presque 90°), avec une petite modification tu peux utiliser le même programme pour détecter des triangles.
-
Montre déjà une image que l'on se fasse une idée. En fonction du fond, les méthodes peuvent grandement varier.
PS : c'est une question de méthodologie et non d'OpenCV, le forum "Algorithme/Traitement d'images" eut été beaucoup plus approprié.