(Не рекомендуемый) Создать перетаскиваемый эллипс
imellipse
не рекомендуется. Используйте Ellipse
Вместо этого объект информация только для чтения. Можно также использовать функцию удобства создания информация только для чтения drawellipse
. Если вы использовали imellipse
для создания кругового информация только для чтения используйте Circle
Вместо этого объект информация только для чтения. Для получения дополнительной информации см. раздел Вопросов совместимости.
Система координат imellipse
объект инкапсулирует интерактивный эллипс над изображением.
Размер и положение эллипса можно настроить при помощи мыши. Эллипс также имеет контекстное меню, которое управляет аспектами его внешнего вида и поведения. Для получения дополнительной информации см. раздел Использование.
h = imellipse
начинает интерактивное размещение эллипса на текущей системе координат и возвращает imellipse
объект.
h = imellipse(
начинается интерактивное размещение эллипса на объекте, заданном hparent
)hparent
.
h = imellipse(___,
задает пары "имя-значение", которые управляют поведением эллипса.Name,Value
)
Когда вы звоните imellipse
с интерактивным синтаксисом, указатель изменяется на перекрестие при наведении изображения. Щелкните мышью и перетащите мышь, чтобы задать размер и положение эллипса. Эллипс также поддерживает контекстное меню, которое можно использовать для управления аспектами его внешнего вида и поведения. Щелкните правой кнопкой мыши по эллипсу, чтобы получить доступ к этому контекстному меню.
В таблице перечислено интерактивное поведение, поддерживаемое imellipse
.
Интерактивное поведение | Описание |
---|---|
Перемещение всего эллипса. | Переместите указатель внутрь эллипса. Указатель изменяется на гибкую форму. Щелкните мышью и перетащите мышь, чтобы переместить эллипс. |
Изменение размера эллипса. | Наведите указатель мыши на указатель изменения размера на эллипсе. Указатель изменяется на форму стрелы с двумя концами. Щелкните мышью и перетащите мышь, чтобы изменить размер эллипса. |
Изменение цвета, используемого для отображения эллипса. | Переместите указатель внутрь эллипса. Щелкните правой кнопкой мыши и выберите Set Color из контекстного меню. |
Получение текущего положения эллипса. | Переместите указатель внутрь эллипса. Щелкните правой кнопкой мыши и выберите Copy Position из контекстного меню. imellipse копирует вектор положения с четырьмя элементами [xmin ymin width height] в буфер обмена. |
Сохранение текущего соотношения сторон эллипса во время изменения размера. | Переместите указатель внутрь эллипса. Щелкните правой кнопкой мыши и выберите Fix Aspect Ratio из контекстного меню. |
Удаление эллипса | Переместите указатель внутрь эллипса. Щелкните правой кнопкой мыши и выберите Delete из контекстного меню. Чтобы удалить эту опцию из контекстного меню, установите Deletable свойство false: h = imellipse(); h.Deletable = false; |
Каждый imellipse
объект поддерживает несколько методов. Тип methods imellipse
чтобы увидеть полный список.
addNewPositionCallback | Добавьте коллбэк с новой позицией к объекту информация только для чтения |
createMask | Создайте маску в изображении |
delete | Удалить указатель объекта |
getColor | Получите цвет, используемый для рисования объекта информация только для чтения |
getPosition | Возврат текущей позиции объекта информация только для чтения |
getPositionConstraintFcn | Возвращает указатель на функцию ограничения текущего положения |
getVertices | Вершины по периметру объекта ellipse ROI |
removeNewPositionCallback | Удалите коллбэк с новой позицией из объекта информация только для чтения |
resume | (Не рекомендуемый) Возобновить выполнение командной строки MATLAB |
setColor | Установите цвет, используемый для рисования объекта информация только для чтения |
setConstrainedPosition | Установите объект информация только для чтения в новое положение |
setFixedAspectRatioMode | Сохраните соотношение сторон при изменении размера объекта информация только для чтения |
setPosition | (Не рекомендуемый) Переместить объект информация только для чтения в новое положение |
setPositionConstraintFcn | Установите функцию ограничения положения объекта информация только для чтения |
setResizable | Установите поведение изменения размера объекта информация только для чтения |
wait | (Не рекомендуемый) Блокируйте командную строку MATLAB до завершения создания информация только для чтения |
Создайте эллипс, используя коллбэки, чтобы отобразить обновленное положение в заголовке рисунка. Пример иллюстрирует использование 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
function, пределы осей автоматически расширяются, чтобы соответствовать перемещению эллипса.