(Не рекомендуемый) Создать перетаскиваемую, изменяемую по размеру линию
imline не рекомендуется. Используйте новую Line Вместо этого объект информация только для чтения. Можно также использовать функцию удобства создания информация только для чтения drawline. Для получения дополнительной информации см. раздел Вопросов совместимости.
Система координат imline объект инкапсулирует интерактивную линию поверх изображения.
Размер и положение линии можно настроить при помощи мыши. У линия также есть контекстное меню, которое управляет аспектами его внешнего вида и поведения. Для получения дополнительной информации см. раздел Использование.
h = imline начинает интерактивное размещение линии на текущей системе координат и возвращает imline объект.
h = imline( начинает интерактивное размещение линии на объекте, заданном hparent)hparent.
h = imline(___, задает пары "имя-значение", которые управляют поведением линии.Name,Value)
Когда вы звоните 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 для создания интерактивной линии с текстовым полем, в котором отображается расстояние между конечными точками линии.
drawline | imdistline | Line