-
Récupérer des contours ?
Bonjour, je suis sur un projet où je dois récupérer les contours d'une image (un carré par exemple) et je dois les stocker dans un tableau (pour créer une base d'apprentissage).
J'ai crée des images, et je l'ai mis en niveau de gris ( et en noir et blanc aussi) mais je ne sais pas comment faire pour avoir les contours.
J'ai fait mon programme avec la bibliothèque openCV et visual studio (c++)
Merci d'avance si vous avez des idées
-
Bonjour,
Regarde l'exemple opencv "edge.c" pour la detection des contours, et "squares.c" pour la manipulation des contours (stockage en mémoire, et application de verification et calcul )
Cordialement
-
Bonjour,
d'accord je vais regarder ça dans les jours suivants et je vous tiens au courant, merci!
-
Bonjour, vous m'aviez post une réponse en me disant de regarder les exemples mais je ne vois pas le rapport. On m'a dit sinon de regarder freeman, savez vous si c'est plus simple?
-
Bonjour,
si j'ai bien compris, vous cherchez a récupérer les contours des formes et les stocker dans une table d'apprentissage, c'est ce que j'ai compris de votre question, et si c'est bien ca, alors l'exemple "squares" est exactement ce qu'il vous faut parce qu'il fait la même chose, dans l'exemple ils récupèrent les contours de l'images dans un buffer, ils cherches les contours convexes, et verifient dans le cas d'un carré si l'angle entre deux contour est droite (approx 90°) et que le nombre de contour de cette forme convex est de 4, si c'est le cas alors c'est un carré.
L'exemple traite la récupération des contours (de mémoire je pense qu'ils utilisent canny).
Récupération des contours et stockage en mémoire.
Application de ciontrol geometrique.
Dans ton cas, je pense qu'il vous faut :
- récupérer les contours.
- stocker (soit contours soit les formes composées de certain contour) pour créer la base.
c'est bien ca ce que vous voulez faire !!?
-
contours
Je pense que tu devrais peut-être essayer l'exemple dans OpenCV "houghlines.cpp".
http://fr.wikipedia.org/wiki/Transform%C3%A9e_de_Hough
Tu peux également utiliser cvHoughCircles qui détecte les contours circulaires et ellipsoïdales.
-
Bonjour,
sur des images binaires, c'est trivial.
sur du niveaux de gris, c'est presque impossible sur des objets quelconques/inconnus sans information a priori ou sans fond uni.