coefficient de correlation bizarre
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

coefficient de correlation bizarre



  1. #1
    invitec35bc9ea

    coefficient de correlation bizarre


    ------

    bonjour,
    j'ai 5 images que je dois comparer à 1.
    j'affiche les images pour verifier qu'elles ne sont effectivement pas identique.
    je fais mon code matlab pour calculer la norme de chaque vecteur, le produit scalaire de chaque vecteur par le premier.
    par definition le coef de correlation est le cotion du produit scalaires par le produit des normes et là je trouve un coef identique pour toutes les images meme si leurs normes et leurs produits scalaires ont differents.
    je n'arrive pas à tomber sur la couile:
    Code:
    %***********************************
    %INIT
    %***********************************
    importfile signalbsb1.txt;
    importfile signalbsb2.txt;
    importfile signalbsb3.txt;
    importfile signalbsb4.txt;
    importfile signalbsba.txt;
    importfile signalbsbb.txt;
    
    signalbsb1=signalbsb1/100000;
    signalbsb2=signalbsb2/100000;
    signalbsb3=signalbsb3/100000;
    signalbsb4=signalbsb4/100000;
    signalbsba=signalbsba/100000;
    signalbsbb=signalbsbb/100000;
    
    norm_bord1=0;
    norm_bord2=0;
    norm_bord3=0;
    norm_bord4=0;
    norm_borda=0;
    norm_bordb=0;
    norm_bouc1=0;
    norm_bouc2=0;
    norm_bouc3=0;
    norm_bouc4=0;
    norm_bouca=0;
    norm_boucb=0;
    %***********************************
    %***********************************
    
    
    
    
    %***********************************
    %SCRIPT
    %***********************************
    
    %***********************************
    %MISE EN FORME DES DONNEES
    %***********************************
    for i=1:1152
        image1(i,:)=signalbsb1((i-1)*445+1:i*445);
        image2(i,:)=signalbsb2((i-1)*445+1:i*445);
        image3(i,:)=signalbsb3((i-1)*445+1:i*445);
        image4(i,:)=signalbsb4((i-1)*445+1:i*445);
        imagea(i,:)=signalbsba((i-1)*445+1:i*445);
        imageb(i,:)=signalbsbb((i-1)*445+1:i*445);
    end
    
    mat_bord1=image1(600:800,90:355);
    mat_bord2=image2(600:800,90:355);
    mat_bord3=image3(600:800,90:355);
    mat_bord4=image4(600:800,90:355);
    mat_borda=imagea(600:800,90:355);
    mat_bordb=imageb(600:800,90:355);
    
    mat_bouc1=image1(900:1000,90:355);
    mat_bouc2=image2(900:1000,90:355);
    mat_bouc3=image3(900:1000,90:355);
    mat_bouc4=image4(900:1000,90:355);
    mat_bouca=imagea(900:1000,90:355);
    mat_boucb=imageb(900:1000,90:355);
    
    for i=1:266
        vect_bord1((i-1)*201+1:i*201,1)=mat_bord1(:,i);
        vect_bord2((i-1)*201+1:i*201,1)=mat_bord2(:,i);
        vect_bord3((i-1)*201+1:i*201,1)=mat_bord3(:,i);
        vect_bord4((i-1)*201+1:i*201,1)=mat_bord4(:,i);
        vect_borda((i-1)*201+1:i*201,1)=mat_borda(:,i);
        vect_bordb((i-1)*201+1:i*201,1)=mat_bordb(:,i);
        
        
        vect_bouc1((i-1)*101+1:i*101,1)=mat_bouc1(:,i);
        vect_bouc2((i-1)*101+1:i*101,1)=mat_bouc2(:,i);
        vect_bouc3((i-1)*101+1:i*101,1)=mat_bouc3(:,i);
        vect_bouc4((i-1)*101+1:i*101,1)=mat_bouc4(:,i);
        vect_bouca((i-1)*101+1:i*101,1)=mat_bouca(:,i);
        vect_boucb((i-1)*101+1:i*101,1)=mat_boucb(:,i);
    end
    %***********************************
    %***********************************
    
    %***********************************
    %NORME
    %***********************************
    for i=1:53466
        norm_bord1=norm_bord1+sqrt(vect_bord1(i).*vect_bord1(i));
        norm_bord2=norm_bord2+sqrt(vect_bord2(i).*vect_bord2(i));
        norm_bord3=norm_bord3+sqrt(vect_bord3(i).*vect_bord3(i));
        norm_bord4=norm_bord4+sqrt(vect_bord4(i).*vect_bord4(i));
        norm_borda=norm_borda+sqrt(vect_borda(i).*vect_borda(i));
        norm_bordb=norm_bordb+sqrt(vect_bordb(i).*vect_bordb(i));
    end
        
    for i=1:26866
        norm_bouc1=norm_bouc1+sqrt(vect_bouc1(i).*vect_bouc1(i));
        norm_bouc2=norm_bouc2+sqrt(vect_bouc2(i).*vect_bouc2(i));
        norm_bouc3=norm_bouc3+sqrt(vect_bouc3(i).*vect_bouc3(i));
        norm_bouc4=norm_bouc4+sqrt(vect_bouc4(i).*vect_bouc4(i));
        norm_bouca=norm_bouca+sqrt(vect_bouca(i).*vect_bouca(i));
        norm_boucb=norm_boucb+sqrt(vect_boucb(i).*vect_boucb(i));
    end
    %***********************************
    %***********************************
    
    %***********************************
    %PRODUIT SCALAIRE
    %***********************************
    for i=1:53466
        ps_bord2=norm_bord2+(vect_bord1(i).*vect_bord2(i));
        ps_bord3=norm_bord3+(vect_bord1(i).*vect_bord3(i));
        ps_bord4=norm_bord4+(vect_bord1(i).*vect_bord4(i));
        ps_borda=norm_borda+(vect_bord1(i).*vect_borda(i));
        ps_bordb=norm_bordb+(vect_bord1(i).*vect_bordb(i));
    end
       
    for i=1:26866
        ps_bouc2=norm_bouc2+(vect_bouc1(i).*vect_bouc2(i));
        ps_bouc3=norm_bouc3+(vect_bouc1(i).*vect_bouc3(i));
        ps_bouc4=norm_bouc4+(vect_bouc1(i).*vect_bouc4(i));
        ps_bouca=norm_bouca+(vect_bouc1(i).*vect_bouca(i));
        ps_boucb=norm_boucb+(vect_bouc1(i).*vect_boucb(i));
    end
    %***********************************
    %***********************************
    
    %***********************************
    %COEFFICIENT DE CORRELATION
    %***********************************
    % la bouteille 1 est suppoée bonne et donc prise comme reference %
    cor_bord2=ps_bord2/(norm_bord2*norm_bord1);
    cor_bord3=ps_bord3/(norm_bord3*norm_bord1);
    cor_bord4=ps_bord4/(norm_bord4*norm_bord1);
    cor_borda=ps_borda/(norm_borda*norm_bord1);
    cor_bordb=ps_bordb/(norm_bordb*norm_bord1);
    
    
    cor_bouc2=ps_bouc2/(norm_bouc2*norm_bouc1);
    cor_bouc3=ps_bouc3/(norm_bouc3*norm_bouc1);
    cor_bouc4=ps_bouc4/(norm_bouc4*norm_bouc1);
    cor_bouca=ps_bouca/(norm_bouca*norm_bouc1);
    cor_boucb=ps_boucb/(norm_boucb*norm_bouc1);
    %***********************************
    %***********************************
    
    %***********************************
    %AFFICHAGE
    %***********************************
    % colormap(gray);
    % image(mat_bord1*256);
    % image(mat_bord2*256);
    % image(mat_bord3*256);
    % image(mat_bord4*256);
    % image(mat_borda*256);
    % image(mat_bordb*256);
    % 
    % image(mat_bouc1*256);
    % image(mat_bouc2*256);
    % image(mat_bouc3*256);
    % image(mat_bouc4*256);
    % image(mat_bouca*256);
    % image(mat_boucb*256);
    %***********************************
    %***********************************
    
    %***********************************
    %***********************************
    merci

    -----

  2. #2
    invite986312212
    Invité

    Re : coefficient de correlation bizarre

    laisse tomber matlab.

  3. #3
    invitec35bc9ea

    Re : coefficient de correlation bizarre

    merci.
    ça m'aide beaucoup
    Citation Envoyé par einstein Voir le message
    bonjour,
    j'ai 5 images que je dois comparer à 1.
    j'affiche les images pour verifier qu'elles ne sont effectivement pas identique.
    je fais mon code matlab pour calculer la norme de chaque vecteur, le produit scalaire de chaque vecteur par le premier.
    par definition le coef de correlation est le cotion du produit scalaires par le produit des normes et là je trouve un coef identique pour toutes les images meme si leurs normes et leurs produits scalaires ont differents.
    je n'arrive pas à tomber sur la couile:
    Code:
    %***********************************
    %INIT
    %***********************************
    importfile signalbsb1.txt;
    importfile signalbsb2.txt;
    importfile signalbsb3.txt;
    importfile signalbsb4.txt;
    importfile signalbsba.txt;
    importfile signalbsbb.txt;
    
    signalbsb1=signalbsb1/100000;
    signalbsb2=signalbsb2/100000;
    signalbsb3=signalbsb3/100000;
    signalbsb4=signalbsb4/100000;
    signalbsba=signalbsba/100000;
    signalbsbb=signalbsbb/100000;
    
    norm_bord1=0;
    norm_bord2=0;
    norm_bord3=0;
    norm_bord4=0;
    norm_borda=0;
    norm_bordb=0;
    norm_bouc1=0;
    norm_bouc2=0;
    norm_bouc3=0;
    norm_bouc4=0;
    norm_bouca=0;
    norm_boucb=0;
    %***********************************
    %***********************************
    
    
    
    
    %***********************************
    %SCRIPT
    %***********************************
    
    %***********************************
    %MISE EN FORME DES DONNEES
    %***********************************
    for i=1:1152
        image1(i,:)=signalbsb1((i-1)*445+1:i*445);
        image2(i,:)=signalbsb2((i-1)*445+1:i*445);
        image3(i,:)=signalbsb3((i-1)*445+1:i*445);
        image4(i,:)=signalbsb4((i-1)*445+1:i*445);
        imagea(i,:)=signalbsba((i-1)*445+1:i*445);
        imageb(i,:)=signalbsbb((i-1)*445+1:i*445);
    end
    
    mat_bord1=image1(600:800,90:355);
    mat_bord2=image2(600:800,90:355);
    mat_bord3=image3(600:800,90:355);
    mat_bord4=image4(600:800,90:355);
    mat_borda=imagea(600:800,90:355);
    mat_bordb=imageb(600:800,90:355);
    
    mat_bouc1=image1(900:1000,90:355);
    mat_bouc2=image2(900:1000,90:355);
    mat_bouc3=image3(900:1000,90:355);
    mat_bouc4=image4(900:1000,90:355);
    mat_bouca=imagea(900:1000,90:355);
    mat_boucb=imageb(900:1000,90:355);
    
    for i=1:266
        vect_bord1((i-1)*201+1:i*201,1)=mat_bord1(:,i);
        vect_bord2((i-1)*201+1:i*201,1)=mat_bord2(:,i);
        vect_bord3((i-1)*201+1:i*201,1)=mat_bord3(:,i);
        vect_bord4((i-1)*201+1:i*201,1)=mat_bord4(:,i);
        vect_borda((i-1)*201+1:i*201,1)=mat_borda(:,i);
        vect_bordb((i-1)*201+1:i*201,1)=mat_bordb(:,i);
        
        
        vect_bouc1((i-1)*101+1:i*101,1)=mat_bouc1(:,i);
        vect_bouc2((i-1)*101+1:i*101,1)=mat_bouc2(:,i);
        vect_bouc3((i-1)*101+1:i*101,1)=mat_bouc3(:,i);
        vect_bouc4((i-1)*101+1:i*101,1)=mat_bouc4(:,i);
        vect_bouca((i-1)*101+1:i*101,1)=mat_bouca(:,i);
        vect_boucb((i-1)*101+1:i*101,1)=mat_boucb(:,i);
    end
    %***********************************
    %***********************************
    
    %***********************************
    %NORME
    %***********************************
    for i=1:53466
        norm_bord1=norm_bord1+sqrt(vect_bord1(i).*vect_bord1(i));
        norm_bord2=norm_bord2+sqrt(vect_bord2(i).*vect_bord2(i));
        norm_bord3=norm_bord3+sqrt(vect_bord3(i).*vect_bord3(i));
        norm_bord4=norm_bord4+sqrt(vect_bord4(i).*vect_bord4(i));
        norm_borda=norm_borda+sqrt(vect_borda(i).*vect_borda(i));
        norm_bordb=norm_bordb+sqrt(vect_bordb(i).*vect_bordb(i));
    end
        
    for i=1:26866
        norm_bouc1=norm_bouc1+sqrt(vect_bouc1(i).*vect_bouc1(i));
        norm_bouc2=norm_bouc2+sqrt(vect_bouc2(i).*vect_bouc2(i));
        norm_bouc3=norm_bouc3+sqrt(vect_bouc3(i).*vect_bouc3(i));
        norm_bouc4=norm_bouc4+sqrt(vect_bouc4(i).*vect_bouc4(i));
        norm_bouca=norm_bouca+sqrt(vect_bouca(i).*vect_bouca(i));
        norm_boucb=norm_boucb+sqrt(vect_boucb(i).*vect_boucb(i));
    end
    %***********************************
    %***********************************
    
    %***********************************
    %PRODUIT SCALAIRE
    %***********************************
    for i=1:53466
        ps_bord2=norm_bord2+(vect_bord1(i).*vect_bord2(i));
        ps_bord3=norm_bord3+(vect_bord1(i).*vect_bord3(i));
        ps_bord4=norm_bord4+(vect_bord1(i).*vect_bord4(i));
        ps_borda=norm_borda+(vect_bord1(i).*vect_borda(i));
        ps_bordb=norm_bordb+(vect_bord1(i).*vect_bordb(i));
    end
       
    for i=1:26866
        ps_bouc2=norm_bouc2+(vect_bouc1(i).*vect_bouc2(i));
        ps_bouc3=norm_bouc3+(vect_bouc1(i).*vect_bouc3(i));
        ps_bouc4=norm_bouc4+(vect_bouc1(i).*vect_bouc4(i));
        ps_bouca=norm_bouca+(vect_bouc1(i).*vect_bouca(i));
        ps_boucb=norm_boucb+(vect_bouc1(i).*vect_boucb(i));
    end
    %***********************************
    %***********************************
    
    %***********************************
    %COEFFICIENT DE CORRELATION
    %***********************************
    % la bouteille 1 est suppoée bonne et donc prise comme reference %
    cor_bord2=ps_bord2/(norm_bord2*norm_bord1);
    cor_bord3=ps_bord3/(norm_bord3*norm_bord1);
    cor_bord4=ps_bord4/(norm_bord4*norm_bord1);
    cor_borda=ps_borda/(norm_borda*norm_bord1);
    cor_bordb=ps_bordb/(norm_bordb*norm_bord1);
    
    
    cor_bouc2=ps_bouc2/(norm_bouc2*norm_bouc1);
    cor_bouc3=ps_bouc3/(norm_bouc3*norm_bouc1);
    cor_bouc4=ps_bouc4/(norm_bouc4*norm_bouc1);
    cor_bouca=ps_bouca/(norm_bouca*norm_bouc1);
    cor_boucb=ps_boucb/(norm_boucb*norm_bouc1);
    %***********************************
    %***********************************
    
    %***********************************
    %AFFICHAGE
    %***********************************
    % colormap(gray);
    % image(mat_bord1*256);
    % image(mat_bord2*256);
    % image(mat_bord3*256);
    % image(mat_bord4*256);
    % image(mat_borda*256);
    % image(mat_bordb*256);
    % 
    % image(mat_bouc1*256);
    % image(mat_bouc2*256);
    % image(mat_bouc3*256);
    % image(mat_bouc4*256);
    % image(mat_bouca*256);
    % image(mat_boucb*256);
    %***********************************
    %***********************************
    
    %***********************************
    %***********************************
    merci

  4. #4
    invite986312212
    Invité

    Re : coefficient de correlation bizarre

    avec R, si im1 et im2 sont tes images (supposées de mêmes dimensions), pour avoir la corrélation, tu fais juste:
    cor(as.vector(im1),as.vector(i m2))

    1 ligne de code contre quelques dizaines avec matlab et une erreur que tu n'arrives pas à trouver. Tires-en les conclusions que tu voudras.

  5. A voir en vidéo sur Futura
  6. #5
    invitec35bc9ea

    Re : coefficient de correlation bizarre

    1 ligne de code contre quelques dizaines avec matlab
    si tu veux. là n'est pas le probleme. j'ai un probleme, j'ai un outil, je dois resoudre ce probleme avec cet outil.
    et contrairement à ce que tu dis, la corellation sous matlab se fait en 3 lignes. tout le reste c'est la mise en forme des données: faire passer les points à traiter de 53000 à 5000

  7. #6
    invitec35bc9ea

    Re : coefficient de correlation bizarre

    voici le code épuré ne presentant que la partie algorithmique qui me pose probleme:
    Code:
    mat_bord1=image1(600:800,90:355);
    mat_bord2=image2(600:800,90:355);
    mat_bord3=image3(600:800,90:355);
    mat_bord4=image4(600:800,90:355);
    
    for i=1:266
        vect_bord1((i-1)*201+1:i*201,1)=mat_bord1(:,i);
        vect_bord2((i-1)*201+1:i*201,1)=mat_bord2(:,i);
        vect_bord3((i-1)*201+1:i*201,1)=mat_bord3(:,i);
        vect_bord4((i-1)*201+1:i*201,1)=mat_bord4(:,i);
    end
    %***********************************
    %***********************************
    
    %***********************************
    %NORME
    %***********************************
    i=1:53466;
        norm_bord1=sum(vect_bord1(i).*vect_bord1(i));
        norm_bord2=sum(vect_bord2(i).*vect_bord2(i));
        norm_bord3=sum(vect_bord3(i).*vect_bord3(i));
        norm_bord4=sum(vect_bord4(i).*vect_bord4(i));
    
    norm_bord1=sqrt(norm_bord1);
    norm_bord2=sqrt(norm_bord2);
    norm_bord3=sqrt(norm_bord3);
    norm_bord4=sqrt(norm_bord4);
    %***********************************
    %***********************************
    
    %***********************************
    %PRODUIT SCALAIRE
    %***********************************
    for i=1:53466
        ps_bord2=norm_bord2+(vect_bord1(i).*vect_bord2(i));
        ps_bord3=norm_bord3+(vect_bord1(i).*vect_bord3(i));
        ps_bord4=norm_bord4+(vect_bord1(i).*vect_bord4(i));
    end
    %***********************************
    %***********************************
    
    %***********************************
    %COEFFICIENT DE CORRELATION
    %***********************************
    % la bouteille 1 est suppoée bonne et donc prise comme reference %
    cor_bord2=ps_bord2/(norm_bord2*norm_bord1);
    cor_bord3=ps_bord3/(norm_bord3*norm_bord1);
    cor_bord4=ps_bord4/(norm_bord4*norm_bord1);
    %***********************************
    %***********************************
    
    %***********************************
    %AFFICHAGE
    %***********************************
    colormap(gray);
    image(mat_bord1*256);
    % image(mat_bord2*256);
    % image(mat_bord3*256);
    % image(mat_bord4*256);
    %***********************************
    %***********************************
    
    %***********************************
    %***********************************
    merci

  8. #7
    invitec35bc9ea

    Re : coefficient de correlation bizarre

    Resolu:
    le problème résidait dans le fait que j'exprimais le coefficient de corrélation directement sur les vecteurs sans les avoir centré auparavant.

Discussions similaires

  1. Relation entre coefficient de roulement et coefficient de frottement
    Par invite9636c8f3 dans le forum Technologies
    Réponses: 11
    Dernier message: 27/08/2009, 11h01
  2. Coefficient de correlation
    Par invite46031b3d dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 14/02/2008, 14h31
  3. Bizarre, bizarre !!! (article Ouest-France)
    Par invited0244bf9 dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 15
    Dernier message: 15/10/2007, 20h44
  4. formule bizarre, vraiment bizarre
    Par invite22bb543b dans le forum Chimie
    Réponses: 5
    Dernier message: 07/01/2006, 23h31