TRAITEMENT DE L'IMAGE BINAIRE, RECONNAISSANCE DE FORMES

yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 - 30 nov. 2006 à 19:57
Franckydenantes Messages postés 3 Date d'inscription jeudi 13 janvier 2011 Statut Membre Dernière intervention 14 octobre 2011 - 14 oct. 2011 à 10:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40531-traitement-de-l-image-binaire-reconnaissance-de-formes

Franckydenantes Messages postés 3 Date d'inscription jeudi 13 janvier 2011 Statut Membre Dernière intervention 14 octobre 2011
14 oct. 2011 à 10:48
Bonjour,

Est-ce que ce programme est utilisable sur une vidéo en temps réel (webcam)? Et comme demandé précédemment peut-on compter le nombre de formes détectées?

L'idée serait d'utiliser ça pour compter le nombre de colis qui passent sur une chaine de production.
grapin Messages postés 2 Date d'inscription mercredi 12 octobre 2011 Statut Membre Dernière intervention 4 janvier 2012
12 oct. 2011 à 11:29
Hello, super boulot déjà

Est-ce que tu as une fonction qui compte le nombre de formes qu'il y a dans l'image.

Car mon but est de compter le nombre de composants identique qu'il y a sur une photo... J'ai essayé sur une photo 1280x1024, c'est assez long le traitement au bout de 15-20mn il était à la 2e forme.

A++
altyok Messages postés 11 Date d'inscription mardi 30 mars 2010 Statut Membre Dernière intervention 2 septembre 2011
6 avril 2011 à 17:11
salut PISTOL_PETE

je suis aller sur ton site et j'ai vu que tu fait bcp de programme sur le traitement de l'image et donc je pense que tu pourrais m'aider.
moi je cherche a réaliser une reconnaissance de forme sur un signal vidéo. j'ai une caméra qui film l'entrée d'un parking et je dois différencier les piétons des voitures et je pensais donc faire sa par reconnaissance de forme.
pense tu que ce projet peut être réalisable et aurais-tu une idée de départ.

merci
A+
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
30 déc. 2008 à 10:40
Salut
Cela ne vient pas de ma classe puisqu'elle s'intitule ImageBinaire. Cette classe vient de CMUgraphics. Elle permet d'ouvrir des images jpeg. Cela signifie qu'il ne trouve pas le destructeur de cette classe.
Vérifie si le fichier image.cpp est bien inséré à ton projet et si tu as inclus le .lib regarde dans image.h si le destructeur n'est pas définie la. Tu pourras peut etre le declarer la pour voir si ca résout ton probleme.

Si tu as encore des problèmes donne moi plus d'information sur ta procédure pour installer cmugraphics.
A+
casslabaracc Messages postés 2 Date d'inscription mercredi 12 novembre 2008 Statut Membre Dernière intervention 7 avril 2009
29 déc. 2008 à 01:45
Bonjour,

personnellement, je n'ai pas de problème avec CMUgraphics mais plutôt des erreurs de type
Error: Error: Unresolved external 'image::~image()' referenced from C:\USERS\CLEMENT\DESKTOP\TEST\PROJ0002.OBJ
lorsque je compile.
Si quelqu'un a déjà eu ce genre d'erreur...
Merci.
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
27 juin 2007 à 16:32
Salut Acheo
Pour ce qui est de cmugraphics, regarde sur mon site internet, tu pourras trouver les sources de cmugraphics et une procédure simple pour faire fonctionner cmugraphics

voila le lien
http://pistol.petesampras.free.fr
acheo Messages postés 1 Date d'inscription mercredi 6 juin 2007 Statut Membre Dernière intervention 6 juin 2007
6 juin 2007 à 05:16
Bonjour,

J'ai moi aussi des problèmes avec cmugraphics.h. J'ai pourtant créer un fichier du même nom, lequel se trouve dans le projet. J'utilise Visual C++ 6.0. A la compilation, j'obtiens le même message d'erreur soit: c:\documents and settings\mathieu\my documents\informatique\soucres\rf\img\main.cpp(1) : fatal error C1083: Cannot open include file: 'cmugraphics.h': No such file or directory
Error executing cl.exe.
sicbsicb Messages postés 4 Date d'inscription jeudi 7 décembre 2006 Statut Membre Dernière intervention 11 février 2007
24 janv. 2007 à 18:46
Trés bon programme.
J'ai mon TPE qui porte sur la reconnaissance d'images. Le but étant de lançer un dé sous une webcam puis que l'ordinateur detecte sur quel chiffre il est tombé. Ce petit programme est trés intérressent pour déja compter le nombre de forme et de m'en donné le type (quand ça veut bien marcher !) parce que souvent il dit rond au lieu de carré ou rectangle au lieu de triangle mais bon c'est simpa.
Je serais ravi d'en savoir un peu plus...
ps: domage que ça soit pas du basic parce que le C++ c'est encore moins mon trucs !
@+
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
14 janv. 2007 à 13:29
Salut Lexius
Merci pour ton intérêt pour ma source. Oui tu peux utiliser ma source pour effectuer de la reconnaissance de caractère et les plaques d'immatriculation sont de parfaites photos pour commencer.(les chiffres et les lettres sont toujours de la même forme...)
Cependant mon programme ne sera qu'une base de travail. Pour chaques lettres et chaques chiffres tu devras effectuer un travail dessus.
Pour Cmugraphics, je vais mettre les sources sur mon site internet avec toutes les explications nécessaire (ce sera fait ce soir).
http://pistol.petesampras.free.fr/

A+
lexius94 Messages postés 1 Date d'inscription dimanche 22 janvier 2006 Statut Membre Dernière intervention 12 janvier 2007
12 janv. 2007 à 15:55
Bonjour!
je travail sur la reconnaissance de caractere dans une image. je pensais m'inspirer de ce code comme base pour mon travail mais j'ai quelques problemes avec Cmugraphics. Les liens un peu plus haut ne fonctionnent pas. je l'ai donc recupéré sur un autre site mais j'ai quelques problemes de compilation. Pouriez vous donner un nouveau lien svp?
Pensez-vous que ce code puisse servir de base à un travail de reconnaissance de caractere dans une image? (il s'agirait de récuperer le numero d'une plaque mineralogique depuis une image en noir et blanc)
Merci d'avance de votre réponce.
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
11 déc. 2006 à 10:45
Salut SDGENADI. A mon avis tu aurais pu recopier uniquement la première erreur :
C:\main.cpp:1:25: cmugraphics.h: No such file or directory

toutes les autres dépendent de celle ci. Ben oui il faut inclure cmugraphics sinon ca risque pas de compiler. Tu peux trouver cette lib sur le net.
Voila une adresse, je ne l'ai pas testé...
http://codenewbie.com/forum/standard-c-c/971-installing-using-cmugraphics-library.html
sdjenadi Messages postés 9 Date d'inscription mardi 21 décembre 2004 Statut Membre Dernière intervention 29 mars 2007
11 déc. 2006 à 06:25
Bonjour!

j'ai essayé de compiler avec dev-c++ mais sa ne fonctionne pas sa me donne 119 erreurs

voici les erreurs rencontré.

Compilateur: Default compiler
Exécution de g++.exe...
g++.exe "C:\main.cpp" -o "C:main.exe" -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib"
C:\main.cpp:1:25: cmugraphics.h: No such file or directory
C:\main.cpp:14: error: variable or field `DrawImg' declared voidC:\main.cpp:14: error: `window' was not declared in this scope
C:\main.cpp:14: error: `F' was not declared in this scope
C:\main.cpp:14: error: expected primary-expression before "ImgBin"
C:\main.cpp:14: error: initializer expression list treated as compound expression
C:\main.cpp:15: error: `POINT' was not declared in this scope
C:\main.cpp:15: error: template argument 1 is invalid
C:\main.cpp:15: error: template argument 2 is invalidC:\main.cpp:15: error: `window' has not been declared
C:\main.cpp:15: error: ISO C++ forbids declaration of `Pt' with no type
C:\main.cpp:15: error: ISO C++ forbids declaration of `G' with no type
C:\main.cpp:16: error: variable or field `Out' declared void
C:\main.cpp:16: error: `window' was not declared in this scope
C:\main.cpp:16: error: `G' was not declared in this scope
C:\main.cpp:16: error: expected primary-expression before "int"
C:\main.cpp:16: error: expected primary-expression before "char"
C:\main.cpp:16: error: expected primary-expression before "int"
C:\main.cpp:16: error: expected primary-expression before "int"
C:\main.cpp:16: error: initializer expression list treated as compound expression
C:\main.cpp:17: error: variable or field `OUT_MENU' declared voidC:\main.cpp:17: error: `window' was not declared in this scope
C:\main.cpp:17: error: `G' was not declared in this scope
C:\main.cpp: In function `int main()':
C:\main.cpp:28: error: `image' undeclared (first use this function)
C:\main.cpp:28: error: (Each undeclared identifier is reported only once for each function it appears in.)
C:\main.cpp:28: error: expected `;' before "ImgTmp"
C:\main.cpp:31: error: `window' undeclared (first use this function)C:\main.cpp:31: error: expected `;' before "F"
C:\main.cpp:34: error: expected `;' before "G"
C:\main.cpp:37: error: `F' undeclared (first use this function)
C:\main.cpp:37: error: `TRUE' undeclared (first use this function)
C:\main.cpp:38: error: `G' undeclared (first use this function)
C:\main.cpp:39: error: `OUT_MENU' cannot be used as a functionC:\main.cpp:41: error: `ImgTmp' undeclared (first use this function)
C:\main.cpp:52: error: name lookup of `i' changed for new ISO `for' scoping
C:\main.cpp:47: error: using obsolete binding at `i'C:\main.cpp:56: warning: converting to `short int' from `double'
C:\main.cpp:61: error: `Out' cannot be used as a function
C:\main.cpp:78: error: `Out' cannot be used as a function
C:\main.cpp:79: error: `DrawImg' cannot be used as a function
C:\main.cpp:87: error: `Out' cannot be used as a function
C:\main.cpp:88: error: `DrawImg' cannot be used as a function
C:\main.cpp:100: error: `Out' cannot be used as a function
C:\main.cpp:101: error: `DrawImg' cannot be used as a function
C:\main.cpp:109: error: `Out' cannot be used as a function
C:\main.cpp:114: error: `Out' cannot be used as a function
C:\main.cpp:116: error: `DrawImg' cannot be used as a function
C:\main.cpp:124: error: `POINT' undeclared (first use this function)
C:\main.cpp:124: error: template argument 1 is invalid
C:\main.cpp:124: error: template argument 2 is invalid
C:\main.cpp:124: error: invalid type in declaration before ';' token
C:\main.cpp:125: error: `resize' has not been declared
C:\main.cpp:125: error: request for member of non-aggregate type before '(' token
C:\main.cpp:126: error: expected `;' before "Pt_Tmp"C:\main.cpp:138: error: `DrawImg' cannot be used as a function
C:\main.cpp:142: error: `Out' cannot be used as a function
C:\main.cpp:152: error: `resize' has not been declared
C:\main.cpp:152: error: request for member of non-aggregate type before '(' token
C:\main.cpp:156: error: `Pt_Tmp' undeclared (first use this function)
C:\main.cpp:158: error: `push_back' has not been declared
C:\main.cpp:158: error: request for member of non-aggregate type before '(' token
C:\main.cpp:171: error: `DrawImg' cannot be used as a function
C:\main.cpp:172: error: `Out' cannot be used as a function
C:\main.cpp:178: error: `Sleep' undeclared (first use this function)C:\main.cpp: At global scope:
C:\main.cpp:189: error: `POINT' was not declared in this scope
C:\main.cpp:189: error: template argument 1 is invalid
C:\main.cpp:189: error: template argument 2 is invalid
C:\main.cpp:189: error: `window' has not been declared
C:\main.cpp:190: error: ISO C++ forbids declaration of `Pt' with no type
C:\main.cpp:190: error: ISO C++ forbids declaration of `G' with no type
C:\main.cpp: In function `bool Detection(int, int, int, int&, int*)':
C:\main.cpp:197: error: invalid types `int[int]' for array subscript
C:\main.cpp:197: error: invalid types `int[int]' for array subscript
C:\main.cpp:198: error: invalid types `int[int]' for array subscriptC:\main.cpp:198: error: invalid types `int[int]' for array subscript
C:\main.cpp:200: error: invalid types `int[int]' for array subscript
C:\main.cpp:200: error: invalid types `int[int]' for array subscript
C:\main.cpp:201: error: invalid types `int[int]' for array subscript
C:\main.cpp:201: error: invalid types `int[int]' for array subscript
C:\main.cpp:215: error: invalid types `int[int]' for array subscript
C:\main.cpp:215: error: invalid types `int[int]' for array subscript
C:\main.cpp:216: error: invalid types `int[int]' for array subscript
C:\main.cpp:216: error: invalid types `int[int]' for array subscript
C:\main.cpp:218: error: invalid types `int[int]' for array subscript
C:\main.cpp:218: error: invalid types `int[int]' for array subscript
C:\main.cpp:219: error: invalid types `int[int]' for array subscript
C:\main.cpp:219: error: invalid types `int[int]' for array subscript
C:\main.cpp:237: error: `Out' cannot be used as a function
C:\main.cpp:240: error: `Out' cannot be used as a function
C:\main.cpp:243: error: `Out' cannot be used as a function
C:\main.cpp:246: error: `Out' cannot be used as a function
C:\main.cpp:252: error: `Out' cannot be used as a function
C:\main.cpp:254: error: `Out' cannot be used as a function
C:\main.cpp:259: error: `Out' cannot be used as a function
C:\main.cpp:261: error: `Out' cannot be used as a function
C:\main.cpp:266: error: `Out' cannot be used as a function
C:\main.cpp: At global scope:
C:\main.cpp:274: error: variable or field `DrawImg' declared void
C:\main.cpp:274: error: redefinition of `int DrawImg'
C:\main.cpp:14: error: `int DrawImg' previously defined here
C:\main.cpp:274: error: `window' was not declared in this scope
C:\main.cpp:274: error: `F' was not declared in this scope
C:\main.cpp:274: error: expected primary-expression before "ImgBin"
C:\main.cpp:275: error: expected `,' or `;' before '{' token
C:\main.cpp:293: error: variable or field `OUT_MENU' declared void
C:\main.cpp:293: error: redefinition of `int OUT_MENU'
C:\main.cpp:17: error: `int OUT_MENU' previously defined here
C:\main.cpp:293: error: `window' was not declared in this scope
C:\main.cpp:293: error: `G' was not declared in this scope
C:\main.cpp:294: error: expected `,' or `;' before '{' token
C:\main.cpp:307: error: variable or field `Out' declared void
C:\main.cpp:307: error: redefinition of `int Out'
C:\main.cpp:16: error: `int Out' previously defined here
C:\main.cpp:307: error: `window' was not declared in this scope
C:\main.cpp:307: error: `G' was not declared in this scope
C:\main.cpp:307: error: expected primary-expression before "int"
C:\main.cpp:307: error: expected primary-expression before "char"
C:\main.cpp:307: error: expected primary-expression before "int"
C:\main.cpp:307: error: expected primary-expression before "int"
C:\main.cpp:308: error: expected `,' or `;' before '{' tokenExécution terminée
xkamen Messages postés 26 Date d'inscription vendredi 8 avril 2005 Statut Membre Dernière intervention 31 janvier 2008
4 déc. 2006 à 20:22
Salut,

Je pense que pour la reconnaissance de forme, tu trouveras plein de choses dans la thèse située à cette adresse (sous forme de PDF) : http://docinsa.insa-lyon.fr/these/1998/bouayad/

Peut être qu'en y jetant un coup d'oeil, tu auras plus d'info à ce sujet.
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
3 déc. 2006 à 13:22
Je suis assez curieux de savoir combien de temps dure le traitement sur vos PC. Ca serait cool d'avoir d'autre base pour faire évoluer mon programme.
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
1 déc. 2006 à 19:44
Oui bien sure t'as raison c'est bien du C++ ... (je commence à ètre fatiqué lol)
sinon c'est vrai que pour certaines formes la detection est mauvaise. Je n'est fait que les bases et il doit y avoir beaucoup d'autres techniques pour la reconnaissance de forme. J'ai encore énormement de travail pour effectuer une detection qui soit la plus précise possible et qui marche pour toutes les images
Je vais tenter la detection de cercle avec la transformer de Hought. Je pense qu'il y a des trucs simpas à faire avec.
xkamen Messages postés 26 Date d'inscription vendredi 8 avril 2005 Statut Membre Dernière intervention 31 janvier 2008
1 déc. 2006 à 18:14
Salut, tu es sur d'avoir compilé avec visual basic et pas avec visual c++ ? Car ça ne ressemble pas vraiment à du basic ce que tu as programmé :) lol

Bon, trève de plaisanterie, c'est vrai que c'est intéressant la reconnaissance de forme et c'est un vrai travail dans la recherche (que ce soit en 2D ou 3D). En tout cas, bonne continuation pour améliorer ton programme et le rendre le plus autonome possible, car je suppose qu'il doit exister des cas de figure pour lesquels ton programme ne fonctionne pas. Mais bon, c'est toujours ça qui est bon à prendre.
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
1 déc. 2006 à 15:49
Salut à tous. Oui l'imagerie est passionnant, les possibilitées sont illimitées...
Pour ce qui est de la reconnaissance de forme, c'est encore très limité mais je voulais juste réaliser une petite application.

Tantor, moi je le compile avec visual basic mais il ne devrait pas avoir de problème avec dev c++. Donne moi tes erreurs pour que je puisse t'aider.
Tantor54 Messages postés 1 Date d'inscription vendredi 10 novembre 2006 Statut Membre Dernière intervention 1 décembre 2006
1 déc. 2006 à 11:11
Tu compile avec quel logiciel, car avec Dev C++ sa marche pas ...
tazmania37 Messages postés 46 Date d'inscription mercredi 29 octobre 2003 Statut Membre Dernière intervention 10 novembre 2009
1 déc. 2006 à 10:11
C'est justement ce que je cherchais pour faire une reconnaissance de formae avec une webcam !!
yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
30 nov. 2006 à 19:57
Au premier abord, ça à l'air passionnant ! Je mettrais une note après avoir compris un peu plus le code.
Bonne continuation...
Rejoignez-nous