I want to put a slider in GUI to zoom into my image with certain center
古いコメントを表示
Hi. I have written a GUI without using GUIDE. I have an image (in Image matrix) with 2 pushbuttons in it. I have several points (in point matrix) that I want to ask the user to choose the proper type of that point. I have two questions.
1. specifying the point by a marker in the image, I want a slider so that the user can zoom into the picture with that point in the center of the picture.
2. after pushing the pushbutton, I want the marker to go to the next point and ask the user about the new point. Obviously, I need a for loop to change the points, but I am not sure where to use it, in my main script or in the gui script.
I read the image from my workspace, and I have the coordinates of the point that I want to zoom into.
function myGui
% create the figure
Fig = figure('Position',[0 0 1200 800],'Visible','off');
movegui(Fig,'center');
set(Fig,'Tag','screen','HandleVisibility','on','Visible','on');
%read image and point from workspace:
trueImage= axes('Units','Pixel','Position', [20 70 900 750]);
Image=evalin('base','trueImage');
point=evalin('base',point);
imshow(Image);
hold on;
plot(point(1,1),point(1,2),'c.','MarkerSize',10); %specifying the marker to the point I want
% create the buttons
falsePositive_handle = uicontrol(Fig,'Style','pushbutton','String','False Positive',...
'Position',[950 700 200 60], 'Callback', @falsePositive_Callback);
falseNegative_handle = uicontrol(Fig,'Style','pushbutton','String','False Negative',...
'Position',[950 600 200 60], 'Callback', @falseNegative_Callback);
zoomingSlider = uicontrol(Fig,'Style','slider','Min', 0, 'Max', 400,...
'Value', 0, 'Units', 'Pixel', 'Position', [20 75 200 20],...
'Callback', zoomingSlider_Callback);
end
function falsePositive_Callback(hObject, eventdata)
label=1;
assignin('base','label',label);
end
5 件のコメント
Geoff Hayes
2016 年 5 月 15 日
Jahandar - which function or algorithm are you using to zoom in or out of the image? By moving the slider to the right, does that mean that you zoom in with some factor?
Also, please explain these two lines of code
trueImage= axes('Units','Pixel','Position', [20 70 900 750]);
Image=evalin('base','trueImage');
Your trueImage is a handle to the axes that you just created, but then you evaluate it in the workspace? Or do you have an image already defined in the workspace with the same variable name of trueImage? Please clarify.
Image Analyst
2016 年 5 月 15 日
Perhaps he's talking about deprecated function truesize http://www.mathworks.com/help/images/ref/truesize.html?s_tid=srchtitle
Jahandar Jahanipour
2016 年 5 月 15 日
Image Analyst
2016 年 5 月 15 日
Did you even try my answer/demo below?
Jahandar Jahanipour
2016 年 5 月 16 日
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Data Exploration についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!