Установите ограничительную функцию положения объекта ROI
setPositionConstraintFcn
не рекомендуется. Используйте один из классов ROI, вместо этого, описанных в Обзоре Создания ROI.
setPositionConstraintFcn(h,fcn)
Отобразите прямоугольный 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);
Теперь перетащите прямоугольник с помощью мыши. Заметьте, что прямоугольник больше не может расширять мимо границы изображения.
addNewPositionCallback
| getPosition
| getPositionConstraintFcn
| imroi
| makeConstrainToRectFcn
| setConstrainedPosition