Создайте перемещаемый эллипс
imellipse не рекомендуется. Используйте drawellipse вместо этого.
Объект imellipse инкапсулирует интерактивный эллипс по изображению.
Можно настроить размер и положение эллипса при помощи мыши. Эллипс также имеет контекстное меню, которое управляет аспектами его внешнего вида и поведения. Для получения дополнительной информации смотрите Использование.
h = imellipseh = 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