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

MATLAB Discussion :

Réajuster l'axe des X


Sujet :

MATLAB

  1. #1
    Membre confirmé
    Homme Profil pro
    amateur
    Inscrit en
    Octobre 2007
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 731
    Points : 460
    Points
    460
    Par défaut Réajuster l'axe des X
    Bonjour,

    J'ai encore un souci d'affichage. J'ai mon vecteur X qui varie de 0 à 255. Cependant, à l'affichage matlab réadapte X. Ainsi, X va de 0 à 300 environ.
    Le problème est que cela contracte l'affichage alors je le préférerais dilaté et donc que sur l'axe X je ne vois que les valeurs utiles, à savoir entre 0 et 255.

    Voici le code de ma fonction d'affichage si cela peut aider même si cela ne doit être qu'un paramétrage du plot bien que je n'y arrive pas -.-

    Merci d'avance !

    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
    31
    32
    33
    function[] = displayResults( originalPicture, newPicture, c, gamma )
     
    figure;
     
    subplot(2,2,1);
    imshow(uint8(originalPicture.matrix));
    title('Image originale : c=1, \gamma = 1');
    subplot(2,2,2);
    hold on;
    for i=1:256
        plot( [i-1, i-1], [0,originalPicture.histogram(1,i)], 'color', 'blue', 'Linewidth',1 );
    end
    title('Histogramme de la répartition des niveaux de gris');
    xlabel('Niveau de gris')
    ylabel('Effectif des pixels');
    set(gca,'XTick',0:50:255);
    plot( [originalPicture.averageGrayLevel, originalPicture.averageGrayLevel], [0,max(originalPicture.histogram)], 'color', 'red', 'Linewidth',2 );
    text(double(originalPicture.averageGrayLevel),double(0.8*max(originalPicture.histogram)),['\leftarrow niveau de gris moyen : ', num2str(originalPicture.averageGrayLevel)] ,'HorizontalAlignment','left');
     
    subplot(2,2,3);
    imshow(uint8(newPicture.matrix));
    title(['Image retouchée : c = ', num2str(c),' \gamma = ', num2str(gamma)]);
    subplot(2,2,4);
    hold on;
    for i=1:256
        plot( [i-1, i-1], [0,newPicture.histogram(1,i)], 'color', 'blue', 'Linewidth',1 );
    end
    title('Histogramme de la répartition des niveaux de gris');
    xlabel('Niveau de gris')
    ylabel('Effectif des pixels');
    set(gca,'XTick',0:50:255);
    plot( [newPicture.averageGrayLevel, newPicture.averageGrayLevel], [0,max(newPicture.histogram)], 'color', 'red', 'Linewidth',2 );
    text(double(newPicture.averageGrayLevel),double(0.8*max(newPicture.histogram)),['\leftarrow niveau de gris moyen : ', num2str(newPicture.averageGrayLevel)] ,'HorizontalAlignment','left');
    Voici un exemple d'une exécution de la fonction si ça peut aider à visualiser le problème

    UNE REPONSE UTILE : &|| UN PROBLEME RESOLU :

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 202
    Points : 96
    Points
    96
    Par défaut
    Salut!

    As-tu essayé d'utiliser la commande suivante?

    Moi j'aime bien Matlab...mais j'ai pas l'impression que ça soit réciproque......

  3. #3
    Membre confirmé
    Homme Profil pro
    amateur
    Inscrit en
    Octobre 2007
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 731
    Points : 460
    Points
    460
    Par défaut
    C'est parfait, c'est niquel, c'est ce qu'il me fallait ! Merci bien !!!!
    UNE REPONSE UTILE : &|| UN PROBLEME RESOLU :

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Tu peux aussi remplacer ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for i=1:256
        plot( [i-1, i-1], [0,newPicture.histogram(1,i)], 'color', 'blue', 'Linewidth',1 );
    end
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    i = 0:255
    plot( [i;i], [zeros(1,size(newPicture.histogram,2)) ; newPicture.histogram(1,:)], 'color', 'blue', 'Linewidth',1 );
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, 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
    Membre confirmé
    Homme Profil pro
    amateur
    Inscrit en
    Octobre 2007
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : amateur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 731
    Points : 460
    Points
    460
    Par défaut
    Merci, je prends note de ces façons de coder, plus courtes ^^
    UNE REPONSE UTILE : &|| UN PROBLEME RESOLU :

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

Discussions similaires

  1. [JpGraph] Problème avec l'axe des abscisses ?
    Par MaTHieU_ dans le forum Bibliothèques et frameworks
    Réponses: 15
    Dernier message: 19/07/2006, 21h23
  2. [excel]échelle log sur l'axe des X
    Par breizhou dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 19/07/2006, 17h49
  3. graphique excel (axe des X)
    Par marjaco dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 07/06/2006, 18h05
  4. Modifier le Mini et le maxi de l'axe des ordonnées
    Par Jeannot45 dans le forum Access
    Réponses: 2
    Dernier message: 04/11/2005, 15h49
  5. [TChart] [Gantt] Comment mettre l'axe des X en heures ?
    Par tipiweb dans le forum Composants VCL
    Réponses: 3
    Dernier message: 18/06/2005, 17h37

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