imshow in GUI
13 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Image Analyst
2011-11-3
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 个评论
Julio Vilela
2012-7-26
Superb! I've been googling this for so long, and here is the answer, thanks!!!
更多回答(1 个)
Jan
2011-11-3
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 个评论
Jan
2011-11-3
The answer of Image Analyst shows, what I meant by "Is it [axes1] a field of the handles struct?".
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!