IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation multimédia/Jeux Python Discussion :

Reconnaissance d'images : lib Python


Sujet :

Programmation multimédia/Jeux Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut Reconnaissance d'images : lib Python
    Bonjour a tous,
    J'ai recemment appris le langage Python car j'en ai besoin pour mon projet universitaire ; une partie de ce projet implique de la reconnaissance de formes.
    Je precise qu'il s'agit d'un environnement adapte puisque l'idee generale est la suivante :
    sur un fond uni vert(je pense qu'il doit etre possible de s'en passer), un robot possede un triangle bleu sur la tete. Il doit pousser une balle rouge.
    Le tout est capture par une camera reliee a un raspberry pi en vue de dessus.
    Les formes sont simples et geometriques, et elles ont une couleur unie.

    J'ai cru comprendre qu'il existait beaucoup de bibliotheques pour ce langage, j'ai d'ailleurs telecharge PIL dans les outils python du site ; mais toutes les versions que j'ai vu
    semblent perimees et je n'ai vu aucun lien pour python 3.x (je suis en 3.4.0).

    Ma question est la suivante : quelle(s) bibliotheque(s) pourrais-je utiliser avec Python pour reconnaitre ces formes?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Siriusalpha2 Voir le message
    Bonjour a tous,
    J'ai recemment appris le langage Python car j'en ai besoin pour mon projet universitaire ; une partie de ce projet implique de la reconnaissance de formes.
    Je precise qu'il s'agit d'un environnement adapte puisque l'idee generale est la suivante :
    sur un fond uni vert(je pense qu'il doit etre possible de s'en passer), un robot possede un triangle bleu sur la tete. Il doit pousser une balle rouge.
    Le tout est capture par une camera reliee a un raspberry pi en vue de dessus.
    Les formes sont simples et geometriques, et elles ont une couleur unie.

    J'ai cru comprendre qu'il existait beaucoup de bibliotheques pour ce langage, j'ai d'ailleurs telecharge PIL dans les outils python du site ; mais toutes les versions que j'ai vu
    semblent perimees et je n'ai vu aucun lien pour python 3.x (je suis en 3.4.0).

    Ma question est la suivante : quelle(s) bibliotheque(s) pourrais-je utiliser avec Python pour reconnaitre ces formes?
    Bonjour,

    Je ne connais rien à ce domaine, cependant j'ai trouvé ceci :

    http://lisa.ulb.ac.be/image/index.ph...tion_en_Python

    Si ça peut aider.

    @+.

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 235
    Points : 36 684
    Points
    36 684
    Par défaut
    Salut,

    Citation Envoyé par Siriusalpha2 Voir le message
    J'ai cru comprendre qu'il existait beaucoup de bibliotheques pour ce langage, j'ai d'ailleurs telecharge PIL dans les outils python du site ; mais toutes les versions que j'ai vu
    semblent perimees et je n'ai vu aucun lien pour python 3.x (je suis en 3.4.0).

    Ma question est la suivante : quelle(s) bibliotheque(s) pourrais-je utiliser avec Python pour reconnaitre ces formes?
    Le support des fonctionnalités de PIL sous Python3 viennent avec Pillow qui est un "fork" de PIL.

    Ma question est la suivante : quelle(s) bibliotheque(s) pourrais-je utiliser avec Python pour reconnaitre ces formes?
    OpenCV est un logiciel Open Source qui intègre pas mal d'algorithmes intéressants.
    Il est écrit en C/C++ et des "bindings" existent pour le rendre utilisable pour le programmeur Python.


    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Merci de votre reponse,
    J'essaie depuis tout a l'heure d'installer openCV, mais je bute sur un gros probleme :
    Je travaille sous Windows 7 et je ne trouve pas de version d'openCV qui fonctionne avec Python 3.4, tout semble fait pour 2.x
    J'ai telecharge le dernier build ici : http://sourceforge.net/projects/open...es/opencv-win/
    et j'ai suivi le tutorial ici :
    http://docs.opencv.org/trunk/doc/py_...n_windows.html
    Premier obstacle : il a fallu que je trouve un site qui propose numpy et matpolib pour python 3.4 (ici : http://www.lfd.uci.edu/~gohlke/pythonlibs/)
    Et je crois que, s'il existe version openCV "3.4", je ne la trouve que sur linux :
    http://rpm.pbone.net/index.php3/stat....i586.rpm.html

    Je suis un peu decu, je pensais que openCV marchait depuis longtemps en 3.x.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Je regarde les bibliotheques Python et je vois que la plupart d'entre elles requierent d'etre recompilees dans une version de Python recente.
    De plus, les commandes comme "python paquet.py(d) install" ne marchent pas dans mon prompt et bloquent sur le nom du paquet dans IDLE.

    Je ne trouve presque aucune lib officielle pre-compilee pour python 3.4, est-ce normal?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Siriusalpha2 Voir le message
    Je regarde les bibliotheques Python et je vois que la plupart d'entre elles requierent d'etre recompilees dans une version de Python recente.
    De plus, les commandes comme "python paquet.py(d) install" ne marchent pas dans mon prompt et bloquent sur le nom du paquet dans IDLE.

    Je ne trouve presque aucune lib officielle pre-compilee pour python 3.4, est-ce normal?
    Ma question est peut-être stupide, mais... si vous rencontrez trop de problèmes sous Python3.4, ne serait-il pas plus idoine d'installer Python2.7 à la place ?

    Vu que la plupart des libs semblent Python2-compatibles...

    Enfin, je dis ça, je dis rien, hein.

    @+.

  7. #7
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 180
    Points : 321
    Points
    321
    Par défaut
    Envoyé par Tarball69
    Ma question est peut-être stupide, mais... si vous rencontrez trop de problèmes sous Python3.4, ne serait-il pas plus idoine d'installer Python2.7 à la place ?
    Bien vu. Python 3.4 est vraiment tout récent. D'autant qu'on peut faire coexister sans problème plusieurs version de Python. Ainsi, pour ma part, j'ai python 2.7
    pour l'écrasante majorité de mes projets et python 3.3 avec lequel je développe tous les nouveaux projets. Désinstaller python 3.4 ne me semble pas pertinent.

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Ce qui me gene, c'est que Python est en 3.x depuis 2008 ;
    Pourquoi, depuis tout ce temps, il n'y a pas de paquet officiel de openCV en 3.4 (etant donne que le lien officieux ne fonctionne pas)?
    Utiliser la version 2.7 va m'obliger a garder mon code dans une syntaxe facile a mettre eventuellement a jour (en 3.x), j'aurais aime me passer de cette contrainte.
    De plus, il faut aussi que je gere le passage de mon script python depuis windows 7 vers mon raspberry pi,
    et les bibliotheques doivent etre au meme numero de version.

  9. #9
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2011
    Messages : 180
    Points : 321
    Points
    321
    Par défaut
    Citation Envoyé par Siriusalpha2 Voir le message
    Ce qui me gene, c'est que Python est en 3.x depuis 2008 ;
    Pourquoi, depuis tout ce temps, il n'y a pas de paquet officiel de openCV en 3.4 (etant donne que le lien officieux ne fonctionne pas)?
    Utiliser la version 2.7 va m'obliger a garder mon code dans une syntaxe facile a mettre eventuellement a jour (en 3.x), j'aurais aime me passer de cette contrainte.
    De plus, il faut aussi que je gere le passage de mon script python depuis windows 7 vers mon raspberry pi,
    et les bibliotheques doivent etre au meme numero de version.
    Oui, python est en 3.x depuis quelques années. Seulement, convertir du code 2.x en 3.x n'est pas toujours qu'une question de syntaxe. Surtout avec les binding de librairies externes.
    La preuve, c'est seulement depuis fort peu de temps que l'excellent reportlab toolkit a été porté sous python 3.x. Je ne connais pas opencv mais il s'agit sûrement d'un cas similaire.

    Quant à l'objection de la syntaxe, elle peu, sous python 2.7 se règler facilement avec ces trois lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    from __future__ import division # Fait que l'opérateur / retourne systématiquement un flottant.
    from __future__ import print_function 
    from __future__ import unicode_literals
    Et quand bien même, le script 2to3.py qui vient avec Python3.x facilite la vie quand il ne s'agit que de syntaxe.
    Quand opencv supportera officiellement python 3.x, tu pourras l'installer.

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Tres bien. Je m'inquiete surtout parce que je ne connais pas du tout les differences syntaxiques entre 2.7 et 3.x,
    et que j'ai appris a coder avec la version 3.4. Mais si les import __future__ permettent d'avoir une syntaxe 3.xesque, ok.

    Plus je regarde les tutos, et plus j'ai l'impression qu'installer une bibliotheque python est un combat, avec les versions pre-compilees qui
    marchent rarement et la jungle des sources, architectures compilateurs.
    Je pense que je vais essayer de coder directement sur le raspberry pi et sauter la case windows, aptitude, wget et make sont mes amis.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 6
    Points : 16
    Points
    16
    Par défaut
    Salut,

    Pour ce qui est calcul scientifique il existe des distributions de python avec un certain nombre de package déjà pré-installé. Par exemple moi j'utilise anaconda édité par la société du créateur de numpy (https://store.continuum.io/cshop/anaconda/ gratuit dans la version de base) qui fournit toutes les dépendances nécessaires pour utiliser opencv sans se casser la tête.

  12. #12
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Je suis en train d'installer anaconda, ca m'a effectivement l'air pratique (hier j'ai du installer 4-5 bibliotheques d'affilee, autant avoir un pack comme anaconda)
    Mais je n'ai pas vu opencv dans la liste du site, est-ce que c'est simplement que anaconda contient toutes les dependances de opencv,
    ou bien opencv lui aussi?
    Le mieux evidemment serait que anaconda contienne les lib de reconnaissance de forme dont j'ai besoin et je n'ai pas besoin d'installer autre chose.

    Je suis passe en 2.7.6, c'est bien plus pratique (mon debian a cette version de base, j'avais juste les libs a installer)

    J'ai remarque un truc assez curieux : certaines bibliotheques comme Vpython ne sont plus mises a jour sous linux (visual-python) depuis longtemps, selon
    le site. je dois utiliser wine avec des executables de python et des dll pour avoir une version correcte. Je pensais que l'avantage de Python etait justement d'etre
    facilement portable?

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 7
    Points : 1
    Points
    1
    Par défaut
    Je continue de vous tenir au courant : je ne peux pas utiliser anaconda, car j'utilise un raspberry pi pour mon traitement d'image
    et anaconda n'est pas bien supporte (j'ai bien trouve un miniconda mais il est vieux de plus d'un an et j'ai du mal a connaitre l'etat exact des paquets, leurs capacites)

    Je pense simplement installer au fur et a mesure les libs dont j'aurai besoin, comme opencv, pyserial, etc.
    Certaines bibliotheques comme python2.7-opencv sont disponibles via aptitude mais lorsque je les installe et que je lance python, je ne peux pas les importer.
    Je suppose qu'il faut toutes les installer via un python setup.py install pour etre sur.

  14. #14
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 235
    Points : 36 684
    Points
    36 684
    Par défaut
    Citation Envoyé par Siriusalpha2 Voir le message
    J'ai remarque un truc assez curieux : certaines bibliotheques comme Vpython ne sont plus mises a jour sous linux (visual-python) depuis longtemps, selon
    le site. je dois utiliser wine avec des executables de python et des dll pour avoir une version correcte. Je pensais que l'avantage de Python etait justement d'etre facilement portable?
    Une bibliothèque écrite en pur Python est en général assez portable.
    Mais si vous voulez faire du traitement d'image, les biblio. seront écrite en C/C++ pour des questions de performances et les fonctionnalités seront disponibles pour le programmeur Python via un pluggins/wrappers dont la génération sera semi-automatique.

    Le packaging de l'ensemble pour une distribution GNU/Linux particulière sera aussi du boulot.
    Réaliser et maintenir la cohérence des dépendances entre tout ce bazar est un travail non négligeable fait par des ingénieurs rarement rétribués pour tout ce boulot.

    La plupart de ces codes étant "open source", rien ne vous empêche de construire la "stack" de biblio./versions adaptée à vos besoins. Cela vous permettrait de comprendre que "portable" est une qualité sympa. qui ne reflète pas trop l'effort à fournir pour "porter".

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  15. #15
    Membre éprouvé

    Homme Profil pro
    Cyber Security & AI
    Inscrit en
    Février 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Cyber Security & AI

    Informations forums :
    Inscription : Février 2009
    Messages : 506
    Points : 1 189
    Points
    1 189
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Si tu es à la recherche de bibliothèque de traitement d'images. Il existe scikit-image pour le traitement d'image et si tu veux faire des traitements statistiques sur ces images tu peux passer par scikit-learn. La plus par des fonctions de ces deux bibliothèques sont aussi présente sous OpenCV et inversement la plupart fonction d'OpenCV doivent être présente dans ces deux libraires. Mais l'avantage c'est qu'elles doivent supporter le python 3.x.

    Cordialement.

  16. #16
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Albanie

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut red ball tracking
    Je ne sais pas vraiment si c'est ce que vous cherchez mais voici un tuto que j'ai trouvé sur la détection et le suivi d'une balle rouge en java :
    http://ratiler.wordpress.com/2014/09...-objet-colore/

  17. #17
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 604
    Points : 2 070
    Points
    2 070
    Par défaut
    Un autre lien intéressant :
    http://mecatools.dfournier.free.fr/d...imprimable.pdf
    Je ne sais pas s'il y a un contact pour avoir les programmes...
    Pillow marche très bien chez moi en python3.
    Pas d'aide par mp.

Discussions similaires

  1. reconnaissance d'image avec java
    Par isoman dans le forum Général Java
    Réponses: 6
    Dernier message: 03/03/2011, 20h35
  2. Reconnaissance d'image [forme simple]
    Par dewey01 dans le forum Traitement d'images
    Réponses: 9
    Dernier message: 02/09/2008, 13h56
  3. reconnaissance d'images semblables
    Par shams dans le forum Traitement d'images
    Réponses: 5
    Dernier message: 15/02/2008, 10h55
  4. reconnaissance popup image
    Par franfr57 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/12/2006, 14h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo