(Не рекомендуемый) Создать перетаскиваемую, изменяемую по размеру линию
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