when i push a button i want to load image on axes in GUI. so i tried this.
1 view (last 30 days)
Show older comments
misbah 0332
on 20 Feb 2016
Commented: misbah 0332
on 21 Feb 2016
function pushbutton2_Callback(hObject, eventdata, handles)
k=zeros(100,99);
z=imshow(k);
imshow(z, 'Parent', handles.axes1);
*also tried this
function pushbutton2_Callback(hObject, eventdata, handles)
k=zeros(100,99);
imshow(k, 'Parent', handles.axes1);
but still nothing appears on axes1
0 Comments
Accepted Answer
Image Analyst
on 21 Feb 2016
The problem is you were calling imshow to display the image, but then immediately after that you display only the handle ID, which is a single value. Don't do that.
Just do this:
imshow(k, 'Parent', handles.axes1);
Don't call imshow() twice.
2 Comments
Image Analyst
on 21 Feb 2016
Doing this
k=zeros(100,99);
imshow(k, 'Parent', handles.axes1);
will display a black rectangle. Is that what you were expecting?
More Answers (1)
Stalin Samuel
on 20 Feb 2016
Refer the example file attached
4 Comments
Walter Roberson
on 20 Feb 2016
Edited: Walter Roberson
on 20 Feb 2016
The "function [] = callme(varargin)" is that code. However, it really should be passed S.ax so it can know where to display.
function [] = GUI()
SCR = get(0,'Screensize'); % Get screensize.
S.fh = figure();
S.ax = axes('units','pixels',...
'position',[50 100 300 230]);
S.tg(1) = uicontrol('style','toggle',...
'units','pixels',...
'position',[5 355 60 40],...
'string','click here',...
'val',1,'callback',{@callme, S.ax});
function [] = callme(src, event, ax)
k = rand(100,99);
imshow(k, 'Parent', ax);
See Also
Categories
Find more on Model, Block, and Port 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!