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

Traitement d'images Discussion :

Problème avec les filtres de Sobel


Sujet :

Traitement d'images

  1. #1
    Membre confirmé Avatar de TNT89
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 615
    Points
    615
    Par défaut Problème avec les filtres de Sobel
    Bonsoir/Bonjour,

    Je suis en train de m'essayer à l'implémentation des filtres de Sobel (horizontal et vertical) sur un flux vidéo (une webcam pour l'instant). J'ai cependant un petit problème que je viens de découvrir fortuitement : je code sur mon ordinateur portable avec une caméra sur le haut de mon écran et surtout, dans mon dos, à 2m, un drapeau () constitué de bandes noires et blanches alternées, la pièce étant éclairée convenablement (j'ai essayé en braquant ma lampe de bureau sur moi ou bien vers le mur blanc en face de moi (pour la diffusion "quasi-uniforme") et il n'y a pas de changement). Et bien, devant ce fond le filtre semble "omettre" deux côtés du contour : devant une bande blanche seuls les côtés "bas" et "gauche" (du point de vue de la caméra) d'un objet apparaissent alors que seuls les côtés "haut" et "droit" sont visibles devant une bande noire...
    En résulte une alternance en créneau lorsqu'un objet est disposé de façon à couvrir à la fois une partie d'une bande claire puis d'une bande sombre etc...


    Est-ce normal?

    Voici en pseudocode, mon implémentation :
    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
     
    sx = taille_pixel_X
    sy = taille_pixel_Y
    couleur11 = image_en_entree(position_courante + (-sx,-sy))
    couleur12 = image_en_entree(position_courante + (-sx,0.0))
    couleur13 = image_en_entree(position_courante + (-sx, sy))
    couleur21 = image_en_entree(position_courante + ( 0, -sy))
    couleur23 = image_en_entree(position_courante + ( 0,  sy))
    couleur31 = image_en_entree(position_courante + ( sx,-sy))
    couleur32 = image_en_entree(position_courante + ( sx,0.0))
    couleur33 = image_en_entree(position_courante + ( sx, sy))
    couleurH = (-1.0*col11-2.0*col12-1.0*col13+1.0*col31+2.0*col32+1.0*col33)/2.0
    couleurV = (-1.0*col11-2.0*col21-1.0*col31+1.0*col13+2.0*col23+1.0*col33)/2.0
    couleur_finale  = (couleurV + couleurH)/2.0
    intensite = (couleur_finale.rouge + couleur_finale.vert + couleur_finale.bleu)/3.0
    Ecrire( Couleur(intensite, intensite, intensite), position_courante )
    (Note : j'avais mixé les deux opérations, mais ça me semble plus lisible comme ça et ça n'a pas l'air de changer grand chose)

    Merci de votre aide,

    Cordialement

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    couleurH = (-1.0*col11-2.0*col12-1.0*col13+1.0*col31+2.0*col32+1.0*col33)/2.0
    couleurV = (-1.0*col11-2.0*col21-1.0*col31+1.0*col13+2.0*col23+1.0*col33)/2.0
    couleur_finale  = (couleurV + couleurH)/2.0
    Le gradient est un vecteur. Pour avoir sa norme, il ne faut pas simplement faire la moyenne des composantes, mais utiliser le produit scalaire. Sinon, en faisant la moyenne on va se retrouver avec des valeurs négatives.

    Vecteur_Gradient = (GH, GV)

    ---> norme(Vecteur_Gradient) = racine ( GH^2 + GV^2 )
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre confirmé Avatar de TNT89
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 615
    Points
    615
    Par défaut


    Merci beaucoup! C'était effectivement, le problème!


    Je cherche, à terme, à implémenter le filtre de Harris : selon les conventions de cette présentation, je peux donc utiliser GH et GV comme Ix et Iy?

  4. #4
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par TNT89 Voir le message
    Je cherche, à terme, à implémenter le filtre de Harris : selon les conventions de cette présentation, je peux donc utiliser GH et GV comme Ix et Iy?

    Oui, tout a fait.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Membre confirmé Avatar de TNT89
    Inscrit en
    Juillet 2007
    Messages
    358
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Juillet 2007
    Messages : 358
    Points : 615
    Points
    615
    Par défaut
    Ok, Merci beaucoup de votre aide!

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

Discussions similaires

  1. problème avec les filtres
    Par ninikosim dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 31/03/2011, 16h32
  2. [XL-2007] problème avec les filtres
    Par dodo69 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/03/2011, 15h15
  3. Problème avec les filtres
    Par ranell dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 19/07/2010, 11h10
  4. [XL-2007] Problème avec les filtres.
    Par Mielure dans le forum Excel
    Réponses: 6
    Dernier message: 03/12/2009, 16h24
  5. [JDOM] Problème avec les filtres
    Par Djay_jee dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 09/03/2007, 17h59

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