insert image in frame or panel?

Hi I am want to create a panel or frame on the MATLAB fig such that when the user selects an image by clicking on the open button the image should open in the space that is alloted by the pre-designed frame/panel.How do I do this?

Answers (2)

ph = uipanel(....)
pax = axis('Parent',ph);
Then to put the image up,
image(pax, ImageData)

1 Comment

this produces an axis over the panel which results in two white spaces on the figure. I want that the selected image should be displayed in the panel without showing axis!
I have pasted the code to open an image below!

Sign in to comment.

ph = uipanel('Title','Main Panel','FontSize',12,...
'BackgroundColor','white',...
'Position',[.25 .2 .67 .67]);
pax=axis('Parent',ph);
Then to put the image up,
image(pax,IMG)
[filename, pathname]=uigetfile( ...
{'*.jpg','JPEG File (*.jpg)'; ...
'*.*','Any Image file (*.*)'}, ...
'Pick an image file');
var=strcat(pathname,filename);
ORI_IMG=imread(var);
IMG=ORI_IMG;
% Showing the origional image
imshow(IMG);
title('original image');
end

4 Comments

Add 'Visible','off' to the axis() call.
Also, you should explicitly parent the imshow() against the axis you want it to show up in.
What does this line mean...."parent the imshow()"..I am new to Matlab.It would be great if you can please explain it through a code.Thanks!
imshow(IMG,'Parent',TheAxisHandleToDrawOn)

Sign in to comment.

Categories

Find more on Convert Image Type in Help Center and File Exchange

Tags

Asked:

on 29 Apr 2011

Community Treasure Hunt

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

Start Hunting!