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 :

Filtre sur image d'un œil


Sujet :

OpenCV

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Par défaut Filtre sur image d'un œil
    Bonjour,

    Je dois detecter l'etat d'un oeil à savoir si celui-ci est fermé ou pas.

    Pour le moment, j'ai déja testé plusieurs algorithmes que j'ai implémenté (sans utiliser openCV) pour tenter de detecter cela mais le résultat n'est pas très frutctueux :/

    J'ai utilisé la transformé de Hough (avec Sobel au préalable) pour détecter l'iris mais le soucis est qu'il me trouve toujours un cercle même quand l'oeil est fermé. De plus, je ne connais pas forcément le rayon de l'iris mais juste une estimation, donc pas évident ...

    Pour info, je ne cherche pas forcément à détecter et entourer l'iris mais seulement si l'oeil est ouvert ou fermé.

    De coup j'ai aussi testé le filtre Canny mais là encore, le résultat est souvent aléatoire et dépend de la qualité de l'image et de sa luminosité.

    Ce qu'il me faudrait, c'est un filtre de thresohld efficace comme sur cette video :


    Il arrive à laisser que le blanc de l'iris lorsque l'oeil est ouvert et sinon l'image est noire lorsque l'oeil est fermé Je ne sais pas trop quel filtre utilisé pour cela

    Si vous avez une idée je suis vraiment preneur

    Merci d'avance

  2. #2
    Membre éclairé Avatar de GabrielD
    Homme Profil pro
    ingénieur de recherche
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur de recherche

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Par défaut
    as tu essayé de chercher une zone blanche correspondant à l'oeil?
    tu peux par exemple chercher un cercle avec une composante tres foncée à l’intérieur et très clair à l'extérieur. (en jouant avec les espaces de couleurs pour trouver celui qui convient le mieu)
    Sinon jette une coup d'oeil ici:
    http://opencv.itseez.com/opencv_tutorials.pdf (p.291)

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Par défaut
    Gabriel, désolé pour le retard de réponse et merci pour ton aide.

    as tu essayé de chercher une zone blanche correspondant à l'oeil?
    tu peux par exemple chercher un cercle avec une composante tres foncée à l’intérieur et très clair à l'extérieur. (en jouant avec les espaces de couleurs pour trouver celui qui convient le mieu)
    Non pas vraiment, j'ai essayé d'appliquer cet algorithme mais là encore, ce n'est pas très concluant.

    Peut-tu m'indiquer comment rechercher un cercle qui aurait les caractéristiques que tu décrit, car ça me semble pas mal comme solution (si elle est applicable...) ?

  4. #4
    Membre éclairé Avatar de GabrielD
    Homme Profil pro
    ingénieur de recherche
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur de recherche

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Par défaut
    Les cercles se détectent avec houghcircle() par exemple. Ensuite à toi de faire des routines qui analyses les pixels extérieurs et intérieurs des cercles.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Par défaut
    Alors j'ai essayé HoughCircle de opencv mais il ne me renvoie aucun cercle !

    Je pré-process l'image en niveau de gris puis en filtre median.

    Ensuite je lui envoi cela (attention, j'utilise opencv4android, donc c'est du java) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Imgproc.HoughCircles(imgSource, imgCirclesOut, Imgproc.CV_HOUGH_GRADIENT, 1, 10, 150, 75, (int)rayon-10, (int)rayon+10);
    Mon inspiration vient de ce post

    Mais imgCirclesOut ne renvoi jamais rien...

    Mes paramètres sont peut-être mauvais

    Une idée ?

  6. #6
    Membre éclairé Avatar de GabrielD
    Homme Profil pro
    ingénieur de recherche
    Inscrit en
    Août 2009
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur de recherche

    Informations forums :
    Inscription : Août 2009
    Messages : 52
    Par défaut
    Binarise ton image d'abord.
    utilise la fonction threshold

Discussions similaires

  1. Filtre sur image trop importante
    Par lucazzo dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 21/06/2008, 15h23
  2. appliquer des filtres sur image
    Par MANU_2 dans le forum Débuter
    Réponses: 1
    Dernier message: 10/01/2008, 12h02
  3. Filtres sur image
    Par ironzorg dans le forum SDL
    Réponses: 12
    Dernier message: 08/07/2007, 15h36
  4. filtre alpha sur image
    Par nicerico dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 18/05/2007, 22h35
  5. Filtre sur image compatible I.E
    Par sacados1 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 13/03/2007, 13h57

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