Нарисуйте прямоугольник на изображении в графическом интерфейсе при наведении мыши - PullRequest
0 голосов
/ 11 января 2019

Этот вопрос состоит из двух частей. Сначала я хочу нарисовать прямоугольник на изображении в графическом интерфейсе только тогда, когда мышь наведет курсор на изображение. Во-вторых, если пользователь щелкает изображение, нажатие должно выполнять набор операторов или функцию. Прямо сейчас я могу нарисовать прямоугольник на изображении только следующим образом:

function slider1_Callback(hObject, eventdata, handles)
% hObject    handle to slider1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% maxSliderValue = get(handles.slider1, 'Max')
% minSliderValue = get(handles.slider1, 'Min')
% theRange = maxSliderValue - minSliderValue
% steps = [1/theRange, 10/theRange]
% set(handles.slider1, 'SliderStep', steps);

set(handles.slider1, 'BackgroundColor',[1,1,1]);
set(handles.slider2, 'BackgroundColor',[.9,.9,.9]);
set(handles.slider1, 'Value', round(hObject.Value));

axes(handles.axes1)
matlabImage = imread('image.tif');
image(matlabImage)
axis image
axis off

[r,c,~]=size(Image);
rectangle('Position', [-2,-2,c+4,r+4],'EdgeColor','r');

Это под управлением ползунка, позже, когда я изменю ползунок, изображение на рисунке изменится, но я могу это сделать. Это не проблема.
Например, эта функция должна выполняться, когда пользователь щелкает изображение

call_when_user_clicked_image();

Спасибо за вашу поддержку.

Примечание: мышь при наведении курсора означает, что мышь на изображении, нарисуйте прямоугольник на изображении, мышь не на изображении, не прямоугольник.

enter image description here

...