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 :

sauvegarder des images dans une structure


Sujet :

Images

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 35
    Points : 20
    Points
    20
    Par défaut sauvegarder des images dans une structure
    salut
    j'ai fait un programmme qui détecte les les contours pour chaque valeur de n
    je veux sauvegarder les images (I,w1,w2,mf,af) pour chaque valeur de i
    dans une structure par exemple
    voici le programme :
    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
     
    I=imread('westconcordorthophoto.png');
    figure;imshow(I);title ('fig1');
    thetax=[1/2,1/4,1/2];thetay=[1/2 1/4 1/2].';
    n=3;
    Imgs = [];
    I= double(I)/256;
     
    for i=1:n
        I =conv2(I,thetax,'same');
        I =conv2(I,thetay,'same');
     
        Imgs{i} = I; % un tableau de cellules:
        [I1,I2]=gradient(I);
    w1=immultiply(I1,sqrt(n));
    w2=immultiply(I2,sqrt(n));
    figure;imshow(I);title ('fig2');
    figure;imshow(w1);title ('fig3');
    figure;imshow(w2);title ('fig4');
    %calcule de la norme de gradient  l'image :
    I3=immultiply(w1,w1);
    I4=immultiply(w2,w2);
    I5=imadd(I3,I4);
    mf=sqrt(I5);
    % calcule de la direction de gradient de l'image:
    I6=imdivide(w2,w1);
    af=atan(I6);
    af2= (af*180)/pi;
    imagesc(af2);title ('fig7');
    j'ai essayé avec la fonction struct mais je n'arrive pas à sauvegarder chaque fois ces images car n n'est pas une valeur fixe
    j'ai besoin de votre aide

  2. #2
    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 830
    Points
    14 830
    Par défaut
    Ce qui serait bien c'est que tu essayes de nous montrer ce que tu veux sur un exemple plus petit, là ton code est un peu ... indigeste (désolée).

    D'ailleurs attention : tu as 2 boucles for imbriquées avec le même itérateur i => MATLAB risque de ne pas aimer.

    Sinon pour essayer quand même de t'aider, un exemple de remplissage de structure en boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    %initialisation
    s=struct('I',{},'w1',{},'w2',{});%s est vide
    for k=1:10
        I=k;
        w1=2*k;
        w2=3*k;
        s(end+1)=struct('I',I,'w1',w1,'w2',w2);
    end

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 35
    Points : 20
    Points
    20
    Par défaut
    desolé!je suis debutante en matlab
    mais est ce que avec ce code on peut retirer I ou bien w1 oubien w2 pour 2 eme ou 3eme itérations càd ces valeurs ne seront pas écrasés

  4. #4
    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 830
    Points
    14 830
    Par défaut
    Désolée mais je ne comprends pas très bien ce que tu veux dire
    Si pour une des itérations la valeur n'est pas définie tu peux mettre tout simplement [].
    C'est ça que tu veux ?

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 35
    Points : 20
    Points
    20
    Par défaut
    salut
    j'ai essayer avec ce code mais j'ai pas bien compri ,ou on doit mettre []?
    Merci bien

  6. #6
    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 830
    Points
    14 830
    Par défaut
    Montre ce que tu as essayé et les lignes qui te posent problème.

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 35
    Points : 20
    Points
    20
    Par défaut
    bonjour
    voila le code que j'ai fait:
    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
     
    I=imread('westconcordorthophoto.png');
    thetax=[1/2,1/4,1/2];thetay=[1/2 1/4 1/2].';
    n=3;%n est variable
    Imgs = [];
    I= double(I)/256;
    s=struct('I',[],'w1',[],'w2',[])
    for i=1:n
        I =conv2(I,thetax,'same');
        I =conv2(I,thetay,'same');
        Imgs{i}=I; % un tableau de cellules:
        [I1,I2]=gradient(I);
    w1=immultiply(I1,sqrt(n));
    w2=immultiply(I2,sqrt(n));
    s(end+1)=struct('I',I,'w1',w1,'w2',w2);
    end
    quand je fais l'exécution ,je trouve I et w1 et w2 de la dernière itération
    le probleme c'est que je n'arrive pas encore a sauvegarder ces images (I,w1,w
    2) pour chaque valeur de i (chaque itération )
    J'espère être plus claire
    merci

  8. #8
    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 830
    Points
    14 830
    Par défaut
    Normalement s(1) contient tes valeurs pour ta 1ère itération, s(2) pour la 2ème et ainsi de suite.
    Je ne vois pas le problème.

  9. #9
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 35
    Points : 20
    Points
    20
    Par défaut
    salut
    j'ai essayé d'utiliser les images que j'ai sauvegardé dans une structure pour retrouver l'image initiale en faisant une multiplication par des filtres pour chaque itération puis un somme enrte ces images, mais je n'arrive pas a recupèrer cette image!
    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
    I=imread('westconcordorthophoto.png');
    thetax=[1/2,1/4,1/2];thetay=[1/2 1/4 1/2].';theta1=[0 0 0,0 1 0,0 0 0];
    dx1=(1./16).*[-0.5 0.5 0,-3 3 0,-0.5 0.5 0 ];dy1=(1./16).*[-0.5 -3 -0.5,0.5 3 0.,0 0 0 ];
    figure,imshow(I)
    n=3;%n est variable
    Imgs = [];
    I= double(I)/256;
    s=struct('I',[],'w1',[],'w2',[])
    for i=1:n
        I =conv2(I,thetax,'same');
        I =conv2(I,thetay,'same');
        Imgs{i}=I; % un tableau de cellules:
        [I1,I2]=gradient(I);
    w1=immultiply(I1,sqrt(n));
    w2=immultiply(I2,sqrt(n));
    s(end+1)=struct('I',I,'w1',w1,'w2',w2);
    end
    for i1=n:1
    s.i1=struct('w1',[w1],'w2',[w2]);
    I=conv2(I,theta1,'same');
    I5=conv2(w1,dx1,'same');
    I6=conv2(w2,dy1,'same');
    I=(I+I5+I6);
    end
    figure,imshow(I)
    j'ia besoin de votre aide

Discussions similaires

  1. [Debutant] Mettre des images dans une Toolbar
    Par Beleim dans le forum Windows
    Réponses: 11
    Dernier message: 02/03/2006, 23h31
  2. Comment stocker des images dans une base de données ?
    Par [Silk] dans le forum Bases de données
    Réponses: 4
    Dernier message: 21/07/2005, 11h29
  3. inserer des images dans une base de données
    Par alilou04 dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/06/2004, 18h54
  4. LYCOS ET MYSQL - Intégrer des images dans une base!
    Par archeo dans le forum Installation
    Réponses: 3
    Dernier message: 06/04/2004, 13h45
  5. insérer des images dans une bd postgresql
    Par ephet dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 20/01/2004, 09h18

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