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

OpenCV Discussion :

Détection de formes humaines


Sujet :

OpenCV

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Par défaut Détection de formes humaines
    Bonjour !

    Je souhaite ré-écrire un programme basé sur la reconnaissance d'images que j'avais commencé à écrire en Python (étant plus à l'aise dans ce langage) en C++ pour la rapidité. C'est alors que je me suis rendu compte qu'OpenCv était un outil C++ apparemment très pratique pour ce genre de choses. Je me posais donc quelques questions pour (re)commencer mon projet :
    - Est-ce qu'OpenCV permet de capturer des images d'une webcam, ou alors dois-je utiliser une bibliothèque tierce ? (et avec quelles fonctions, si possible avec un petit code source en exemple)
    - Est-ce que cette bibliothèque me permet d'identifier simplement des formes humaines/en mouvement dans une image/une suite d'image, notamment les pieds et la tête ? (et avec quelles fonctions etc) Et surtout rapidement (je dois répéter l'opération 25 fois/seconde dans l'idéal).
    - Sinon j'avais également écrit des équations pour déterminer les coordonnées en 3D de points à partir de leur position sur une image en 2D (la position au sol de quelqu'un et celle de sa tête). Existe-t-il des trucs déjà programmés pour ou dois-je le faire "manuellement" ?

    Merci d'avance de vos réponses.

    EDIt : j'ai trouvé pour la première question. Voilà ule petit exemple que j'ai déniché : http://www.geckogeek.fr/lire-le-flux...ec-opencv.html

  2. #2
    Membre éprouvé
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Par défaut
    Salut,

    Moi aussi je débute sous OpenCV (Mais en python) et moi aussi j'ai déjà écrit un programme de traitement d'images se nommant PyImaging basé sur la PIL (Python Imaging Library).

    1. Alors oui pour la webcam sans problème, même plusieurs tu peut switcher et même la reconnaissance en profondeur (Kinet).

    2. Pour la reconnaissance le module (library) se base sur des fichiers *.xml pour la reconnaissance de forme.
    Il existe des fichiers par défaut et puis ont peut en générés (construire) grâce a des programmes utilitaires de la library a base d'images d'objets ou de forme a reconnaître.
    Et tu peut donc essayer de générer le fichier pour reconnaître la forme que tu désire, peu importe ce que c'est. La question est plutôt la qualité du fichier *.xml que tu va générer.

    3. Pour tes équations je ne sais pas. Mais si tu les a déjà implémenter.

    Bon OpenCV a toi.

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur en formation
    Inscrit en
    Juillet 2013
    Messages
    300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur en formation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2013
    Messages : 300
    Par défaut
    Merci pour la réponse. Concrètement, en partant sur OpenCV en python, quelles sont les fonctions que je peux utiliser pour reconnaître une forme à partir d'un fichier .xml ? Existe-t-il par défaut un fichier de ce type compilant un grand nombre de corps humains en entier (des pieds à la tête) ?

  4. #4
    Membre confirmé
    Avatar de dj_benz
    Homme Profil pro
    Inscrit en
    Octobre 2002
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 178
    Par défaut
    Salut,

    La reconnaissance d'objets spécifiques, en OpenCV, peut se faire en utilisant la classificateur en cascade (cascade classifier).

    Comme le spécifiait Luke, la première étape est de générer le fichier de "caractéristiques" de ton objet, par l'intermédiaire d'un utilitaire fourni avec OpenCV (il se trouve dans <opencv>/apps/traincascade), et avec un lot d'images représentant ton objet.
    Ensuite, dans ton programme, tu peux utiliser les fonctions de CascadeClassifier pour savoir si un de tes objets se trouve dans une image.
    Je ne connais pas du tout Python, mais il semblerait que toutes les fonctions existent en C++ et python.

    Doc OpenCV: http://docs.opencv.org/modules/objde...sification.htm

    Je n'ai pas plus de détails pour le moment sur les classificateurs, je travaille sur un projet c++ qui va devoir en utiliser, je pourrai donc te fournir des infos quand j'aurai un peu bossé avec.

    Bon courage.

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/05/2008, 14h28
  2. Détection de formes 3D
    Par Tresmarcos dans le forum MATLAB
    Réponses: 1
    Dernier message: 24/09/2007, 18h23
  3. détection de forme
    Par cassis63 dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 12/06/2007, 16h25
  4. Réponses: 4
    Dernier message: 03/02/2007, 17h18
  5. Binarisation d'image pour détection de formes
    Par babarpapa dans le forum Traitement d'images
    Réponses: 12
    Dernier message: 09/05/2006, 15h32

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