Save image from GUI to desktop/folder
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
Stephen23
2016-12-16
" the data is changed."
That is what jpeg does. If you don't want that then use a lossless format.
采纳的回答
Walter Roberson
2015-12-2
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 个评论
OJ27
2018-5-7
编辑:OJ27
2018-5-7
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Convert Image Type 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!