imfreehand

(Не рекомендуемый) Создать перетаскиваемую область freehand

imfreehand не рекомендуется. Используйте новую Freehand Вместо этого объект информация только для чтения. Можно также использовать новую функцию удобства создания информация только для чтения drawfreehand. Другая опция является AssistedFreehand объект, который позволяет вам нарисовать вручную форму, которая автоматически следует за ребрами на базовом изображении. Для получения дополнительной информации см. раздел Вопросов совместимости.

Описание

Система координат imfreehand объект инкапсулирует интерактивную область freehand над изображением.

Можно добавить вершины и настроить размер и положение многоугольника при помощи мыши. Многоугольник также имеет контекстное меню, которое управляет аспектами его внешнего вида и поведения. Для получения дополнительной информации см. раздел Использование.

Создание

Описание

пример

h = imfreehand начинает интерактивное размещение области freehand на текущей системе координат и возвращает imfreehand объект.

h = imfreehand(hparent) начинает интерактивное размещение области freehand на объекте, заданном hparent.

h = imfreehand(___,Name,Value) задает пары "имя-значение", которые управляют поведением области freehand.

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

расширить все

Указатель на родительский объект, заданный как указатель. Родительским элементом обычно является объект осей, но может также быть любой другой объект, который может быть родительским элементом an hggroup объект.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Функция ограничения положения, заданная как разделенная разделенными запятой парами, состоящая из 'PositionConstraintFcn' и указатель на функцию. fcn вызывается каждый раз, когда мышь перетаскивается. Можно использовать эту функцию для управления, куда можно перетащить область freehand. Смотрите справку для setPositionConstraintFcn для получения информации о действительных указателях на функцию.

Область Freehand закрыта, задается как разделенная разделенными запятой парами, состоящая из 'Closed' и true или false. Когда установлено значение true (по умолчанию), imfreehand рисует прямую линию, чтобы соединить конечные точки линии freehand, чтобы создать замкнутую область. Если установлено значение false, imfreehand оставляет область открытой.

Типы данных: logical

Свойства

расширить все

Информация только для чтения можно удалить, задав как true или false.

Типы данных: logical

Использование

Когда вы звоните imfreehand с интерактивным синтаксисом, указатель изменяется на перекрестие при расположении над изображением. Щелкните мышью и перетащите мышь, чтобы нарисовать область freehand и настроить положение области. По умолчанию imfreehand рисует прямую линию, соединяющую последнюю точку, которую вы нарисовали с первой точкой, но можно управлять этим поведением с помощью Closed параметр.

Область freehand также поддерживает контекстное меню, которое можно использовать для управления аспектами ее внешнего вида и поведения.

В таблице перечислены интерактивные функции, поддерживаемые imfreehand.

Интерактивное поведениеОписание
Перемещение области.Переместите указатель мыши внутрь области freehand. Указатель изменяется на гибкую форму. Нажмите и удерживайте левую кнопку мыши, чтобы переместить область.
Изменение цвета, используемого для рисования области. Переместите указатель мыши внутрь области freehand. Щелкните правой кнопкой мыши и выберите Set Color из контекстного меню.
Получение текущего положения области freehand. Переместите указатель мыши внутрь области freehand. Щелкните правой кнопкой мыши и выберите Copy Position из контекстного меню. imfreehand копирует n -by-2 массив координат на контуре информация только для чтения в буфер обмена .
Удаление областиПереместите указатель внутрь области. Щелкните правой кнопкой мыши и выберите Delete из контекстного меню. Чтобы удалить эту опцию из контекстного меню, установите Deletable свойство false: h = imfreehand(); h.Deletable = false;

Функции объекта

Каждый imfreehand объект поддерживает несколько методов. Тип methods imfreehand чтобы увидеть полный список.

addNewPositionCallbackДобавьте коллбэк с новой позицией к объекту информация только для чтения
createMaskСоздайте маску в изображении
deleteУдалить указатель объекта
getColorПолучите цвет, используемый для рисования объекта информация только для чтения
getPositionВозврат текущей позиции объекта информация только для чтения
getPositionConstraintFcnВозвращает указатель на функцию ограничения текущего положения
removeNewPositionCallbackУдалите коллбэк с новой позицией из объекта информация только для чтения
resume(Не рекомендуемый) Возобновить выполнение командной строки MATLAB
setClosedУстановите поведение замыкания информации только для чтения объекта
setColorУстановите цвет, используемый для рисования объекта информация только для чтения
setConstrainedPositionУстановите объект информация только для чтения в новое положение
setPositionConstraintFcnУстановите функцию ограничения положения объекта информация только для чтения
wait(Не рекомендуемый) Блокируйте командную строку MATLAB до завершения создания информация только для чтения

Примеры

Щелкните и перетащите мышью, чтобы разместить область Freehand

В интерактивном режиме разместите закрытую необходимую область freehand, нажав и перетащив изображение.

imshow('pout.tif')
h = imfreehand;   

В интерактивном режиме перемещайте область freehand нажатием и перетаскиванием мыши. Используйте wait функция для блокировки MATLAB® командная строка. Дважды кликните область freehand, чтобы возобновить выполнение командной строки MATLAB.

position = wait(h); 

Совет

  • Если вы используете imfreehand с помощью оси, которая содержит объект изображения и не задает функцию ограничения положения, пользователи могут перетащить область freehand вне области изображения и потерять область freehand. При использовании с осями, созданными plot функция, пределы осей автоматически расширяются, чтобы соответствовать перемещению области freehand.

  • Для отмены интерактивного размещения нажмите клавишу Esc. imfreehand возвращает пустой объект.

Вопросы совместимости

расширить все

Не рекомендуемый запуск в R2018b

Введенный в R2007b