(Не рекомендуемый), Создают перемещаемую область от руки
imfreehand
не рекомендуется. Используйте новый Freehand
Объект ROI вместо этого. Можно также использовать новую функцию удобства создания ROI drawfreehand
. Другой опцией является AssistedFreehand
объект, который позволяет вам нарисовать от руки форму, которая автоматически следует за ребрами в основном изображении. Для получения дополнительной информации см. Вопросы совместимости.
imfreehand
объект инкапсулирует интерактивную область от руки по изображению.
Можно добавить вершины и настроить размер и положение многоугольника при помощи мыши. Многоугольник также имеет контекстное меню, которое управляет аспектами его внешнего вида и поведения. Для получения дополнительной информации смотрите Использование.
h = imfreehand
начинает интерактивное размещение области от руки на текущей системе координат и возвращает imfreehand
объект.
h = imfreehand(
начинает интерактивное размещение области от руки на объекте, заданном hparent
)hparent
.
h = imfreehand(___,
задает пары "имя-значение", которые управляют поведением области от руки.Name,Value
)
Когда вы вызываете imfreehand
с интерактивным синтаксисом указатель превращается на крест нитей, когда расположено над изображением. Перетащите мышь, чтобы чертить область от руки и отрегулировать положение области. По умолчанию, imfreehand
проводит прямую линию, соединяющую последнюю точку, которую вы чертили с первой точкой, но можно управлять этим поведением с помощью Closed
параметр.
Область от руки также поддерживает контекстное меню, которое можно использовать, чтобы управлять аспектами его внешнего вида и поведения.
Таблица приводит интерактивные функции, поддержанные imfreehand
.
Интерактивное поведение | Описание |
---|---|
Перемещение области. | Переместите указатель в области от руки. Указатель превращается в форму fleur. Кликните и удержите левую кнопку мыши, чтобы переместить область. |
Изменение цвета раньше чертило область. | Переместите указатель в области от руки. Щелкните правой кнопкой и выберите Set Color из контекстного меню. |
Получение текущего положения области от руки. | Переместите указатель в области от руки. Щелкните правой кнопкой и выберите Copy Position из контекстного меню. imfreehand копирует n-by-2 массив координат на контуре ROI к буферу обмена. |
Удаление области | Переместите указатель в области. Щелкните правой кнопкой и выберите Delete из контекстного меню. Чтобы удалить эту опцию из контекстного меню, установите Deletable свойство ко лжи: h = imfreehand(); h.Deletable = false; |
Каждый imfreehand
поддержка объектов много методов. Введите methods imfreehand
видеть полный список.
addNewPositionCallback | Добавьте ново-позиционный коллбэк в объект ROI |
createMask | Создайте маску в изображении |
delete | Удалите объект указателя |
getColor | Доберитесь цвет раньше чертил объект ROI |
getPosition | Возвратите текущее положение объекта ROI |
getPositionConstraintFcn | Возвратите указатель на функцию в ограничительную функцию текущего положения |
removeNewPositionCallback | Удалите ново-позиционный коллбэк из объекта ROI |
resume | (Не рекомендуемый) выполнение Резюме командной строки MATLAB |
setClosed | Установите поведение закрытия объекта ROI |
setColor | Выберите цвет, используемый, чтобы чертить объект ROI |
setConstrainedPosition | Установите объект ROI на новое положение |
setPositionConstraintFcn | Установите ограничительную функцию положения объекта ROI |
wait | (Не рекомендуемый), командная строка MATLAB Блока, пока создание ROI не закончено |
В интерактивном режиме поместите закрытую необходимую область от руки путем перетаскивания по изображению.
imshow('pout.tif')
h = imfreehand;
В интерактивном режиме переместите область от руки путем перетаскивания. Используйте wait
функционируйте, чтобы блокировать командную строку MATLAB®. Дважды кликните на области от руки, чтобы возобновить выполнение командной строки MATLAB.
position = wait(h);
Если вы используете imfreehand
с оси, который содержит объект изображения и не задает ограничительную функцию положения, пользователи, могут перетащить область от руки вне степени изображения и потерять область от руки. Когда используется с оси создаются plot
функция, пределы осей автоматически расширяются, чтобы вместить перемещение области от руки.
Чтобы отменить интерактивное размещение, нажмите клавишу ESC. imfreehand
возвращает пустой объект.