cs_Hercule2000
Messages postés4Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention28 avril 2005
-
26 avril 2005 à 16:03
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 2010
-
28 avril 2005 à 17:03
Bonjour je suis un etudiant en BTS informatique industrielle et nous avons un projet a réaliser avant fin mai.
Nous avons un bras manipulateur sur lequel se trouve une webcam. Le but est de trier des pièces rondes ou carrés. Nous récupérons donc l'image de la webcam que nous mettons au format BMP et en noir et blanc.
Mon souci est de maintenant repéré le centre des pièces et de définir si elles sont rondes ou carré.
Nous develeppons en C++ sous linux.
Dois je utiliser un tableau a deux dimensions?
Comment "définir" le centre de la pièce ( sa veut dire kil y aurai des positions) ?
Surtout comment définir la forme d'une pièce?
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 28 avril 2005 à 00:45
ouah
ouais, bon courage ;)
bon le tableau a 2 dimensiosn s'impose, mais T pas plus avancé comme ca...
d'aucuns te conseilleraient de faire la dérivée de ton tableau... c'est facile et ca te donne les contours des formes.
maintenant t'es toujours pas bcp avancé... dis voir, il peut y avoir plusieurs formes en meme temps ou une seule?
en tout ca, moi je regarderais dans tout le tableau dérivé pour voir ou
ca vaut 1 ( == ou ca passe du noir au blanc sur ton image) et d'essayer
de suivre le contour... tes pieces peuvent se toucher? si oui, AIE...
poste ton projet ici qd tu l'auras terminé stp
++
ad
_______________________
Omnia vincit labor improbus
Vous n’avez pas trouvé la réponse que vous recherchez ?
gnoofy120
Messages postés17Date d'inscriptionmercredi 26 janvier 2005StatutMembreDernière intervention14 juin 2006 28 avril 2005 à 07:55
Salut,
Voilà la methode que j'ai utilisée pour reconnaître des formes rectangulaires dans une carte vectorisée.
Pour chaque éléments de ton image tu calcules les moments de deuxièmes ordre:
(xg,yg) centre de gravité de l'élément
Mxx = Somme ( xi - xg )²
Myy = Somme ( yi - yg )²
Mxy = Somme ( xi - xg)*(yi-yg)
Ensuite tu prends la matrice suivante
( Mxx Mxy )
( Mxy Myy )
Les deux valeurs propres de cette matrice L et l sont la largeur et la hauteur de ton rectange.
Les deux vecteurs propres sont les axes
Tu as juste à vérifier que le rectangle ainsi calculé correspond à ta figure.
Tu peux aussi appliquer la transformée de Hough pour les points du contour de tes éléments.
Bref il y a beaucoup de solutions pas très compliquées à mettre en oeuvre.
cs_Hercule2000
Messages postés4Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention28 avril 2005 28 avril 2005 à 10:47
Merci a tous déja pour votre aide.
Les piéces ne se touchent pas pour repondre a ta question Arnaud.
La méthode avec les matrices me semblent un peu compliké pour moi car je dois par la suite présenter mon projet et par conséquent maitriser les méthodes utilisées.
Par contre les dérivées me paraissent etre une bonne idée.
Si vous avais des idées je suis toujours tré intéressé
et comment reconnaitre les formes une fois ke je le tableau dérivée?
cs_VinceR
Messages postés47Date d'inscriptionjeudi 11 juillet 2002StatutMembreDernière intervention27 avril 2005 28 avril 2005 à 10:54
C'est peut être idiot, j'y connais pas grand chose en traitement du signal mais une transformée de fourier ça pourrait peut-être aider car chaque image (forme) a des caractéristiques bien précise qui peuvent se représenter ainsi. Le signal qu'il soit audio electrique ou visuel ça doit se traiter de la même manière. Le spectre d'un carré ou d'un rond sera différent.
Arnaud16022
Messages postés1329Date d'inscriptionvendredi 15 août 2003StatutMembreDernière intervention16 juin 20102 28 avril 2005 à 13:44
unr FTT?
heu...
bon effectivement pourquoi pas mais je vois pas ce que ca apportera ,
c'est pas vraiement un signal mais une image... enfin bon, on peut
expérimenter
moi je dirais, une fois que tu as le contour tu cherches l'angle entre
3 points consécutifs, tu fais une moyenne ou qqch comme ca et tu
regardes si ca te donne qqch... j'en sé rien.
cs_VinceR
Messages postés47Date d'inscriptionjeudi 11 juillet 2002StatutMembreDernière intervention27 avril 2005 28 avril 2005 à 13:48
Je reviens sur l'histoire Fourier, en réfléchissant 2mn, on s'en sert pour compresser une image. Donc potentionnellement on peut avoir sous forme de valeur a0 a1 .... an une équivalance données algébrique / image réel, pour comparer ensuite c'est très simple, une bonne boucle et on regarde le pourcentage d'erreur.