Save image from GUI to desktop/folder

8 views (last 30 days)
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 Comments
thuvo thi
thuvo thi on 16 Dec 2016
Excuse me, can I ask you one question? With DICOM image, how do you save it?
Stephen23
Stephen23 on 16 Dec 2016
" the data is changed."
That is what jpeg does. If you don't want that then use a lossless format.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 2 Dec 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 Comment
OJ27
OJ27 on 7 May 2018
Edited: OJ27 on 7 May 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.

Sign in to comment.

More Answers (0)

Categories

Find more on Medical Physics in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!