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

C++ Discussion :

Filtres pour Fonction Hough


Sujet :

C++

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 41
    Points : 8
    Points
    8
    Par défaut Filtres pour Fonction Hough
    Bonjour,
    J'ai un programme qui fonctionne avec une camera et la fonction Hough dont l'objectif est de detecter un cercle sur le flux vidéo! Cela dit la fonction detecte beaucoup plus qu'un seul cercle sur le flux vidéo, j'ai essayé d'utiliser la fonction sobel, la fonction threashold mais le resultat n'est pas glorieux je detecte toujours autant de cercles... J'ai alors utilisé des filtres comme le cvGaussian là plusieurs cercles disparaissent mais pas tous de plus la photo devien plus flou!! Connaissez vous d'autres filtres ou autre chose que je pourrais utiliser pour ce genre d'application??
    Merci pour vos reponses

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 533
    Points : 1 086
    Points
    1 086
    Par défaut
    Tu es bien sûr que la solution à ton problème passe par du pré-traitement ?

    Si ton Hough fonctionne mais que tu as quelques faux-positifs, il vaut mieux les éliminer en fonction de ce que tu sais sur le vrai-positif : position sur l'image, rayon, persistance de la détection (tu dis utiliser un flux vidéo). Tu peux même utiliser un HoughLine pour prendre des repères ailleurs sur l'image : ton cercle n'est pas situé sur une espèce de boîte ? Tente de la détecter et valide la position de ton cercle par rapport à cette boîte.

    Multiplier les filtres en entrée aboutira seulement à faire échouer ta détection quand les conditions réelles ne seront pas exactement celles de tes tests. Bien sûr ça ne doit pas t'empêcher de régler raisonnablement le Canny de ton HoughCircle pour éviter des faux-positifs trop délirants.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 41
    Points : 8
    Points
    8
    Par défaut
    Salut Cob59 impec merci pour ta réponse,
    Oui tu as déjà vu l'image le cercle est situé sur une genre de boite. Comme là j'utilise un flux vidéo et non plus une image et que je dois pouvoir bouger la camera je ne peux pas le detecter avec la position... Si j'utilise le HoughLine comment je pourrais savoir quelles sont les lignes de la boite qui entoure mon cercle pour ainsi placer mon cercle par rapport à ces lignes? En espèrant que tu comprennes mon charabia...

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 533
    Points : 1 086
    Points
    1 086
    Par défaut
    Tu n'es pas obligé de localiser précisément ta boîte.
    Tu pourrais juste vérifier, après t'être fait un stock de cercles et de droites, que pour un cercle C il existe une droite horizontale située (avec une marge d'erreur) à 2~3 rayons de distance vers le bas et une autre verticale située 1~2 rayons de distance vers la gauche, un algo de ce genre. Ca devrait au moins éliminer quelques faux positifs.

    D'ailleurs, peut-être que HoughLines n'est pas adapté et qu'il vaudrait mieux te baser sur un détection d'angles (points de Harris) pour localiser ta boite via ses angles. C'est à voir.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 41
    Points : 8
    Points
    8
    Par défaut
    Existe t-il un filtre permettant de garder les meme luminosité d'image quelques soit les conditions d'eclairage? Parce que ca simplifierait pas mal l'algorithme!?

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 533
    Points : 1 086
    Points
    1 086
    Par défaut
    Peut-être l'égalisation d'histogramme, mais pour quoi faire ? La luminosité importe peu, ce sont les gradients de luminosité qui nous intéressent pour la détection de contours.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/03/2015, 07h47
  2. Fonction filtre pour des mots bannis
    Par yule dans le forum Langage
    Réponses: 2
    Dernier message: 30/10/2008, 20h21
  3. Filtre pour les dates
    Par aliwassem dans le forum Bases de données
    Réponses: 11
    Dernier message: 21/02/2006, 11h48
  4. Debutant en C cherche aide pour fonctions!!!!
    Par benji17c dans le forum C
    Réponses: 5
    Dernier message: 30/09/2003, 12h47
  5. Filtres pour GraphEdit
    Par jackjack dans le forum DirectX
    Réponses: 2
    Dernier message: 23/05/2003, 14h45

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