Salut,
j'ai écrit la fonction suivante pour pouvoir choisir une image à partir d'une boite de dialogue:
j'ai refait la même fonction pour cette fois ci lire des images de format analyze .img en remplaçant imread par analyze75read:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 function im1=lirimage; [filename, pathname,Bool] = uigetfile( ... {'*.jpg;*.gif;*.tif;*.pgm;*.bmp', 'All images Files (*.jpg, *.gif, *.tif, *.bmp)'}, ... 'Pick a file'); if Bool [im1]=imread([pathname '\' filename]); end
Si je choisit une image dans le répertoire courant la fonction marche, mais si je vais chercher mon image dans un autre sous dossier, j'ai un message d'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function vol=readimage; display 'lecture' [filename,pathname,Bool] = uigetfile( ... {'*.hdr;*.img;', 'All images Files (*.hdr,*.img)'}, ... 'Choisissez un fichier'); if Bool vol=analyze75read(fullfile(pathname,filename)); end
Pourtant le fichier .hdr se trouve toujours avec le fichier .img, d'ailleurs si je change le répertoire courant avant d'appeler la fonction ça marche.
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 ??? Error using ==> medformats\private\isanalyze75>hdrFileOpen File "t1_icbm_normal_1mm_pn0_rf20.hdr" does not exist. Error in ==> medformats\private\isanalyze75 at 32 fid = hdrFileOpen (filename, openMode); Error in ==> analyze75info>parseInputs at 487 if ~isanalyze75(filename) Error in ==> analyze75info at 141 [args, userSupplied] = parseInputs(filename, varargin{:}); Error in ==> analyze75read>parseInputs at 83 metadata = analyze75info(FirstArg); Error in ==> analyze75read at 58 [metadata, ImgFilename, userSupplied] = parseInputs(varargin{:}); Error in ==> readimage at 8 vol=analyze75read(fullfile(pathname,filename));
Partager