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 :

Rectifier quelques informations


Sujet :

OpenCV

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Mai 2012
    Messages : 35
    Par défaut Rectifier quelques informations
    slt mes amis,
    Tout d'abord, je suis entrain de travailler sur l'opencv pour faire le suivi d'un objet plus exactement un face , et pour cela mon démarche prenne comme des images pour construire une séquence vidéo ,car je vient d'utiliser chaque image à coté pour faire appliquer la méthode de détection. Et bain celle ci le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    #include "stdafx.h"
    #include <cv.h>
     
    #include <stdio.h>
    #include <cxcore.h>
    #include <highgui.h>
    using namespace std;
    CvHaarClassifierCascade* cascade = 0;
    CvMemStorage* storage = 0;
    int _tmain(int  argc, _TCHAR* argv[])
    {  int i;
        for (int k=0;k<100;k++)
    {  
    std::string varimg;
    char format[] = "franck_000%d.jpg";
    char filename[sizeof format+100];
    sprintf(filename,format,k);
    varimg = filename ;
    IplImage*imgw = cvLoadImage( varimg.c_str() );
    IplImage* gray;
     
      /* Load the face detector and create memory storage
        `cascade` and `storage` are global variables */
      if (!cascade) {
        char* file = "C:/OpenCV-2.1.0/data/haarcascades/haarcascade_frontalface_alt.xml";
        cascade = (CvHaarClassifierCascade*) cvLoad(file, 0, 0, 0);
        storage = cvCreateMemStorage(0);
      }
    /* Convert multichannel to 1-channel for faster processing */
      if (imgw->nChannels == 1) {
        gray == cvClone(imgw);
      } else {
        gray = cvCreateImage(cvGetSize(imgw), imgw->depth, 1);
        cvCvtColor(imgw, gray, CV_RGB2GRAY);
      }
     /* detect faces */
      CvSeq* faces = cvHaarDetectObjects(gray,cascade,storage,1.1,3,CV_HAAR_DO_CANNY_PRUNING,cvSize(20, 20));
      int i;
    /* Draw red boxes on the faces found */
      for( i = 0; i < (faces ? faces->total : 0); i++ ) {
        CvRect* r = (CvRect*)cvGetSeqElem(faces, i);
     cvRectangle(imgw,cvPoint(r->x, r->y),cvPoint(r->x + r->width, r->y + r->height),CV_RGB(255, 0, 0),3, 8, 0);
      }
     cvNamedWindow( "Example1", CV_WINDOW_AUTOSIZE );
        cvShowImage("Example1",imgw);
        cvWaitKey(1);
    	cvReleaseImage(&imgw);
    }
        return 0;
    }
    la problème est que l'affiche de résultat n'est pas totalement correcte, il m'a donné une séquence tréééés lente ce qui n'est pas le cas avant que j'ai appliquer la détection.
    svp si je ne suis dans la vraie partie du forum me dire.
    cordialement.

  2. #2
    Membre chevronné
    Homme Profil pro
    Ingénieur 3D
    Inscrit en
    Avril 2008
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur 3D

    Informations forums :
    Inscription : Avril 2008
    Messages : 400
    Par défaut
    Si le temps nécessaire pour détecter un visage est de plus de 30 ms, forcement tu ne pourras lire et afficher ta séquence a une vitesse correcte. Il n'y a rien a faire de ce coté la, mais je vois pas en quoi c'est gênant (mais peut être que j'ai mal compris le problème).

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Mai 2012
    Messages : 35
    Par défaut
    Non M comme j'ai déjà dis que lorsque j'ai utilisé une partie de ce code pour afficher une séquence vidéo ,elle marche parfaitement sans problème,comme elle est en temps réel. Il faut qu'elle marche normalement pour que je puisse l'utiliser dans une autre partie.

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 43
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CvSeq* faces = cvHaarDetectObjects(gray,cascade,storage,1.1,3,CV_HAAR_DO_CANNY_PRUNING,cvSize(20, 20));
    Est ce que tu as vraiment besoin d'un cvSize(20, 20) ?
    Essais d'augmenter la valeur pour gagner en vitesse de calcul.
    Un autre utilisateur du forum avait trouvé que cvSize(80, 80) était un bon compromis vitesse/détection.

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Mai 2012
    Messages : 35
    Par défaut
    je vous remercie M Jérôme.L ,tu as m’indique exactement au problème de mon code. Mais elle marche normalement au niveau cvsize(400,400);
    cordialement

Discussions similaires

  1. Besoin de quelques informations
    Par Jiyuu dans le forum Django
    Réponses: 9
    Dernier message: 16/03/2009, 21h03
  2. Quelques informations concernant EDGE et WIFI
    Par Olivier Regnier dans le forum Mobiles
    Réponses: 3
    Dernier message: 01/09/2008, 07h13
  3. xsl:translate - quelques informations svp?!
    Par -ADX- dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 08/05/2006, 10h42
  4. Quelques informations sur la version "entreprise"
    Par assos dans le forum Mandriva / Mageia
    Réponses: 1
    Dernier message: 20/02/2006, 17h40

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