В этом примере показано, как задать пользовательскую функцию ожидания, которая блокирует командную строку MATLAB ®, пока вы не закончите позиционирование прямоугольника.
Отобразите изображение.
imshow('pears.png')
Нарисуйте прямоугольник информация только для чтения в левом верхнем углу изображения.
h = drawrectangle('Position',[1 1 100 100]);
Используйте пользовательскую функцию ожидания, чтобы заблокировать командную строку MATLAB во время взаимодействия с прямоугольником. Этот пример задает функцию, вызываемую customWait
(определено в конце примера).
Пока командная строка заблокирована, измените размер и положение прямоугольника так, чтобы он охватывал одну грушу. Дважды кликните прямоугольник, чтобы возобновить выполнение customWait
функция. Функция возвращает окончательное положение прямоугольника.
pos = customWait(h)
pos = 1×4
262.0000 36.0000 144.0000 145.0000
Это пользовательская функция ожидания, которая блокирует выполнение программы при клике информация только для чтения. Когда вы закончили взаимодействие с информация только для чтения, функция возвращает положение информация только для чтения.
function pos = customWait(hROI) % Listen for mouse clicks on the ROI l = addlistener(hROI,'ROIClicked',@clickCallback); % Block program execution uiwait; % Remove listener delete(l); % Return the current position pos = hROI.Position; end
Функция обратного вызова нажатие кнопки возобновляет выполнение программы при двойном клике по информация только для чтения. Обратите внимание, что данные о событиях передаются в функцию обратного вызова как images.roi.ROIClickedEventData
объект, который позволяет вам задать функции обратного вызова, которые отвечают на различные типы действий. Например, вы можете задать функцию обратного вызова, чтобы возобновить выполнение программы, когда вы кликнете информация только для чтения при нажатии клавиши Shift или при клике определенной части информация только для чтения, такой как метка.
function clickCallback(~,evt) if strcmp(evt.SelectionType,'double') uiresume; end end
addlistener
| drawrectangle
| Rectangle
| uiresume
| uiwait