Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1161 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  aide en Matlab

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

aide en Matlab

n°1355169
hamoudasaf​ira
Posté le 27-04-2006 à 14:40:02  profilanswer
 

Bonjour tout le monde
J’aurai besoin un aide en MATLAB si c'est possible. Alors je vous explique ce que j'aurai besoin à faire.
Je travail sur l’IRM et j'ai récupére des images du fichier .raw et avec les images je récupère un fichier (Application MFC WORDPAD). donc j'aurai besoin une boucle pour lequel je puisse lire tous les images de cet manière: dyn0001_sl001_M
dyn0002_sl001_M
dyn0003_sl001_M..... Jusqu’à 50 par exemple. Ce sont les noms des images qui se trouvent dans un fichier.
La 2éme boucle c'est qu'il y a des informations concernant ces images qui se trouvent dans le fichier wordpad et j'aurai besoin de lire seulement la 2éme ligne et la 7 éme caractère.
c'est vraiment urgent pour mon stage et je vous remercie en avance pour votre aide..

mood
Publicité
Posté le 27-04-2006 à 14:40:02  profilanswer
 

n°1355353
hamoudasaf​ira
Posté le 27-04-2006 à 17:08:54  profilanswer
 

aidez moi c'est vraiment urgent

n°1355793
hamoudasaf​ira
Posté le 28-04-2006 à 10:43:33  profilanswer
 

on fait pour ceux qui non pas bien compris l'idée je vous explique plus dans ce message et je vous prie de m'aider:[:alina95]
le probléme c'est que j'arrive à lire l'image en utilisant:  
fid=fopen(nom de fichier 'une image .raw', 'r')
[im2 count] =(fid, [128,128] la dimension de l'image , 'int16' precision)  
imagesc(im2)
voilà, mais mon probléme c'est d'avoir une boucle qui pourrat me lire les 50 images par contre le nom de l'image et comme ça 'dyn0002_sl001_T.raw' donc je trouve une difficulté de mettre une boucle par exemple:
k=1:50;
fid=fopen('dyn000K_sl001_T.raw ','r')
comme ça ne marche jamais. puisque je ne peux pas changer le nom de l'image puisque elles me viennent de l'IRM comme ça et pareil pour le fishier texte, parce qu'il vient avec les images et à l'intérieur il y a des informations concernant ces images.
et le probléme là qu'il ya des caractères mots dans la première ligne et chiffres dans la deuxième ligne et ce que je besoin de lire c'est juste la 7 éme caractère.
désoler pour ce long message et j'espére que cous avez compris le probléme et l'idée en generale.

n°1356111
El Dje
Posté le 28-04-2006 à 16:27:35  profilanswer
 

pour la lectture des image, tu as une fonction de concaténation...
je n'ai pas d'exemple ici, mais va faire un tout dans l'aide de matlab.
 
"cat", ou qqch du genre...
elle te premet,n comme en C de grouper plusieur strings.
crée un stirng "dyn000", et un string "_sl001_M"
concatène le premier avec le nombre de ton identation de boucle (désolé pour la tournure, je suis crevé...); càd le "k" de ton exemple.
ensuite, concatène le résultat avec le deuxième string.
 
là, tu as déjà ton nom de fichier ^_^
 
pour lire le 7ème caractère de la deuxième ligne (je suppose que c'est ce que tu veux faire), je n'ai pas d'idée toute faite...
 
Je te conseille de faire un tour dans l'aide de matlab, rubrique "lecture de fichiers, et de voir les exmples...

n°1356152
hamoudasaf​ira
Posté le 28-04-2006 à 17:08:24  profilanswer
 

je te remercie beaucoup en fait j'ai essayé déjà comme tu m'as dis de faire 2 strings mais ça n'a pas marché  :fou: je te mais le programme j'espére que tu trouvera la solution mais franchement je deviens fou et j'ai besoin de l'aide puisque c'est mon stage qui joue et j'ai un prof boufon désoler pour ce suntex  
clear all
close all
a='dyn00';
for i=1:50;
    if i<10  
        a=str2num(a)+0+i;
    else
        a=str2num(a)+i;
        a=str2num(a)+'_sl001_M.raw'
fid = fopen('b','r');
[a count]= fread(fid, [128,128], 'int16');
end
end
imagesc(a)
colormap(gray)
 
et pour la boucle qui me faire lire la 2éme ligne j'ai essayé àa mias aussi pareil  
clear all
close all
fid = fopen('dyn0017_sl001_T.raw','r');
%count = fprintf(fid,'%+5.2d %6.2f %c \n',c)
c = fscanf(fid,'%c \n',[1 inf])
 
mes infos en Matlab ne sont pas assez fort donc si quelqu'un puisse m'aider  :??:

n°1356301
joneal
Posté le 28-04-2006 à 22:37:35  profilanswer
 

si je comprend bien (!!faut que tu fasses un effort sur tes posts...)
tu veux :
for i=1:50  
  nom_fichier = sprintf( 'dyn00%2d_sl001_T.raw', i);
  fid=fopen([ nom_fichier,'r')  
 
  ....
end
 
pour lire la deuxieme ligne caractere 7 :
eh bien il faut lire la premiere ligne cest a dire jusqu'au '\n' (saut de ligne) puis lire jusqu'au 7eme caractere  
line = fgets(fid);
if (line ~= -1), line = fgets(fid); end  
info = line[7];

n°1357594
hamoudasaf​ira
Posté le 02-05-2006 à 10:37:04  profilanswer
 

je te remercie  :love:  
je travail là dessus et j'espére que ca va marcher

n°1357649
hamoudasaf​ira
Posté le 02-05-2006 à 11:33:58  profilanswer
 

salut
alors j'ai fais un truc comme ça  
 
for k=10:50;    
  o=num2str(k)
    nom_fichier = sprintf( 'dyn00%1s_sl001_M.raw', o);  
  fid=fopen(nom_fichier,'r')  
[a count]= fread(fid, [128,128], 'int16');
figure, imagesc(a)
colormap(gray)
end
 
alors là j'arrive à lire de 10 jusqu'à 50 images et quand je mais %2d au lieu de %2s je pourrai lire seulement 3 images de 1-->3 ça me parrai bizard
 
et pour lire un fishier text mais '.raw' pour avoir la 2éme ligne 7 éme caractère ça me parrai difficile pour moi mais si j'essaie le C par example:
fscanf(fid, '%s %s \n %d%d%d%d%d%d%d) c'est pour qu'i lis les 2 lignes sautter au deuxième et pour qu'il lire la 7éme caractère est ce que ça va marcher comme ca.  
merci en avance, et pour vos aides  :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  aide en Matlab

 

Sujets relatifs
demande d'aide sur les commentairespasser des arguments de vb a matlab r2006a
besoin d'aide pour naviguation dans page HTMLA l'aide, mot de pass mysql perdu !
aide urgente voyage 200Aide compréhension de sujet prog. Classe "contrôle"
[Résolu] Un peu d'aide pour l'erreur 1064 de cette requêteAide sur la création d'une application
Aide au langage c++RADIO Demande d'aide en php/ et autre language
Plus de sujets relatifs à : aide en Matlab


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR