imshow in GUI
20 views (last 30 days)
Show older comments
Hi,
I have two axes on my gui fig.
when i push a button i want to load two images for each axes. so i tried this.
% --- Executes on button press in Insert.
function pushbutton4_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton4 (see GCBO)
% Invoca duas fotos
% % FOTO 1
[filename,pathname] = uigetfile({'*.jpg';'*.tif';'*.*'}, 'Fotografia Direita');
fich1 = fullfile(pathname,filename);
%
% % FOTO 2
[filename,pathname] = uigetfile({'*.jpg';'*.tif';'*.*'}, 'Fotografia Esquerda');
fich2 = fullfile(pathname,filename);
if(exist(fich1) && exist(fich2))
D=imread(fich1);
E=imread(fich2);
imshow(D,'Parent',axes1);
imshow(E,'Parent',axes2);
end
guidata(hObject, handles);
How can i use this 'Parent' parameter, to make corresponding an image to an specific axes?
0 Comments
Accepted Answer
Image Analyst
on 3 Nov 2011
Perhaps you should try
imshow(D,'Parent', handles.axes1);
imshow(E,'Parent', handles.axes2);
Anytime you need to refer to any of the controls in your gui, you need to put "handles." before the name of the "tag."
3 Comments
Julio Vilela
on 26 Jul 2012
Superb! I've been googling this for so long, and here is the answer, thanks!!!
More Answers (1)
Jan
on 3 Nov 2011
imshow(D, 'Parent', axes1) looks fine already, but as far as I can see in your code, axes1 is not defined. Is it a field of the handles struct?
exist(fich1) is dangerous, because it checks all variables, Java classes, folders and files. Be sure to specify exist(fich1, 'file'). Even then it can be a directory also. To be really sure use:
if exist(fich1, 'file') && ~exist(fich1, 'dir')
I think, exist is not comfortable currently.
2 Comments
Jan
on 3 Nov 2011
The answer of Image Analyst shows, what I meant by "Is it [axes1] a field of the handles struct?".
See Also
Categories
Find more on Interactive Control and Callbacks 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!