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 :

[imshow] erreur Function IMAGEDISPLAYVALIDATEPARAMS expected its first input


Sujet :

Images

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2012
    Messages : 95
    Par défaut [imshow] erreur Function IMAGEDISPLAYVALIDATEPARAMS expected its first input
    Salut tout le monde
    J'ai rencontré cet erreur avec la fonction imshow, merci de m'aider à le corriger
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    bw=bwboundaries(img,8,'holes'); %img est une image binaire
    figure(9);imshow(bw);
    ??? Error using ==> iptcheckinput
    Function IMAGEDISPLAYVALIDATEPARAMS expected its first input, I,
    to be one of these types:
    
      double, single, uint8, uint16, uint32, int8, int16, int32, logical
    
    Instead its type was cell.
    
    Error in ==> imageDisplayValidateParams at 12
    iptcheckinput(common_args.CData, {'numeric','logical'},...
    
    Error in ==> imageDisplayParseInputs at 79
    common_args = imageDisplayValidateParams(common_args);
    
    Error in ==> imshow at 199
      [common_args,specific_args] = ...
    
    Error in ==> seg_img at 36
    figure(9);imshow(bw);
    Qu'est ce que je dois utiliser parmi les types suivants : double, single, uint8, uint16, uint32, int8, int16, int32, logical
    merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Peux-tu nous montrer ce que renvoie les commandes suivantes ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    bw = bwboundaries(img,8,'holes');
    whos bw
    unique(bw(:))

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2012
    Messages : 95
    Par défaut
    ça donne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      Name        Size             Bytes  Class    Attributes
     
      bw        656x1             462928  cell               
     
    ??? Error using ==> cell.unique at 47
    Input must be a cell array of strings.
     
    Error in ==> seg_img at 35
    unique(bw(:))

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

    Comme spécifié dans la documentation :
    Citation Envoyé par doc bwboundaries
    bwboundaries returns B, a P-by-1 cell array, where P is the number of objects and holes. Each cell in the cell array contains a Q-by-2 matrix. Each row in the matrix contains the row and column coordinates of a boundary pixel. Q is the number of boundary pixels for the corresponding region.
    bwboundaries ne retourne pas une image mais les coordonnées des pixels qui constituent les bordures.

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2012
    Messages : 95
    Par défaut
    Desolé, mais j'ai pas compris par exemple dans ce cas que représente 2 et 1005?? Ce sont les cordonnées d'un pixel de la bordure?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    bw = 
     
        [1005x2 double]
        [5015x2 double]
                 .
                 .

  6. #6
    Invité
    Invité(e)
    Par défaut
    bw{1} va représenter les coordonnées de la première région, bw{2} va représenter les coordonnées de la deuxième région, etc.

    Regarde l'exemple de la documentation, il décrit parfaitement comment faire pour tracer cette bordure.

  7. #7
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 317
    Par défaut
    Citation Envoyé par Winjerome Voir le message
    bwboundaries ne retourne pas une image mais les coordonnées des pixels qui constituent les bordures.
    Effectivement, j'étais parti sur BWLABEL à la place de BWBOUNDARIES donc la commande avec UNIQUE n'était pas appropriée ici.

  8. #8
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    95
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2012
    Messages : 95
    Par défaut
    Bonsoir
    Merci, mais si j'ai bien compris bwboundaries ne va pas m'aider parceque je vise à avoir comme résultat deux images: une contenant les trous de l'image img en blanc et l'autre contenant les contours de ces trous.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    img = edge(I,'log',0);
    [I3, num] = bwlabel(img, 8);
    Comment je peux faire ça et quel est la fonction en matlab qui permet de calculer l'intensité de chaque trou et de chaque contour??

Discussions similaires

  1. Réponses: 3
    Dernier message: 06/01/2012, 14h37
  2. Réponses: 3
    Dernier message: 19/10/2006, 21h51
  3. erreur function not defined
    Par reventlov dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/04/2006, 01h07
  4. [VB]Erreur: Function must return variant
    Par Empty_body dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 16/02/2006, 12h23
  5. Erreur function suite à un dump
    Par MaitrePylos dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 18/01/2006, 09h34

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