exponenta event banner

Эллипс

Эллиптическая область, представляющая интерес

Описание

Ellipse - объект эллиптической области интересов (ROI).

Чтобы нарисовать ROI, установите курсор на оси и щелкните и перетащите для создания фигуры. Для завершения окупаемости инвестиций отпустите кнопку мыши. Дополнительные сведения об использовании этого ROI, включая сочетания клавиш, см. в разделе Советы.

Чтобы нарисовать круговую окупаемость инвестиций, используйте Circle объект.

Создание

Описание

Создание Ellipse объект, используйте images.roi.Ellipse функция создания. После создания объекта вызовите draw функция объекта для начала рисования. В качестве удобства вы также можете использовать drawellipse для создания функции Ellipse ОКУПАЕМОСТЬ ИНВЕСТИЦИЙ. drawellipse создает объект ROI и вызывает draw объектная функция для вас.

пример

roi = images.roi.Ellipse создает экземпляр images.roi.Ellipse со свойствами по умолчанию.

roi = images.roi.Ellipse(ax) создает ROI на осях, указанных ax.

roi = images.roi.Ellipse(___,Name,Value) задает свойства, используя пары имя-значение. Например, images.roi.Ellipse('Color','y') задает цвет Ellipse объект в желтый цвет. Можно указать несколько пар имя-значение. Заключите каждое имя свойства в отдельные кавычки.

Входные аргументы

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

Родитель ROI, указанный как Axes объект или UIAxes объект. Сведения об использовании ROI в UIAxes, включая важные ограничения, см. в разделе Использование ROI в приложениях, созданных с помощью App Designer.

Свойства

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

Соотношение сторон эллипса, определяемое как числовой скаляр. Значение этого свойства изменяется автоматически при рисовании или изменении размера эллипса или задании параметра SemiAxes собственность. images.roi.Ellipse объект вычисляет это значение как height/width.

Центр ROI, заданный как числовой массив 1 на 2 формы [x y]. Значения x и y являются координатами центральной точки ROI. Значение этого свойства изменяется автоматически при рисовании или перемещении ROI.

Цвет окупаемости инвестиций, указанный как MATLAB ®ColorSpec (Color Specification).

Пример: 'green'

Пример: 'g'

Пример: [0 1 0]

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

ROI может быть интерактивно удален через контекстное меню, указанное как true или false. Когда значение равно true (по умолчанию) можно удалить ROI с помощью контекстного меню. Чтобы отключить этот пункт контекстного меню, установите для этого свойства значение false. Если установлено значение false, вы по-прежнему можете удалить ROI, позвонив delete функция, определяющая дескриптор ROI в качестве входного значения.

Область осей, в которую можно в интерактивном режиме поместить ROI, заданная как одно из значений в этой таблице.

СтоимостьОписание
'auto'Область рисования представляет собой пределы текущих осей (по умолчанию).
'unlimited'Область рисования не имеет границ, и объекты ROI можно нарисовать или перетащить, чтобы выйти за пределы осей.
[x,y,w,h]Область рисования ограничена прямоугольной областью, начинающейся с (x, y) и продолжающейся до ширины w и высоты h.

Прозрачность грани ROI, заданная как числовое скалярное значение в диапазоне [0 1]. Когда значение равно 1, лицо ROI полностью непрозрачное. Когда значение равно 0, лицо ROI полностью прозрачное.

Лицо ROI может фиксировать клики, указанное как true или false. Когда true (по умолчанию), лицо ROI фиксирует щелчки мыши. Когда false, лицо ROI не захватывает щелчки мыши.

Соотношение сторон остается постоянным во время взаимодействия, указанное как true или false. Когда значение равно true, ROI сохраняет соотношение сторон при рисовании или изменении размера эллипса. Когда значение равно false (по умолчанию) можно изменить пропорции при рисовании или изменении размеров эллипса. Изменить состояние этого свойства можно с помощью контекстного меню по умолчанию.

Видимость дескриптора окупаемости инвестиций в Children свойства родительского объекта, указанного как одно из значений в этой таблице.

СтоимостьОписание
'on'Дескриптор объекта всегда виден (по умолчанию).
'off'Дескриптор объекта всегда скрыт.
'callback' Дескриптор объекта виден внутри обратных вызовов или функций, вызываемых обратными вызовами, но не внутри функций, вызываемых из командной строки.

Интерактивность ROI, указанная как одно из значений в этой таблице.

СтоимостьОписание
'all'ROI полностью взаимодействует (по умолчанию).
'none'ROI не взаимодействует, и точки перетаскивания не видны.
'translate'ROI может быть преобразован (перемещен) в пределах области рисования, но не изменен.
'reshape'ROI можно изменить, но не перевести.

Метка ROI, заданная как символьный вектор или строка. По умолчанию ROI не имеет метки ('').

Прозрачность текстового фона, заданная как скалярное значение в диапазоне [0 1]. Если установлено значение 1, текстовой фон полностью непрозрачен. Если установлено значение 0, текстовой фон полностью прозрачен.

Цвет текста метки, заданный как MATLAB ColorSpec (Color Specification). Интенсивности должны находиться в диапазоне [0,1].

Видимость метки ROI, указанной как одно из следующих значений:

СтоимостьОписание
'on'Метка отображается при отображении ROI и Label свойство nonempty (по умолчанию).
'hover'Метка отображается только при наведении курсора мыши на ROI.
'off'Метка не видна.

Ширина края ROI, заданная как положительный числовой скаляр в точках. Значение по умолчанию в три раза превышает количество точек на пиксель экрана.

Размер маркера, заданный как положительное числовое скалярное значение в точках.

Родитель ROI, указанный как Axes или UIAxes объект. Сведения об использовании ROI в UIAxes, включая важные ограничения, см. в разделе Использование ROI в приложениях, созданных с помощью App Designer.

Угол вокруг центра ROI, определяемый как неотрицательный числовой скаляр. Угол измеряется в градусах по часовой стрелке. Значение этого свойства изменяется автоматически при рисовании или перемещении ROI.

Значение RotationAngle не влияет на значение Position. Position свойство представляет начальное положение ROI перед поворотом. Для определения местоположения повернутой окупаемости инвестиций используйте Vertices собственность.

Состояние выбора ROI, указанное как логическое значение true или false. Это свойство можно также задать в интерактивном режиме. Например, щелчок по ROI позволяет выбрать ROI и установить для этого свойства значение true. Аналогично, нажатие клавиши Ctrl и нажатие кнопки ROI отменяет выбор ROI и устанавливает значение этого свойства равным false.

Цвет ROI при выборе, указанный как MATLAB ColorSpec (Color Specification). Интенсивности должны находиться в диапазоне [0,1]. Если 'SelectedColor' имеет значение 'none', то значение Color определяет цвет ROI для всех состояний, выбранных или нет.

Пример: 'green'

Пример: 'g'

Пример: [0 1 0]

Длины полуоси эллипса, заданные как массив 1 на 2 вида [semiaxis1 semiaxis2]. images.roi.Ellipse объект назначает длину полуоси, ближайшую к направлению x semiaxis1. Следует отметить, что форма и ориентация эллипса могут изменяться посредством взаимодействия. Значение этого свойства изменяется автоматически при построении или изменении формы ROI.

Цвет полосы ROI, указанной как MATLAB ColorSpec (Color Specification) значение. По умолчанию край ROI имеет сплошной цвет. При указании StripeColor, край ROI полосатый. Чередование состоит из комбинации значений, указанных 'Color' и это значение.

Пример: 'green'

Пример: 'g'

Пример: [0 1 0]

Тег для связывания с ROI, заданный как символьный вектор или строка. Используйте значение тега для поиска объекта ROI в иерархии объектов с помощью findobj функция.

Данные для связывания с ROI, указанные как любые данные MATLAB. Например, можно указать скаляр, вектор, матрицу, массив ячеек, строку, символьный массив, таблицу или структуру. MATLAB не использует эти данные.

Расположение точек, расположенных по периметру эллипса, заданного как массив n-by-2. Это свойство доступно только для чтения.

Видимость окупаемости инвестиций, указанная как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (ложь). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.

СтоимостьОписание
'on'Просмотрите ROI (по умолчанию).
'off'Скрыть ROI, не удаляя его. Вы по-прежнему можете получить доступ к свойствам невидимого ROI.

Функции объекта

addlistenerСоздать прослушиватель событий, привязанный к источнику событий
beginDrawingFromPointНачало окупаемости инвестиций в чертеж из указанной точки
bringToFrontПриведение ROI в порядок штабелирования осей
createMaskСоздание двоичного маскирующего изображения из ROI
drawНачало окупаемости инвестиций в чертеж в интерактивном режиме
inROIЗапрос наличия точек в ROI
waitБлокировать командную строку MATLAB до завершения операции окупаемости инвестиций

Примеры

свернуть все

Чтение изображения в рабочую область и его отображение.

I = imread('baby.jpg');
figure
imshow(I)

Figure contains an axes. The axes contains an object of type image.

Создайте эллиптическую окупаемость инвестиций на изображении, используя Center для указания местоположения и SemiAxes для указания его формы. Для программно созданных ROI, если требуется нарисовать ROI в определенных осях, необходимо указать эти оси в качестве входного аргумента. В противном случае экземпляр класса images.roi.Ellipse создается, но не отображается. В этом примере укажите текущие оси (gca) для построения ROI на изображении в этих осях.

h = images.roi.Ellipse(gca,'Center',[1000 1000],'Semiaxes',[350 150]);

Figure contains an axes. The axes contains 2 objects of type image, images.roi.ellipse.

Чтение изображения в рабочую область.

I = imread('cameraman.tif');

Отображение изображения.

imshow(I);

Нарисуйте на изображении эллиптическую окупаемость инвестиций. Поскольку в этом примере указывается размер и местоположение ROI, нет необходимости вызывать draw способ включения интерактивного рисования.

roi = images.roi.Ellipse(gca,'Center',[100 100],'Semiaxes',[50 80]);

Настройка прослушивателей для событий перемещения окупаемости инвестиций. При его перемещении ROI отправляет уведомления об этих событиях и выполняет указанную функцию обратного вызова.

addlistener(roi,'MovingROI',@allevents);
addlistener(roi,'ROIMoved',@allevents);

allevents функция обратного вызова отображает в командной строке текущий центр и текущие полуоси ROI эллипса.

function allevents(src,evt)
evname = evt.EventName;
    switch(evname)
        case{'MovingROI'}
            disp(['ROI moving Current Center: ' mat2str(evt.CurrentCenter)]);
            disp(['ROI moving Current SemiAxes: ' mat2str(evt.CurrentSemiAxes)]);
        case{'ROIMoved'}
            disp(['ROI moved Current Center: ' mat2str(evt.CurrentCenter)]);
            disp(['ROI moved Current SemiAxes: ' mat2str(evt.CurrentSemiAxes)]);
    end
end

Подробнее

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

Совет

  • ROI поддерживает следующую интерактивность, включая сочетания клавиш.

    ПоведениеСочетание клавиш
    Отмена рисования ROI.Нажмите клавишу Esc. Функция возвращает допустимый объект ROI с пустым Position поле.
    Точная настройка ширины эллипса по мере рисования.При рисовании эллипса используйте колесо прокрутки для внесения небольших изменений в ширину эллипса.
    Поверните окупаемость инвестиций.

    Поместите указатель рядом с вершиной. Указатель изменяется на указатель поворота. Щелкните значок и поверните ROI по центру.

    Чтобы выполнить привязку поворота под углом 15 градусов, при повороте нажимайте клавишу Shift.

    Сохранять пропорции при рисовании.

    При рисовании удерживайте клавишу Shift. Создание круговой окупаемости инвестиций.

    Чтобы заблокировать пропорции, поместите указатель на ROI, щелкните правой кнопкой мыши и выберите в контекстном меню «Зафиксировать пропорции».

    Изменение размера (изменение формы) ROI.

    Наведите указатель на вершину, а затем щелкните и перетащите. Для отображения соотношения сторон при изменении размера удерживайте клавишу Shift.

    Переместите окупаемость инвестиций.Наведите указатель на ROI. Указатель изменяется на форму флера. Щелкните и перетащите, чтобы переместить ROI.
    Удалите ROI. Поместите указатель в любом месте ROI и щелкните правой кнопкой мыши. В контекстном меню выберите «Удалить эллипс». Вы также можете delete ROI программно с использованием функции удаления объекта.
  • Сведения об использовании окупаемости инвестиций в приложении, созданном с помощью App Designer, см. в разделе Использование окупаемости инвестиций в приложениях, созданных с помощью App Designer.

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

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

Не рекомендуется начинать с R2020a

Представлен в R2018b