Создайте перемещаемый, полигон изменяемого размера
impoly
не рекомендуется. Используйте drawpolygon
вместо этого.
Объект impoly
инкапсулирует интерактивный полигон по изображению.
Можно добавить вершины и настроить размер и положение полигона при помощи мыши. Полигон также имеет контекстное меню, которое управляет аспектами его внешнего вида и поведения. Для получения дополнительной информации смотрите Использование.
h = impoly
h = impoly(hparent)
h = impoly(hparent,position)
h = impoly(___,Name,Value)
h = impoly
начинает интерактивное размещение полигона на текущей системе координат и возвращает объект impoly
.
h = impoly(
начинает интерактивное размещение полигона на объекте, заданном hparent
)hparent
.
h = impoly(___,
задает пары "имя-значение", которые управляют поведением полигона.Name,Value
)
Когда вы вызываете impoly
с интерактивным синтаксисом, указатель изменяется на крест нитей когда по изображению. Перетащите мышь, чтобы задать вершины полигона и настроить размер, форму и положение полигона. По умолчанию impoly
проводит прямую линию, соединяющую последнюю точку, которую вы чертили с первой точкой, но можно управлять этим поведением с помощью параметра Closed
.
Полигон также поддерживает контекстное меню, которое можно использовать, чтобы управлять аспектами его внешнего вида и поведения. Выбор в контекстном меню отличается, располагаете ли вы указатель на ребро полигона (или где-нибудь в области) или на одной из вершин. Данные показывают контекстное меню, когда указатель находится на полигоне, но не на вершине.
Таблица приводит интерактивные поведения, поддержанные impoly
.
Интерактивное поведение | Описание |
---|---|
Закрытие полигона. |
Используйте любой из следующих механизмов:
|
Добавление новой вершины. | Переместите указатель через ребро полигона. Нажмите и удержите клавишу A. Форма изменений указателя. Щелкните левой кнопкой мыши, чтобы создать новую вершину в той позиции по строке. |
Перемещение вершины. (Изменение полигона.) | Переместите указатель через вершину. Указатель изменяется на круг. Перетащите вершину к ее новой позиции. |
Удаление вершины. | Переместите указатель через вершину. Форма изменяется на круг. Щелкните правой кнопкой и выберите Delete Vertex из контекстного меню вершины. Это действие удаляет вершину и настраивает форму полигона, проводя новую прямую линию между двумя вершинами, которые были соседями удаленной вершины. |
Удаление полигона | Переместите указатель в полигоне или на одной из строк, которые задают полигон, не на вершине. Щелкните правой кнопкой и выберите Delete из контекстного меню. Чтобы удалить эту опцию из контекстного меню, установите свойство Deletable на ложь: h = impoly(); h.Deletable = false; |
Перемещение полигона. | Переместите указатель в полигоне. Указатель изменяется на форму fleur. Перетащите мышь, чтобы переместить полигон. |
Изменение цвета полигона | Переместите указатель в полигоне. Щелкните правой кнопкой и выберите Set Color из контекстного меню. |
Получение координат вершин | Переместите указатель в полигоне. Щелкните правой кнопкой и выберите Copy Position из контекстного меню. impoly копирует n-by-2 массив, содержащий x - и y - координаты каждой вершины к буферу обмена. n является количеством вершин, которые вы задали. |
Каждый impoly
поддержка объектов много методов. Введите methods impoly
, чтобы видеть полный список.
addNewPositionCallback | Добавьте ново-позиционный коллбэк в объект ROI |
createMask | Создайте маску в изображении |
delete | Удалите объект указателя |
getColor | Доберитесь цвет раньше чертил объект ROI |
getPosition | Возвратите текущее положение объекта ROI |
getPositionConstraintFcn | Возвратите указатель на функцию в ограничительную функцию текущего положения |
removeNewPositionCallback | Удалите ново-позиционный коллбэк из объекта ROI |
resume | (Не рекомендуемый) выполнение Резюме командной строки MATLAB |
setClosed | Установите поведение закрытия объекта ROI |
setColor | Выберите цвет, используемый, чтобы чертить объект ROI |
setConstrainedPosition | Установите объект ROI на новое положение |
setPosition | Переместите объект ROI в новое положение |
setPositionConstraintFcn | Установите ограничительную функцию положения объекта ROI |
setVerticesDraggable | Установите поведение вершины объекта ROI |
wait | (Не рекомендуемый), командная строка MATLAB Блока, пока создание ROI не закончено |
Если вы используете impoly
с оси, который содержит объект изображения, и не задавайте ограничительную функцию положения, пользователи могут перетащить полигон вне степени изображения и потерять полигон. Когда используется с оси, созданные функцией plot
, пределы осей автоматически, расширяются, когда полигон перетаскивается вне степени осей.
imellipse
| imfreehand
| imline
| impoint
| imrect
| imroi
| makeConstrainToRectFcn