+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Candidat au titre de Membre du Club
    Inscrit en
    mars 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : mars 2007
    Messages : 76
    Points : 11
    Points
    11

    Par défaut autocorrélation et intercorrélation

    bonjour,
    pour mon étude j'ai pu calculer le coefficient de corrélation entre deux matrices, et cela en utilisant la fonction suivante :
    0ù X1 et X2 sont deux matrices de même taille et c est un scalaire ou plus précisément un réel.
    j'ai alors obtenue une valeurs se situant entre -1 et 1. maintenant je veux pouvoir calculer le coefficient d'autocorrélation d'une même matrice ainsi que le coefficient de corrélation et d'autocorrélation d'un vecteur, comment faire, je trouve dans le help que ce qui renvoie un vecteur ou une matrice en sortie et moi je n'ai pas besoin de ça, je veux avoir un réel en sortie, que faire?

  2. #2
    Membre éclairé
    Inscrit en
    décembre 2008
    Messages
    760
    Détails du profil
    Informations forums :
    Inscription : décembre 2008
    Messages : 760
    Points : 340
    Points
    340

    Par défaut

    Citation Envoyé par eclipse2007 Voir le message
    maintenant je veux pouvoir calculer le coefficient d'autocorrélation d'une même matrice
    Bonjour,

    Euh il me semble que si le coefficient d'autocorrélation d'une même matrice n'est pas égale à 1, il y a un petit souci non?
    L'autocorrélation d'une matrice est donc forcément une matrice il me semble.
    OS : taff > Window 7 32bit - Home > Windows 7 64bit
    Matlab : taff > v2013b - Home > r2009a

  3. #3
    Candidat au titre de Membre du Club
    Inscrit en
    mars 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : mars 2007
    Messages : 76
    Points : 11
    Points
    11

    Par défaut

    en faite, je parle de l'autocorrelation horizontale et verticale d'une matrice, dans le premier cas il compare les pixels deux a deux adjacents horizontalement et dans le deuxième cas les pixels adjacents verticalement, c'est pour le traitement des image.

  4. #4
    Candidat au titre de Membre du Club
    Inscrit en
    mars 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : mars 2007
    Messages : 76
    Points : 11
    Points
    11

    Par défaut

    plus pr"précisément et dans le cas ou je me suis mal exprimée, je voudrais calculer le coefficient horizontale et verticale d'une matrice, je n'ai pas trouvé l'équivalent de corr2 pour calculer l'autocorrelation; ça sert en faite a voire le degrés de ressemblance des pixels adjacents d'une image
    please help!!!

  5. #5
    Membre éclairé
    Inscrit en
    décembre 2008
    Messages
    760
    Détails du profil
    Informations forums :
    Inscription : décembre 2008
    Messages : 760
    Points : 340
    Points
    340

    Par défaut

    le coefficient d'autocorrélation sera toujours égale 1 d'une même matrice. Si tu cherches un coefficient d'autocorrélation : quelle matrice veux tu corréler avec quelle autre?
    Pour ton cas je pense qu'il faut déjà bien définir les vecteurs qui doivent se corréler entre eux.

    Imaginons un matrice ma (m*n) :

    Code :
    1
    2
    3
    4
    5
    ma =
     
         5     8     4     5
         4     7     8     9
         7     8     5     1
    si tu veux la corrélation entre avec les points adajcent verticalement, ie par exemple, les deux premières colonnes :

    Code :
    1
    2
    3
    4
    5
    >> coeff_corr_colonne_1 = corr2(ma(:,1),ma(:,2))
     
    coeff_corr_colonne_1 =
     
        0.7559
    tu boucles ça sur toutes tes colonnes et tu auras donc autant de coefficient que de colonnes, tu te retrouves avec un vecteur coeff_corr_colonne.

    Ensuite tu fais la même chose pour les lignes, tu te retrouves avec un vecteur coeff_corr_ligne.

    Après tu peux créer une matrice de tes coefficients, de la même taille que ton image (en les sommant par exemple):
    Code :
    1
    2
    3
    4
    5
    for i=1:m
        for j=1:n
            matrice_coeff(i,j) = coeff_corr_ligne(i)+coeff_corr_colonne(j)
        end
    end
    Mais de toute façon si tu veux avoir la visualisation de la corrélation d'un point à un autre sur toute ton image, il te faut bien une matrice et non un coefficient qui n'aurait plus de sens non?

    Il se peut aussi que j'ai toujours rien comprit à ton objectif !
    OS : taff > Window 7 32bit - Home > Windows 7 64bit
    Matlab : taff > v2013b - Home > r2009a

  6. #6
    Candidat au titre de Membre du Club
    Inscrit en
    mars 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : mars 2007
    Messages : 76
    Points : 11
    Points
    11

    Par défaut

    j'ai trouvé ça dans un livre ou ils disent avoir calculé la corrélation entres les pixels adjacents horizontalement et la corrélation entre les pixels adjacents verticalement et cela grâce à la formule ci jointe:
    ou x et y sont les valeurs de deux pixels adjacent dans une image et N le nombre total de pixels sélectionnés d'une même image pour ce calcul.
    je cherche l'équivalent sous matlab, sinon j'ai essayé d'implémenter ça sous c++ builder mais les résultats ne sont pas logique, je trouve des 3 et des 4 alors que la valeur doit être comprise entre 1 et -1.
    les résultats qu'il ont obtenus dans ce livre sont:
    Image
    horizontal 0.8710
    Vertical 0.4668
    Images attachées Images attachées

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •