How to get image from axes in GUI matlab
5 次查看(过去 30 天)
显示 更早的评论
Hello I have a question .. I load an image in axes in Matlab GUI , and I want to re-read this image in a variable and use this variable in other function .. What is the function which helps me on it . Thank you
1 个评论
saeed rehman
2016-12-14
编辑:saeed rehman
2016-12-14
store loaded image in a variable and Use setappdata and getappdata .
axes(handles.axes2);
image(a);
setappdata(0,'image',a);
%%%
now get this image and load it in anyother axes or whatever u want.
im=getappdata(0,'image');
axes(handles.axes3);
image(im);
回答(2 个)
Mahdi
2014-5-23
1 个评论
Naman Bansal
2014-7-27
This is fine but the problem I'm facing is to get the image after zooming i.e. I firstly loaded the image on axes and then performed the zoom operation. Now I only want the zoomed portion of the image. How can I do that.
Image Analyst
2014-5-23
Try using getframe(). Or get(hAxes, 'CData');
2 个评论
Naman Bansal
2014-7-27
This is fine but the problem I'm facing is to get the image after zooming i.e. I firstly loaded the image on axes and then performed the zoom operation. Now I only want the zoomed portion of the image. How can I do that.
Image Analyst
2014-7-27
Naman, just like I told you. Look at this code:
close all;
im=imread('cameraman.tif');
subplot(1,2,1);
imshow(im);
subplot(1,2,2);
imshow(im);
size(im)
zoom(8);
zoomedImage = getframe(); % Get zoomed portion that is visible.
size(zoomedImage.cdata)
figure; % Bring up separate figure.
imshow(zoomedImage.cdata);
Do you see how in the second figure it is only the zoomed, visible portion of the image from figure 1 that was captured and is being displayed? From your post it sounds like you tried getframe() and it did not work for you for some reason. To fix it I'd have to see your code.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Lighting, Transparency, and Shading 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!