setPositionConstraintFcn

Установите ограничительную функцию положения объекта ROI

setPositionConstraintFcn не рекомендуется. Используйте один из классов ROI, вместо этого, описанных в Обзоре Создания ROI.

Синтаксис

setPositionConstraintFcn(h,fcn)

Описание

пример

setPositionConstraintFcn(h,fcn) устанавливает ограничительную функцию положения объекта ROI h быть заданным указателем на функцию, fcn. Каждый раз, когда объект перемещен из-за мыши, перетаскивают, ограничительная функция вызвана с помощью синтаксиса:

constrained_position = fcn(pos)

Примеры

Обновите Заголовок когда Прямоугольные Перемещения

Отобразите прямоугольный ROI по изображению. Отобразите положение прямоугольника в заголовке. Заголовок обновляет, когда вы перемещаете прямоугольник. Попытайтесь перетащить одну сторону прямоугольника вне контура изображения.

imshow('cameraman.tif')
h = imrect(gca,[10 10 100 100]);
addNewPositionCallback(h,@(p) title(mat2str(p,3)));

Задайте ограничительную функцию положения использование makeConstrainToRectFcn, чтобы сохранить прямоугольник в исходном XLim и областях значений YLim.

fcn = makeConstrainToRectFcn('imrect',get(gca,'XLim'),get(gca,'YLim'));
setPositionConstraintFcn(h,fcn);

Теперь перетащите прямоугольник с помощью мыши. Заметьте, что прямоугольник больше не может расширять мимо границы изображения.

Входные параметры

свернуть все

Объект ROI, заданный как imellipse, imline, impoint, impoly или объект imrect.

Указатель на функцию, заданный как указатель. Можно использовать makeConstrainToRectFcn, чтобы создать эту функцию. Функция должна принять числовой массив как вход, и это должно возвратить числовой массив, как выведено. Оба массива должны иметь ту же форму, как возвращено при вызове getPosition на объекте. Для получения дополнительной информации см. Создание указателя на функцию (MATLAB).

Введенный в R2008a