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 :

Number of array dimensions must match for binary array op


Sujet :

Images

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2012
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 79
    Points : 32
    Points
    32
    Par défaut Number of array dimensions must match for binary array op
    Bonjour SVP comment je peux corriger cette erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ??? Error using ==> times
    Number of array dimensions must match for binary array op.
     
    Error in ==> detect at 55
    mult=img.*bw;
    sachant que img est une image Luv et bw est une image binaire

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    En faisant en sorte que size(img) = size(bw).

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2012
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 79
    Points : 32
    Points
    32
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    f=size(img)
    h=size(bw)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    f =
     
       360   285     3
     
     
    h =
     
       360   285
    Comment corriger cette erreur SVP

  4. #4
    Invité
    Invité(e)
    Par défaut
    Comme je t'ai dit :
    Citation Envoyé par Winjerome Voir le message
    En faisant en sorte que size(img) = size(bw).
    Et donc avoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    f =
    
       360   285     3
    
    
    h =
    
       360   285     3

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2012
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 79
    Points : 32
    Points
    32
    Par défaut
    Merci pour votre aide mais j'ai obtenu maintenant cette erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ??? Subscript indices must either be real positive integers or logicals.
     
    Error in ==> detect at 4
    Vector = double(reshape(Vector, [3, size(rgb, 1)*size(rgb, 2)]));

  6. #6
    Invité
    Invité(e)
    Par défaut
    À lire et appliquer la 3ème partie entre autres.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2012
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 79
    Points : 32
    Points
    32
    Par défaut
    Bonjour,
    Merci j'ai essayé d'utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    size(img)=size(bw)
    mais j'ai obtenu cette erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ??? Subscript indices must either be real positive integers or logicals.
     
    Error in ==> detect at 54
    size(img)=size(bw)

  8. #8
    Invité
    Invité(e)
    Par défaut
    Toujours à lire et toujours la 3ème partie entre autres.

    Te rends-tu comptes de ce que tu essaies de faire ?

    Pour pouvoir multiplier membre à membre deux tableaux, il faut que ces deux soient de la même taille. En l’occurrence ici de taille 360x285x3.
    Le but est alors d'obtenir un tableau de cette taille à partir de l'image binaire de taille 360x285.
    Comprends-tu déjà (de point de vue image) ce que cela implique de faire ?

  9. #9
    Nouveau membre du Club
    Inscrit en
    Avril 2012
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 79
    Points : 32
    Points
    32
    Par défaut
    Oui j'ai déjà compris l'erreur mais j'ai pas trouvé comment la corriger
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    lcomponent2=im2bw(lcomponent);
    bw=~lcomponent2;
    size(img_luv)=size(bw)
    mult=img_luv.*bw;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    ??? Subscript indices must either be real positive integers or logicals.
     
    Error in ==> detect at 54
    size(img_luv)=size(bw)

  10. #10
    Invité
    Invité(e)
    Par défaut
    Tu n'as pas répondu à mes questions... ni même suivi et appliqué mes liens

  11. #11
    Nouveau membre du Club
    Inscrit en
    Avril 2012
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 79
    Points : 32
    Points
    32
    Par défaut
    En utilisant les remarques de la troisième partie du lien que m'avez présenté (ce lien), je crois qu'il n'y a pas de problème dans mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    >> which img_luv -all
    luv_back is a variable.
    >> which bw -all
    seuilt is a variable.
    Te rends-tu comptes de ce que tu essaies de faire ?
    Oui j'ai besoin de multiplier une image Luv par la composante L obtenu après un seuillage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    luv1=img_luv(:,:,1);
    se = strel('disk',3);
    closeBW = imclose(img_luv,se);
    luvbw=closeBW(:,:,1);
    lcomponent=luvbw-luv1;
    lcomponent2=im2bw(lcomponent);
    bw=~lcomponent2;
    size(img_luv)=size(bw)
    mult=img_luv.*bw;
    Voici ci-joint le schéma utilisé
    Images attachées Images attachées  

  12. #12
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Sonia_ Voir le message
    En utilisant les remarques de la troisième partie du lien que m'avez présenté (ce lien), je crois qu'il n'y a pas de problème dans mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    >> which img_luv -all
    luv_back is a variable.
    >> which bw -all
    seuilt is a variable.
    Et qu'en est-il de which size -all ?

    Citation Envoyé par Sonia_ Voir le message
    Oui j'ai besoin de multiplier une image Luv par la composante L obtenu après un seuillage
    Je te parle de cette ligne précise size(img_luv)=size(bw), pas de ton code en général.
    Et je te rappelle ceci :
    Citation Envoyé par Winjerome
    Pour pouvoir multiplier membre à membre deux tableaux, il faut que ces deux soient de la même taille. En l’occurrence ici de taille 360x285x3.
    Le but est alors d'obtenir un tableau de cette taille à partir de l'image binaire de taille 360x285.
    Comprends-tu déjà (de point de vue image) ce que cela implique de faire ?

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 19/10/2009, 13h10
  2. Réponses: 1
    Dernier message: 03/05/2009, 22h43
  3. faces-config", must match DOCTYPE root "null"
    Par mimaaaa dans le forum JSF
    Réponses: 6
    Dernier message: 16/09/2008, 16h10
  4. Probleme remplissage Array 2d avec un For
    Par Nico820 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/07/2008, 09h37
  5. Réponses: 3
    Dernier message: 22/02/2008, 13h06

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