Sauver fichier selecte dans repertoire matlab

Fermé
mihaispr Messages postés 4 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 15 juin 2009 - 31 mars 2009 à 15:04
safojava Messages postés 6 Date d'inscription vendredi 22 janvier 2010 Statut Membre Dernière intervention 22 janvier 2010 - 22 janv. 2010 à 21:23
Bonjour,

J'ai une petite probleme en matlab en utilisant les fonctions uiputfile et copyfile

J'ai un repertoire C:\Matlab\work\Images


Bon. Donc j'ai sur ma forme un seul button quand j'appuie sur lui je dois faire la selection d'un fichier image.

Quand j'appuie save il ne sauve pas mon fichier dans mon repertire C:\Matlab\work\Images.


function_pushbutton1_callback


%la seule probleme dans mon code c'est quand je presse save button d'open dialogue il ne sauve pas mon fichier selecte dans le dossier C:\Matlab71\work\images

[filename, pathname] = uiputfile(...
{'*.jpg' ;'*.bmp ';'*.tif';'*.gif'},...
'Save as'); %fenetre de dialogue pour la selection d'un fichier image

f=fullfile(pathname,filename);

if ~ischar(Image) %si l'utilisateur appuye cancel button afficher message d'erreur OK marche
errordlg('Eroare!','Nici un fisier selectat!'); %on cancel press
return;
end

if exist(fullfile(pathname,filename),'file') &condition si le fichier existe dans le repertoire C:\Matlab71\work\images works fine
errordlg('Fisierul exista deja in director','Eroare!'); %s'il existe affiche message d'erreur
return
end
imwrite(img,f); %ecrit le fichier image selectee dans la variable f

P.S J'essaye aussi avec la fonction copyfile :


copyfile(fullfile(filename,pathname));

Mais il ne marche pas.

J'attend une solution s'il vous plait.
A voir également:

2 réponses

safojava Messages postés 6 Date d'inscription vendredi 22 janvier 2010 Statut Membre Dernière intervention 22 janvier 2010 2
22 janv. 2010 à 21:23
pour savegarder image en matlab et bon courage
pathname=h.image_pathname;
[filename, pathname] = uiputfile('*.*', 'Save Transformed Image');
if filename~=0
try_again=find(filename==dot);
if ~isempty(try_again)
image_ex=filename(try_again+1:end);
valid_ex=['BMP'; 'TIF'; 'JPG'; 'PCX'; 'PNG'; 'HDF'; 'XWD'; 'RAS'; 'PBM'; 'PGM'; 'PPM'; 'PNM';];
p=['\<' image_ex '\>'];
g=regexpi(valid_ex,p); % Match Exact extension, ignoring case.
b=cell2mat(g); % Convert cell to matrix
if b~=0 & length(image_ex)==3
CMap=colormap(h.axes1);
h.savedimage_filename=filename;
h.savedimage_pathname=pathname;
imwrite(h.image_2,CMap,[pathname filename]);
savedto=['Image Saved to: ' pathname filename];
set(h.message_text,'String',savedto);
else
set(h.message_text,'String','Invalid file extension: Image NOT saved, use one of these extensions, BMP TIF JPG PCX PNG HDF XWD RAS PBM PGM PPM PNM');
end
else
set(h.message_text,'String','Empty file extension: Image NOT saved, use one of these extensions, BMP TIF JPG PCX PNG HDF XWD RAS PBM PGM PPM PNM');
end
2
mihaispr Messages postés 4 Date d'inscription mardi 31 mars 2009 Statut Membre Dernière intervention 15 juin 2009
31 mars 2009 à 15:06
L'erreur c'est qu'il apparait une boite de dialogue en me disant:

Le fichier existe deja. Vous voulez le remplacer?:O

Pourquoi ca?

J'ai selecte un fichier qui est a l'exterieur du repertoire?

Ou j'ai fait erreur dans la fonction ifexist(je dois mettre la condition s'il existe seulement dans mon repertoire)?

J'espere que j'ai donne suffisament details!

Merci d'avance a tous!


Une journee magnifique!
0