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