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

Discussion: matlab image fcm

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    matlab
    Inscrit en
    mars 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : matlab
    Secteur : Finance

    Informations forums :
    Inscription : mars 2019
    Messages : 4
    Points : 1
    Points
    1

    Par défaut matlab image fcm

    Bonsoir tt le monde

    Je suis en train de faire la classification d'une image avec FCM en matlab. Voila le code

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    I1 = (imread('file90.png'));
    s=0;
    data = reshape(I1, [], 1);
     n=size(I1,1);
     m=size(I1,2);
     k=0;
     
    for i=1:n+m
     
      options = [data NaN NaN 0];
        [centers,U] = fcm(data,2);
     
        maxU = max(U);
        index1 = find(U(1,:) == maxU);
        index2 = find(U(2,:) == maxU);
     
        index3 = find(maxU < 0.6);
     
        averageMax = mean(maxU);
     
        subplot(2,2,i)
        plot(data(index1,1),data(index1,2),'ob')
        hold on
        plot(data(index2,1),data(index2,2),'or')
        plot(data(index3,1),data(index3,2),'xk','LineWidth',2)
        plot(centers(1,1),centers(1,2),'xb','MarkerSize',15,'LineWidth',3)
        plot(centers(2,1),centers(2,2),'xr','MarkerSize',15,'LineWidth',3)
        hold off
        title(['M = ' num2str(M(i)) ', Ave. Max. = ' num2str(averageMax,3)])
    end
    L'erreur

    Error using horzcat
    Dimensions of matrices being concatenated are not consistent.
    
    Error in Untitled (line 27)
      options = [data NaN NaN 0];
    aidez moi svp

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Ingénieur R&D freelance
    Inscrit en
    novembre 2006
    Messages
    19 845
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur R&D freelance

    Informations forums :
    Inscription : novembre 2006
    Messages : 19 845
    Points : 53 642
    Points
    53 642

    Par défaut

    Soit tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data = reshape(I1, [], 1);
    Puis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    options = [data ; NaN ; NaN ; 0];
    Soit tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data = reshape(I1, 1, []);
    Puis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    options = [data NaN NaN 0];
    Mes compétences :
    • conception mécanique 3D (Autodesk Fusion 360)
    • développement informatique (MATLAB, Python, C, VBA)
    • impression 3D (Ultimaker)
    • programmation de microcontrôleur (Microchip PIC et Arduino)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    matlab
    Inscrit en
    mars 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : matlab
    Secteur : Finance

    Informations forums :
    Inscription : mars 2019
    Messages : 4
    Points : 1
    Points
    1

    Par défaut

    il y a un autre problème au niveau de la fonction fcm

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     [centers,U,data(i)] = fcm(data,2,options);
    l'erreur
    Error using fcm (line 73)
    The exponent should be greater than 1!
    
    Error in Untitled (line 28)
        [centers,U,data(i)] = fcm(data,2,options);

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Ingénieur R&D freelance
    Inscrit en
    novembre 2006
    Messages
    19 845
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur R&D freelance

    Informations forums :
    Inscription : novembre 2006
    Messages : 19 845
    Points : 53 642
    Points
    53 642

    Par défaut

    Es-tu sûr d'avoir bien compris à quoi correspond l’argument options ?

    => https://fr.mathworks.com/help/fuzzy/...uv_wo_-options
    Mes compétences :
    • conception mécanique 3D (Autodesk Fusion 360)
    • développement informatique (MATLAB, Python, C, VBA)
    • impression 3D (Ultimaker)
    • programmation de microcontrôleur (Microchip PIC et Arduino)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    matlab
    Inscrit en
    mars 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : matlab
    Secteur : Finance

    Informations forums :
    Inscription : mars 2019
    Messages : 4
    Points : 1
    Points
    1

    Par défaut

    options c'est le Nombre maximum d'itérations , lorsque je cherche la fonction fcm qui permet de faire la classification d'une image, je la trouve sous cette forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [centers,U] = fcm(data,Nc,options);

    je suis débutant en matlab, je n'ai pas compris comment je corrige le code afin de trouver l'image classifiée avec fcm


    mercii d'avance

  6. #6
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Ingénieur R&D freelance
    Inscrit en
    novembre 2006
    Messages
    19 845
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur R&D freelance

    Informations forums :
    Inscription : novembre 2006
    Messages : 19 845
    Points : 53 642
    Points
    53 642

    Par défaut

    Citation Envoyé par daniel200 Voir le message
    options c'est le Nombre maximum d'itérations
    Pas seulement. relis bien la documentation.

    Sinon, pourquoi mets-tu la variable data dans la variable options ?

    La première valeur de options doit être un scalaire supérieur à 1 :
    Citation Envoyé par Documentation de fcm
    Exponent for the fuzzy partition matrix, U, specified as a scalar greater than 1.0.
    Mes compétences :
    • conception mécanique 3D (Autodesk Fusion 360)
    • développement informatique (MATLAB, Python, C, VBA)
    • impression 3D (Ultimaker)
    • programmation de microcontrôleur (Microchip PIC et Arduino)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    matlab
    Inscrit en
    mars 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : matlab
    Secteur : Finance

    Informations forums :
    Inscription : mars 2019
    Messages : 4
    Points : 1
    Points
    1

    Par défaut

    oui vous avez raison. J'ai changé la fonction fcm avec deux variables seulement, le même problème s'affiche


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     [centers,U] = fcm(data,3);

    comment je change le code afin de trouver une image classifiée avec fcm.

    mercii d'avance

Discussions similaires

  1. Classification image fcm
    Par nerinee dans le forum MATLAB
    Réponses: 0
    Dernier message: 07/03/2019, 15h35
  2. vc++ & matlab & image
    Par meera dans le forum Visual C++
    Réponses: 2
    Dernier message: 23/08/2006, 12h49

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