Создайте перемещаемый эллипс
imellipse
не рекомендуется. Используйте drawellipse
вместо этого.
Объект imellipse
инкапсулирует интерактивный эллипс по изображению.
Можно настроить размер и положение эллипса при помощи мыши. Эллипс также имеет контекстное меню, которое управляет аспектами его внешнего вида и поведения. Для получения дополнительной информации смотрите Использование.
h = imellipse
h = imellipse(hparent)
h = imellipse(hparent,position)
h = imellipse(___,Name,Value)
h = imellipse
начинает интерактивное размещение эллипса на текущей системе координат и возвращает объект imellipse
.
h = imellipse(
начинает интерактивное размещение эллипса на объекте, заданном hparent
)hparent
.
h = imellipse(___,
задает пары "имя-значение", которые управляют поведением эллипса.Name,Value
)
Когда вы вызываете imellipse
с интерактивным синтаксисом, указатель изменяется на крест нитей когда по изображению. Перетащите мышь, чтобы задать размер и положение эллипса. Эллипс также поддерживает контекстное меню, которое можно использовать, чтобы управлять аспектами его внешнего вида и поведения. Щелкните правой кнопкой по эллипсу, чтобы получить доступ к этому контекстному меню.
Таблица приводит интерактивное поведение, поддержанное imellipse
.
Интерактивное поведение | Описание |
---|---|
Перемещение целого эллипса. | Переместите указатель в эллипсе. Указатель изменяется на форму fleur. Перетащите мышь, чтобы переместить эллипс. |
Изменение размеров эллипса. | Переместите указатель через указатель изменения размеров на эллипсе. Указатель изменяется на симметричную форму стрелки. Перетащите мышь, чтобы изменить размер эллипса. |
Изменение цвета раньше отображало эллипс. | Переместите указатель в эллипсе. Щелкните правой кнопкой и выберите Set Color из контекстного меню. |
Получение текущего положения эллипса. | Переместите указатель в эллипсе. Щелкните правой кнопкой и выберите Copy Position из контекстного меню. imellipse копирует четырехэлементный радиус-вектор [xmin ymin width height] в буфер обмена. |
Сохранение текущего соотношения сторон эллипса во время изменения размеров. | Переместите указатель в эллипсе. Щелкните правой кнопкой и выберите Fix Aspect Ratio из контекстного меню. |
Удаление эллипса | Переместите указатель в эллипсе. Щелкните правой кнопкой и выберите Delete из контекстного меню. Чтобы удалить эту опцию из контекстного меню, установите свойство Deletable на ложь: h = imellipse(); h.Deletable = false; |
Каждый imellipse
поддержка объектов много методов. Введите methods imellipse
, чтобы видеть полный список.
addNewPositionCallback | Добавьте ново-позиционный коллбэк в объект ROI |
createMask | Создайте маску в изображении |
delete | Удалите объект указателя |
getColor | Доберитесь цвет раньше чертил объект ROI |
getPosition | Возвратите текущее положение объекта ROI |
getPositionConstraintFcn | Возвратите указатель на функцию в ограничительную функцию текущего положения |
getVertices | Возвратите вершины на периметре объекта ROI эллипса |
removeNewPositionCallback | Удалите ново-позиционный коллбэк из объекта ROI |
resume | (Не рекомендуемый) выполнение Резюме командной строки MATLAB |
setColor | Выберите цвет, используемый, чтобы чертить объект ROI |
setConstrainedPosition | Установите объект ROI на новое положение |
setFixedAspectRatioMode | Сохраните соотношение сторон при изменении размеров объекта ROI |
setPosition | Переместите объект ROI в новое положение |
setPositionConstraintFcn | Установите ограничительную функцию положения объекта ROI |
setResizable | Установите поведение при изменении размера объекта ROI |
wait | (Не рекомендуемый), командная строка MATLAB Блока, пока создание ROI не закончено |
Создайте эллипс, с помощью коллбэков, чтобы отобразить обновленное положение в заголовке фигуры. Пример иллюстрирует использование makeConstrainToRectFcn
, чтобы сохранить эллипс в исходном XLim
и областях значений YLim
.
imshow('coins.png') h = imellipse(gca,[10 10 100 100]); addNewPositionCallback(h,@(p) title(mat2str(p,3))); fcn = makeConstrainToRectFcn('imellipse',get(gca,'XLim'),get(gca,'YLim')); setPositionConstraintFcn(h,fcn);
В интерактивном режиме поместите эллипс путем перетаскивания. Используйте wait
, чтобы блокировать командную строку MATLAB®. Дважды кликните на эллипсе, чтобы возобновить выполнение командной строки MATLAB.
imshow('coins.png')
h = imellipse;
position = wait(h);
Если вы используете imellipse
с оси, который содержит объект изображения, и не задавайте ограничительную функцию положения, пользователи могут перетащить эллипс вне степени изображения и потерять эллипс. Когда используется с оси, созданные функцией plot
, пределы осей автоматически расширяются, чтобы разместить перемещение эллипса.
imfreehand
| imline
| impoint
| impoly
| imrect
| imroi
| iptgetapi
| makeConstrainToRectFcn