Установите ограничительную функцию положения объекта 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