imline

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

imline не рекомендуется. Используйте новую Line Вместо этого объект информация только для чтения. Можно также использовать функцию удобства создания информация только для чтения drawline. Для получения дополнительной информации см. раздел Вопросов совместимости.

Описание

Система координат imline объект инкапсулирует интерактивную линию поверх изображения.

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

Создание

Описание

пример

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

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

пример

h = imline(hparent,position) создает перетаскиваемую, изменяемую по размеру линию с координатами, заданными position.

h = imline(hparent,x,y) создает перетаскиваемую, изменяемую по размеру линию с x - и y - координатами конечных точек, заданными как x и y.

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

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

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

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

Положение конечных точек линии, заданное как массив 2 на 2 вида [x1 y1; x2 y2].

x -координаты конечных точек линии, заданные как 2-элементный вектор формы x = [x1 x2].

y -координаты конечных точек линии, заданные как 2-элементный вектор формы y = [y1 y2].

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

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

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

Свойства

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

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

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

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

Когда вы звоните imline с интерактивным синтаксисом, указатель изменяется на перекрестие при наведении изображения. Щелкните мышью и перетащите мышь, чтобы указать положение и длину линии. Линия поддерживает контекстное меню, которое можно использовать для управления аспектами ее внешнего вида и поведения.

Таблица описывает интерактивное поведение, поддерживаемое imline.

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

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

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

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

Примеры

Обновление заголовка при перемещении линии

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

imshow('pout.tif')
h = imline(gca,[10 100],[100 100]);
setColor(h,[0 1 0]);
id = addNewPositionCallback(h,@(pos) title(mat2str(pos,3)));

После наблюдения поведения коллбэка удалите коллбэк с помощью removeNewPositionCallback функция.

removeNewPositionCallback(h,id);

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

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

imshow('pout.tif')
h = imline;
position = wait(h);

Совет

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

  • Использование imdistline для создания интерактивной линии с текстовым полем, в котором отображается расстояние между конечными точками линии.

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

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

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

Представлено до R2006a