exponenta event banner

действующий

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

imline не рекомендуется. Использовать новый Line Вместо этого объект ROI. Также можно использовать функцию удобства создания ROI 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) задает пары «имя-значение», которые управляют поведением линии.

Входные аргументы

развернуть все

Дескриптор родительского объекта, указанный как дескриптор. Родительский объект обычно является объектом оси, но также может быть любым другим объектом, который может быть родительским для 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 для получения информации о допустимых дескрипторах функций.

Свойства

развернуть все

ROI может быть удален, указан как true или false.

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

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

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

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

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

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

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

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

Примеры

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

Для отображения линии используется пользовательский цвет. Использовать 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