Создайте перемещаемую, линию изменяемого размера
imline
не рекомендуется. Используйте новый Line
Объект ROI вместо этого. Можно также использовать функцию удобства создания ROI drawline
. Для получения дополнительной информации см. Вопросы совместимости.
imline
объект инкапсулирует интерактивную линию по изображению.
Можно настроить размер и положение линии при помощи мыши. Линия также имеет контекстное меню, которое управляет аспектами его внешнего вида и поведения. Для получения дополнительной информации смотрите Использование.
h = imline
начинает интерактивное размещение линии на текущей системе координат и возвращает imline
объект.
h = imline(
начинает интерактивное размещение линии на объекте, заданном hparent
)hparent
.
h = imline(___,
задает пары "имя-значение", которые управляют поведением линии.Name,Value
)
Когда вы вызываете imline
с интерактивным синтаксисом указатель превращается на крест нитей когда по изображению. Перетащите мышь, чтобы задать положение и длину линии. Линия поддерживает контекстное меню, которое можно использовать, чтобы управлять аспектами его внешнего вида и поведения.
Таблица описывает интерактивное поведение, поддержанное imline
.
Интерактивное поведение | Описание |
---|---|
Перемещение линии. | Переместите указатель через линию. Указатель превращается в форму fleur. Перетащите мышь, чтобы переместить линию. |
Перемещение конечных точек линии. | Переместите указатель через любой конец линии. Указатель превращается в указывающий палец. Перетащите мышь, чтобы изменить размер линии. |
Изменение цвета раньше отображало линию. | Переместите указатель через линию. Щелкните правой кнопкой и выберите Set Color из контекстного меню. |
Получение координат конечных точек линии. | Переместите указатель через линию. Щелкните правой кнопкой и выберите Copy Position из контекстного меню. imline копирует массив 2 на 2 в буфер обмена, задающий координаты конечных точек линии в форме [X1 Y1; X2 Y2] . |
Удаление линии | Переместите указатель сверху линии. Щелкните правой кнопкой и выберите Delete из контекстного меню. Чтобы удалить эту опцию из контекстного меню, установите Deletable свойство ко лжи: 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 | Переместите объект ROI в новое положение |
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
создать интерактивную линию с текстовым полем, которое отображает расстояние между конечными точками линии.
imdistline
| imellipse
| imfreehand
| impoint
| impoly
| imrect
| imroi
| makeConstrainToRectFcn