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 :

Utilisation des valeurs propres, vecteurs propres pour la détection des contours


Sujet :

Traitement d'images

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de SmileSoft
    Inscrit en
    Mars 2008
    Messages
    436
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 436
    Par défaut Utilisation des valeurs propres, vecteurs propres pour la détection des contours
    Bonjour,

    j'aimerai comprendre le concept d'utilisation de valeurs propres et vecteurs propres pour extraire les contours / lignes dans une image.

    je lis un article qui définie l'orientation du contour comme l’orientation du vecteur propre de la matrice:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    I*X(x,y) I*Z(x,y)
    I*Z(x,y) I*Y(x,y)
    et considère le point (x,y) dont la valeur propre est maximale, un pixel ligne. et supprime le reste avec l'algorithme de Canny.

    I est l'image originale et X, Y et Z sont respectivement des filtres dans les directions (horizontale, verticale et horizontale&verticale).

  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 : 52
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Disons que la matrice du gradient définit une base orthogonale des "variations" de l'image.

    Les 2 vecteurs propres sont les 2 vecteurs de cette base orthogonale. Celui avec la plus grande valeur propre représente la direction de la "variation" la plus forte => il est perpendiculaire à la ligne de contour.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Membre éclairé Avatar de SmileSoft
    Inscrit en
    Mars 2008
    Messages
    436
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 436
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Disons que la matrice du gradient définit une base orthogonale des "variations" de l'image.

    Les 2 vecteurs propres sont les 2 vecteurs de cette base orthogonale. Celui avec la plus grande valeur propre représente la direction de la "variation" la plus forte => il est perpendiculaire à la ligne de contour.

    je comprends que la valeur propre maximale correspond au maximum local?

  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 : 52
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par SmileSoft Voir le message
    je comprends que la valeur propre maximale correspond au maximum local?
    Au maximum local de variation, puisque la matrice représente le gradient.

    En terme de valeur de pixel, on peut écrire:

    F(x+dx,y+dy) ~= F(x,y) + A.du + B.dv

    ou F() donne la valeur de l'image
    x,y sont les coordonnées d'un pixel
    dx,dy est un petit déplacement spatial dans le repère X,Y
    A,B sont les valeurs propres de la matrice du gradient
    du,dv représente le petit déplacement spatial dans le repère des vecteurs propres de la matrice du gradient.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 7
    Par défaut aide sur les vecteurs propres et l'orientation gradient
    Citation Envoyé par pseudocode Voir le message
    Au maximum local de variation, puisque la matrice représente le gradient.

    En terme de valeur de pixel, on peut écrire:

    F(x+dx,y+dy) ~= F(x,y) + A.du + B.dv

    ou F() donne la valeur de l'image
    x,y sont les coordonnées d'un pixel
    dx,dy est un petit déplacement spatial dans le repère X,Y
    A,B sont les valeurs propres de la matrice du gradient
    du,dv représente le petit déplacement spatial dans le repère des vecteurs propres de la matrice du gradient.
    Bonjour, moi aussi je travaille sur l'orientation gradient ainsi que les vecteurs propres. J'ai des questions sur ces vecteurs et leur relation avec l'orientation gradient:

    J'essaye de suivre l'article suivant :

    http://books.google.fr/books?id=xkkj...vector&f=false

    ainsi que la méthode décrite dans :

    http://nghiaho.com/?p=1198



    A = [dx^2 dxy
    dxy dy^2];
    t = trace(A);
    d = det(A);

    eig1 = t*0.5 + sqrt(t*t*0.25 - d);
    eig2 = t*0.5 - sqrt(t*t*0.25 - d);

    dans ce cas les vecteurs propres sont :

    v1 = [A(2,1) (eig1 - A(1,1))];
    v2 = [(eig1 - A(2,2)) A(2,1)];

    mais les résultats que j'obtiens ne sont pas cohérents !!! ni v1 ni v2 ne sont alignés ou orthogonaux par rapport à l'orientation gradient principale.

  6. #6
    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 : 52
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par ipvoice75 Voir le message
    mais les résultats que j'obtiens ne sont pas cohérents !!! ni v1 ni v2 ne sont alignés ou orthogonaux par rapport à l'orientation gradient principale.
    Pourtant, ca devrait.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #7
    Membre éclairé Avatar de SmileSoft
    Inscrit en
    Mars 2008
    Messages
    436
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 436
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    En terme de valeur de pixel, on peut écrire:

    F(x+dx,y+dy) ~= F(x,y) + A.du + B.dv

    dx,dy est un petit déplacement spatial dans le repère X,Y
    est ce que dx et dy, correspondent à la distance du pixel en question avec ses voisins?

  8. #8
    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 : 52
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par SmileSoft Voir le message
    est ce que dx et dy, correspondent à la distance du pixel en question avec ses voisins?
    Heu... non. C'est la notation de Leibniz pour exprimer une quantité infinitésimale. En fait, c'est simplement la formule de Taylor pour une fonction a 2 variables (x et y).


    Évidemment sur un espace discret (comme c'est le cas ici) la plus petite quantité pour dx est "+1" ou "-1".
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

Discussions similaires

  1. Calcul des valeurs et vecteurs propres de l'ACP
    Par amine31000 dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 08/08/2012, 19h52
  2. [ZF 1.5] [Route] Besoin d'aide pour la configuration des mes routes => url propre
    Par Jonathan.b dans le forum Zend Framework
    Réponses: 5
    Dernier message: 29/10/2008, 14h27
  3. Valeurs et vecteurs propres matrice réelle
    Par The Ultimate Gibbon dans le forum Fortran
    Réponses: 2
    Dernier message: 23/09/2008, 15h13
  4. [Maths] Valeurs et vecteurs propres
    Par Bella la vita dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 07/06/2007, 11h46
  5. valeurs et vecteurs propres
    Par Mchupakabra dans le forum Mathématiques
    Réponses: 13
    Dernier message: 28/03/2007, 15h59

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