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 :

comment effacer une image? [Débutant]


Sujet :

Images

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 110
    Points : 55
    Points
    55
    Par défaut comment effacer une image?
    Bonjour j'ai un petit souci avec les code suivant
    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
    function voirgray_Callback(hObject, eventdata, handles)
    % hObject    handle to voirgray (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    clear figure
    cla(handles.axes1)
    global C5 C6 C7 C8 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 L1 L2 L3 L4 L5 S1 S2 label
    B=[C5 C6 C7 C8 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 L1 L2 L3 L4 L5 S1 S2]
    figure('name','niveaux de gris')
    imagesc(B)
    xlabel(label);
    colormap(gray);
    colorbar('ZTickLabel',B,'location','EastOutside')
    label = [];
    clear global B
    B=[]
    en effet la première figure qui souvre correspond a ce que je veux, mais, apres l'avoir fermée, si je diminue le nombre de variables de B la figure suivante conserve le nombre de variable du premier affichage. Je ne sais pas si je m'exprime bien, mais le but c'est d'avoir une nouvelle image a chaque fois que je fais appel a la fonction voirgray
    Je sais que c'est trivial, mais je n'ai rien trouvé dans le forum image.
    Si vous avez une idée je suis preneur

    Merci d'avance

  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 316
    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 316
    Points : 52 948
    Points
    52 948
    Par défaut
    Les deux lignes suivante ne changent jamais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    global C5 C6 C7 C8 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 L1 L2 L3 L4 L5 S1 S2 label
    B=[C5 C6 C7 C8 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 L1 L2 L3 L4 L5 S1 S2]
    A moins peut être de vider certaines variables C5,C6,C7 avant de les concaténer dans B :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    global C5 C6 C7 C8 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 L1 L2 L3 L4 L5 S1 S2 label
    C5 = [];
    C6 = [];
    C7 = [];
    B=[C5 C6 C7 C8 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 L1 L2 L3 L4 L5 S1 S2]
    Citation Envoyé par pompier21 Voir le message
    si je diminue le nombre de variables de B
    Je savais qu'on pouvait faire "sauter" des disques... mais pas des vertèbres

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 110
    Points : 55
    Points
    55
    Par défaut comment effacer une image
    Merci cela marche, mais je pensais qu'avec un B=[] ou un clear B ou un clear figure on pouvait s'en sortir. Là il a fallu faire : variable=[] pour chacunes des variables de B, c'est un peu lourd.
    Je ne sais pas s'il existe un autre système, mais il serait bien que les développeurs de matlab y pensent.

    Enfin cela marche et c'est le principal Merci encore de votre aide et de votre réponse rapide .

    A bientot car je ne suis pas encore sorti de matlab et je ne fais que débuter!!!

  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 316
    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 316
    Points : 52 948
    Points
    52 948
    Par défaut
    Quels sont les dimensions des variables concaténées dans B ?

    Parce que si ce sont des scalaires, tu peux aussi faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    global C5 C6 C7 C8 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 L1 L2 L3 L4 L5 S1 S2 label
    B=[C5 C6 C7 C8 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12 L1 L2 L3 L4 L5 S1 S2];
    B([1 3 4 7]) = [];

  5. #5
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 828
    Points
    14 828
    Par défaut
    En fait il faudrait peut-être revoir ta façon de programmer qui est un peu lourde.
    MATLAB est très bien mais comme tout langage il te laisse la possibilité de mal programmer.
    Je sais que tu récupères un programme et que tu ne peux donc tout améliorer mais là apparemment cela te poses des problèmes.

    Donc quelques remarques :
    Je ne sais pas ce que tu penses que cette ligne fait mais en l'occurence elle efface la variable "figure", qui n'existe pas, donc cette ligne ne sert à rien.
    Pour nettoyer un objet figure il faut plutôt utiliser la fonction CLF.

    Je ne comprends pas comment tu faisais avant pour "diminuer le nombre de variables dans B" (ce qui en fait ne veut pas dire grand-chose).

    Pourrais-tu expliquer un peu mieux ce que tu veux faire avec toutes ces variables ?


    Aurais-tu un moyen de les renommer plus efficacement ?
    => par exemple en utilisant des cellules.
    Tu n'aurais plus qu'une seule variable C qui contiendrait C1, C2 ....Cn, dans C{1}, C{2}...C{n}.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 110
    Points : 55
    Points
    55
    Par défaut
    Bonjour Caro-line,
    en fait c'est encore un programme que je reprends. Voici le tout (je vous le post en document attaché). Chacunes des 23 variables de B correspond au résultat d'une équation qui est faite dans le même programme. Il y a un bouton par variables et chaque résultat est stocker pour son utilisation dans imagesc.
    Je sais que vous n'aimez pas les variables globales mais je fais comme je peux. Je suis certain que vous auriez programmé cela autrement avec plus de style, mais je ne suis qu'un pauvre débutant qui essai de surnager dans MatLab.
    Par contre si vous voulez me corriger cela sera avec un grand plaisir que j'apprendrai aupres de vous, pour essayer de faire des choses qui se tiennent mieux le jour où je prendrai un programme depuis son début.

    Merci de votre aide

    Merci de m'aider a refaire mieux.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 110
    Points : 55
    Points
    55
    Par défaut Voici les deux programmes que j'utilise et un fichier text
    Bonjour a tous
    je mets cela apres mon post d'hier pour que si quelqu'un a le même genre de programme a faire, il puisse s'en inspirer. Je sais que ce n'est pas le programme idéal et qu'il pourrait être fait dans un style plus matlab que cela. Mais, comme j'ai encore du mal entre la cellule, les tableaux, et les structures,je n'y ai pas fait appel. Je pense que Caro-line ou Dut peuvent amender ce programme , mais en tout état de cause il marche !!!!(grace a eux d'ailleurs)
    Bref c'est sans prétention mais si cela peut aider quelqu'un et permettre aux modérateurs de le corriger c'est bien.

    Je prendrai note de toutes les remarques et correction pour la suite.

    Bon courage a vous tous.
    Ps bien sur pour que touts soit ok il faut enlever les .FIG des fichiers car winzip confond les .M et les .FIG

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

Discussions similaires

  1. Comment effacer une image ?
    Par carlos587261 dans le forum Débuter
    Réponses: 5
    Dernier message: 13/10/2007, 10h41
  2. Comment mettre une image en fond de JFrame
    Par marc26 dans le forum Débuter
    Réponses: 3
    Dernier message: 19/01/2004, 17h57
  3. [Crystal Reports 9] comment insérer une image dans Détails
    Par VVE dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 22/10/2003, 17h06
  4. Comment copier une image dans le presse papier.
    Par cprogil dans le forum Langage
    Réponses: 7
    Dernier message: 09/09/2003, 15h54
  5. comment réduire une image jpeg (taille x*y)
    Par don-diego dans le forum C
    Réponses: 4
    Dernier message: 14/07/2002, 20h06

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