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

Images Discussion :

fonction "intersect" résultats incohérent


Sujet :

Images

  1. #1
    Membre régulier Avatar de Imène_23
    Femme Profil pro
    Inscrit en
    Avril 2009
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37

    Informations forums :
    Inscription : Avril 2009
    Messages : 275
    Points : 102
    Points
    102
    Par défaut fonction "intersect" résultats incohérent
    Bonsoir
    ma fonction fait l'intersection entre les pixels de l'image et les moyennes 10*10 des pixels de la même image, mon problème c'est que le résulats est faux:
    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
    17
    18
    19
    20
    function c=interrgb(I);
    fun = @(x) mean(x(:));
     
    mI(:,:,1) = blkproc(I(1:end-1,1:end-1,1),[ 10 10 ],fun);
    mI(:,:,2) = blkproc(I(1:end-1,1:end-1,2),[ 10 10],fun);
    mI(:,:,3) = blkproc(I(1:end-1,1:end-1,3),[ 10 10 ],fun);
    R = mI(:,:,1);
    G = mI(:,:,2);
    B = mI(:,:,3);
    uRGB = unique([R(:) G(:) B(:)],'rows');
    R1 = I(:,:,1);
    G1 = I(:,:,2);
    B1 = I(:,:,3);
    uRGB1 = unique([R1(:) G1(:) B1(:)],'rows');
    cc=intersect(uRGB,uRGB1,'rows');
    R = cc(:,1);
    G = cc(:,2);
    B = cc(:,3);
    c = unique([R(:) G(:) B(:)],'rows');
    end
    comme résulat j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    10	10	10
    25	25	25
    136	0	21
    138	138	138
    255	255	255
    mais rien que uRGB1 est égale à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    10	10	10
    136	0	21
    138	138	138
    255	255	255
    donc le pixel 25 25 25 je ne sais pas d'où il sort, et quand je recopie uRGB et uRGB1 dans de nouvelles matrices et que j'appelle simplement la fonction intersect le résultat est juste ?????

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    Bonjour,

    Peux-tu nous fournir une image ou un jeu de données qui permet de reproduire ce comportement?

  3. #3
    Membre régulier Avatar de Imène_23
    Femme Profil pro
    Inscrit en
    Avril 2009
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 37

    Informations forums :
    Inscription : Avril 2009
    Messages : 275
    Points : 102
    Points
    102
    Par défaut
    Bonjour
    Voici l'image avec laquelle j'ai eu c'est même résultat
    Nom : Sans titre.png
Affichages : 79
Taille : 865 octets

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Points : 7 614
    Points
    7 614
    Par défaut
    C'est un problème de class : uRGB est de type double et uRGB1 est de type uint8. Change le type de l'une d'elle pour utiliser le même type.

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

Discussions similaires

  1. Résultat incohérent de la fonction strlen()
    Par kaayna dans le forum Langage
    Réponses: 2
    Dernier message: 23/05/2008, 17h35

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