So I am trying to save an image from my GUI in a folder when I press pushbutton embeddimage.
toBeSavedm which is the same image from earlier, originalRounded, is the picture I want to save and it is in workspace.
I am trying to use the uiputfile and imwrite functions, but somehow the image that is saved in my folder is different, the data is changed.
toBeSaved=handles.originalRounded;
assignin('base','toBeSaved',toBeSaved);
[fileName, filePath]=uiputfile('*.jpg*', 'Save toBeSaved as');
fileName = fullfile(filePath, fileName);
imwrite(toBeSaved, 'fileName', 'jpg');
guidata(hObject, handles);
or is there any other way to save an image from GUI to my folder?

2 commentaires

thuvo thi
thuvo thi le 16 Déc 2016
Excuse me, can I ask you one question? With DICOM image, how do you save it?
Stephen23
Stephen23 le 16 Déc 2016
" the data is changed."
That is what jpeg does. If you don't want that then use a lossless format.

Connectez-vous pour commenter.

 Réponse acceptée

Walter Roberson
Walter Roberson le 2 Déc 2015
imwrite(toBeSaved, fileName, 'jpg');
No quotes around fileName
You need to expect that data will be changed when you use JPEG, unless you specifically request lossless storage. JPEG is a format for "scenes" and does not preserve sharp lines well and is permitted to change saved values.

1 commentaire

OJ27
OJ27 le 7 Mai 2018
Modifié(e) : OJ27 le 7 Mai 2018
what if I want to use the image content that appears in one of the figures in the GUI but it is not in the workspace? I want to show the image content of one of the handles. I can't use a global variable but I thought I would "grab" the current content and then display it in another figure.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by