-
Reconnaissance de formes
Bonjour à tous,
Nous sommes novice avec Open CV, et nous n'arrivons pas à répondre à notre problématique. Voilà, en gros, nous avons une image de référence qui représente un objet usiné, nous devons comparer cette objet avec l'image d'un autre objet et pour cela nous devons non seulement crée une base de donnée de tolérance et réussir à récuperer les contours et les caractéristiques géométriques de l'objet usinée présent dans l'image. Savais vous comment nous pourrions procéder ??
Merci d'avance
Macslide
-
bonjour,
Tout dépend de la nature des comparaisons :
- Si les pièces peuvent avoir des dimensions différents et des angles de rotations différents, qu'ils ont des formes un peu complexe(pas de forme simple comme rectangle ou cylindre etc), alors je serai partant pour une détection par comparaison des points d'intérêts(SURF ou Sift), vous pouvez voir l'exemple find_Object de Opencv.
- Si les pièces ont les mêmes dimensions et angles de rotations, alors vous pouvez utiliser le matchTemplate (inclu dans opencv).
- Si les pièces ont n'ont pas les mêmes dimensions, mais le même angle de rotation ( ou légère différence), alors vous pouvez utiliser le HarrTrainning qui nécessite un apprentissage mais qui très performant (aussi disponible avec opencv).
-
Type de contours
Bonjour,
Nous avions envisager le Haartraining mais nous trouvons que cela et peut être un peu compliqué pour notre projet. Sachant que notre pièce de référence est un carré avec des trous au nombre de trois. Et que le temps qui nous est attribué environ deux semaine nous parait un peu court pour utilisée une méthode complexe qui nécessite un apprentissage. Avez-vous une idée ??
Merci pour votre réponse
Macslide
-
Récupérer les valeurs
Re bonjour,
Nous avons réussi à récupérer les contours de notre image.... ouf ... mais à présent nous devons réussir à récupérer la longueur de notre carrée et le diamètre de nos trois trous. Avez-vous une idée de comment nous pourrions procéder ??
Merci d'avance pour votre aide
Macslide
-
Bonjour,
Le haartrainning n'est pas très compliqué en utilisation :) mais bon si vous optez pour la détection des contour et reconnaissance de forme, et bien vous pouvez utiliser la transformée de hough pour detecter les cercles (vous aurez les coordonnées du centre et le diamètre, et pour le rectangle, y'a un exemple dans opencv qui permet de reconnaitre un rectangle avec ses dimensions et coordonnées (vous pouvez facilement le modifier pour reconnaitre d'autre formes : triangle etc ), l'exemple pour les rectangel c'est squares.c dans Samples/c, l'exemple montre toute la phase de traitement : détection contour, reconnaice carré.
B courage
-
Bonjour,
le principe est toujours le même une fois que vous avez les contours de vos objet :
- caractérisation des objets par la forme et/ou la texture : indices de formes, moments, caractéristiques haralick, etc.
- comparer les caractéristique de l'objet requête avec celle des objets de la base. Dans votre cas un simple k plus proches voisins (avec k = 1).
-
Bonjour
Pour le haartraining je pense que 2 semaines restent assez cour à moins de vraiment maitriser la chose, si vous avez une image de référence il serait interessant de voir au niveau de cvmatchtemplate qui peut s'avérer très utile à mon sens ici.