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