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 :

Question sur detectMultiScale


Sujet :

OpenCV

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Question sur detectMultiScale
    Dans le cadre d'un projet pour mes études, je dois détecter des véhicules dans un manège.
    J'ai réussi à obtenir une détection de véhicule, mais mon programme rame terriblement,
    et je pense que cela peut venir des valeurs que j'ai passé en paramètre.
    Mais le problème c'est que je n'ai pas compris le rôle de certaines valeurs. La fonction utilisé est detectMultiScale.
    Les valeurs en questions sont celles entre detect et Size.
    Voici 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
     
        CascadeClassifier car;  
        car.load("../camera/cars3.xml");  
        IplImage* img =  cvLoadImage("../camera/image_cam.jpg");  
        Mat frame(img);  
        std::vector<Rect> detect;  
        Mat frame_gray;  
        cvtColor( frame, frame_gray, CV_BGR2GRAY );   
        equalizeHist( frame_gray, frame_gray );  
     
        car.detectMultiScale( frame_gray, detect, 3,2,0,Size(1,1),Size(1000,1000)); // 1.05,3,0,(10,10),(800,800)  
        for( size_t i = 0; i < detect.size(); i++ )  
        {  
               rectangle(frame, detect[i], Scalar(0,50,0), 2);       
        }
    J'ai aussi une question sur les traitements à appliquer sur l'image.
    Actuellement je mets juste l'image en niveau de gris et j'améliore le contraste.
    J'ai essayé plusieurs filtres pour distinguer les contours (Canny, Sobel, Laplace ) , mais je n'en ai pas trouvé qui me permettait d'améliorer la détection.
    Est-ce que vous connaissez un filtre qui fonctionne correctement avec la détection de contour ?

    Merci d'avance.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2012
    Messages : 12
    Points : 11
    Points
    11

  3. #3
    Membre régulier
    Homme Profil pro
    Computer Vision engineer
    Inscrit en
    Mars 2012
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Computer Vision engineer
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2012
    Messages : 65
    Points : 86
    Points
    86
    Par défaut
    Si tu veux passer par detectMultiscale relative à la méthode Viola Jones une simple égalisation d'histogramme suffit, pas besoin de faire plus .
    Par contre ça m'étonne pas que ton programme rame.. la cascade cherche entre Size(1,1) jusqu'à size(1000,1000) [ taille minimal de ton objet est de 1pixel*1pixel] ? Moi personnellement j'ai pas encore vu une voiture sur une image qui fait 1pixel*1pixel ni 1000pixel*1000 pixel d'ailleurs ! Ce que je te conseille de faire, c'est de réduire la zone de recherche (selon le contexte de ton application) et bien choisir le paramètres "Scale factor" qui prend la valeur 2 dans ton cas .

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2014
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Merci pour vos réponses et excusez moi de ma réponse tardive.
    J'ai pris en compte les remarques, et mon programme marche mieux.
    De plus j'ai créer mon propre classifieur ce qui fait que j'ai de meilleurs résultats.

    Je marque le sujet comme résolu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [debutant] Questions sur 1 futur projet
    Par cyrull22 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 28/04/2003, 21h49
  2. Quelques questions sur le TWebBrowser...
    Par CorO dans le forum Web & réseau
    Réponses: 3
    Dernier message: 17/01/2003, 21h23
  3. Question sur les handles et les couleurs...
    Par MrDuChnok dans le forum C++Builder
    Réponses: 7
    Dernier message: 29/10/2002, 08h45
  4. Réponses: 2
    Dernier message: 11/08/2002, 21h27
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

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