How to access zoomed image on axes GUI

13 次查看(过去 30 天)
I was working on some application in matlab guide. I'm using toolbar in my GUI with inbuilt zoom in and zoom out features that it provides. So what I have done is that I have loaded an image on an axis. And now after zooming it, I want the access the zoomed image, not the entire image. I have tried getimage(), but what it does is that it gives me the entire image loaded on the axis. Someone please help me out.

采纳的回答

Image Analyst
Image Analyst 2014-7-27
In the other post I told you to use getframe() and gave you code. Here is the demo again.
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?
Your post is ambiguous. On the one hand you say you want to capture only the zoomed portion, yet on the other hand you say you want "the entire image loaded on the axis" which would include the entire image even the parts that were zoomed out of the display window and not visible. Of course you already have the entire image - you sent it into the axes with imshow(), though what's displayed may be different if you added text, lines, or other annotation. Please clarify exactly what you want because it's not clear to me.
  7 个评论
Image Analyst
Image Analyst 2014-7-28
That's not how you do ROI processing. You don't just zoom and expect to process the visible area. You need to crop it out with imcrop, or use imrect() or rbbox() or some other way to indicate what the ROI is.
Naman Bansal
Naman Bansal 2014-7-30
Hey I understood what you are saying. So now let me reformulate my problem. So I have two images loaded in two axis. Now what I want is to allow the user to zoom in both of them as he wants (I'll have to link those axis). Then he'll be selecting a ROI(rectangle) in one of them.(I want the same operation to be performed on the two ROI's selected from two images loaded in two axis). So what my problem is I have no idea now where to start, what functions to use. I tried the method that I was asking you earlier but that's of no use. So can you just help me get started. It will be a great help.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Migrate GUIDE Apps 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by