imellipse

Создайте перемещаемый эллипс

imellipse не рекомендуется. Используйте Ellipse Объект ROI вместо этого. Можно также использовать функцию удобства создания ROI drawellipse. Если вы использовали imellipse чтобы создать круговой ROI, используйте Circle Объект ROI вместо этого. Для получения дополнительной информации см. Вопросы совместимости.

Описание

imellipse объект инкапсулирует интерактивный эллипс по изображению.

Можно настроить размер и положение эллипса при помощи мыши. Эллипс также имеет контекстное меню, которое управляет аспектами его внешнего вида и поведения. Для получения дополнительной информации смотрите Использование.

Создание

Описание

h = imellipse начинает интерактивное размещение эллипса на текущей системе координат и возвращает imellipse объект.

h = imellipse(hparent) начинает интерактивное размещение эллипса на объекте, заданном hparent.

пример

h = imellipse(hparent,position) создает перемещаемый эллипс в положении position на объекте, заданном hparent.

h = imellipse(___,Name,Value) задает пары "имя-значение", которые управляют поведением эллипса.

Входные параметры

развернуть все

Обработайте к родительскому объекту, заданному как указатель. Родительский элемент обычно является объектом осей, но может также быть любым другим объектом, который может быть родительским элементом hggroup объект.

Положение эллипса, как задано ограничительным прямоугольником, заданным как вектор с 4 элементами формы [xmin ymin width height]. Начальным размером ограничительного прямоугольника является width- height, и верхний левый угол прямоугольника в (x, y) координата (xminymin ).

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Ограничительная функция положения, заданная как разделенная запятой пара, состоящая из 'PositionConstraintFcn' и указатель на функцию. fcn называется каждый раз, когда мышь перетаскивается. Можно использовать эту функцию, чтобы управлять, куда эллипс может быть перетащен. Смотрите справку для setPositionConstraintFcn функция для получения информации о допустимых указателях на функцию.

Свойства

развернуть все

ROI может быть удален, задан как true или false.

Типы данных: логический

Использование

Когда вы вызываете 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 функция, пределы осей автоматически расширяются, чтобы разместить перемещение эллипса.

Вопросы совместимости

развернуть все

Не рекомендуемый запуск в R2018b

Смотрите также

| | | | | | |

Представленный в R2007b