(Не рекомендуемый) Создать перетаскиваемую точку
impoint
не рекомендуется. Используйте новую Point
Вместо этого объект информация только для чтения. Можно также использовать новую функцию удобства создания информация только для чтения drawpoint
. Для получения дополнительной информации см. раздел Вопросов совместимости.
Система координат impoint
объект инкапсулирует интерактивную точку над изображением.
Положение точки можно настроить при помощи мыши. Точка также имеет контекстное меню, которое управляет аспектами ее внешнего вида и поведения. Для получения дополнительной информации см. раздел Использование.
h = impoint
начинает интерактивное размещение точки на текущей системе координат и возвращает impoint
объект.
h = impoint(
начинает интерактивное размещение точки на объекте, заданном hparent
)hparent
.
h = impoint(___,
задает пары "имя-значение", которые управляют поведением точки.Name,Value
)
Когда вы звоните impoint
с интерактивным синтаксисом, указатель изменяется на перекрестие при наведении изображения. Щелкните мышью и перетащите мышь, чтобы задать положение точки. Точка поддерживает контекстное меню, которое можно использовать для управления аспектами ее внешнего вида и поведения.
Таблица описывает интерактивное поведение, поддерживаемое impoint
.
Интерактивное поведение | Описание |
---|---|
Перемещение точки. | Наведите указатель мыши на точку. Указатель мыши изменяется на флер-форму. Щелкните мышью и перетащите мышь, чтобы переместить точку. |
Изменение цвета, используемого для отображения точки. | Наведите указатель мыши на точку. Щелкните правой кнопкой мыши и выберите Set Color из контекстного меню и укажите цвет, который вы хотите использовать. |
Получение координат точки. | Наведите указатель мыши на точку. Щелкните правой кнопкой мыши и выберите Copy Position из контекстного меню, чтобы скопировать массив 1 на 2 в буфер обмена с указанием координат точки [X Y] . |
Удаление точки | Переместите указатель мыши в верхней части точки. Щелкните правой кнопкой мыши и выберите Delete из контекстного меню. Чтобы удалить эту опцию из контекстного меню, установите Deletable свойство false: h = impoint(); h.Deletable = false; |
Каждый impoint
объект поддерживает ряд функций. Тип methods impoint
чтобы увидеть полный список.
addNewPositionCallback | Добавьте коллбэк с новой позицией к объекту информация только для чтения |
createMask | Создайте маску в изображении |
delete | Удалить указатель объекта |
getColor | Получите цвет, используемый для рисования объекта информация только для чтения |
getPosition | Возврат текущей позиции объекта информация только для чтения |
getPositionConstraintFcn | Возвращает указатель на функцию ограничения текущего положения |
removeNewPositionCallback | Удалите коллбэк с новой позицией из объекта информация только для чтения |
resume | (Не рекомендуемый) Возобновить выполнение командной строки MATLAB |
setColor | Установите цвет, используемый для рисования объекта информация только для чтения |
setConstrainedPosition | Установите объект информация только для чтения в новое положение |
setPosition | (Не рекомендуемый) Переместить объект информация только для чтения в новое положение |
setPositionConstraintFcn | Установите функцию ограничения положения объекта информация только для чтения |
setString | Установите текстовую метку для объекта информации только для чтения точки |
wait | (Не рекомендуемый) Блокируйте командную строку MATLAB до завершения создания информация только для чтения |
Использование impoint
функции, чтобы задать пользовательский цвет, задать метку, применить ограничение границы и обновить положение в заголовке при перемещении точки.
imshow('rice.png')
h = impoint(gca,100,200);
Обновите заголовок новой должности при помощи addNewPositionCallback
.
addNewPositionCallback(h,@(h) title(sprintf('(%1.0f,%1.0f)',h(1),h(2))));
Создайте граничную функцию ограничения при помощи makeConstrainToRectFcn
.
fcn = makeConstrainToRectFcn('impoint',get(gca,'XLim'),get(gca,'YLim'));
Принудительное применение функции граничных ограничений setPositionConstraintFcn
.
setPositionConstraintFcn(h,fcn); setColor(h,'r'); setString(h,'Point label');
В интерактивном режиме разместите точку. Использовать wait
чтобы заблокировать MATLAB® командная строка. Дважды кликните точку для resume
выполнение командной строки MATLAB
imshow('pout.tif')
h = impoint(gca,[]);
position = wait(h);
Если вы используете impoint
с помощью оси, которая содержит объект изображения и не задает функцию ограничения перетаскивания, тогда пользователи могут перетащить точку за пределы области изображения и потерять точку. При использовании с осями, созданными plot
function, пределы осей автоматически расширяются, чтобы соответствовать перемещению точки.