exponenta event banner

Обзор создания ROI

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

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

Существует три способа создания объектов окупаемости инвестиций.

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

  • Создайте ROI программным путем, указав информацию о размере и форме ROI. Используйте этот подход, если уже известны сведения о размере и форме ROI, такие как координаты вершин многоугольника или координаты центра и радиус окружности.

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

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

Объект окупаемости инвестицийФункция удобства создания ROIОписание
AssistedFreehanddrawassisted

Свободная окупаемость инвестиций, которая привязывается к краям существующих объектов на изображении

Circledrawcircle

Циклическая окупаемость инвестиций

Crosshairdrawcrosshair

Линейная окупаемость инвестиций, состоящая из двух перпендикулярных линий

Cuboiddrawcuboid

3-D Кубоидальная окупаемость инвестиций

Ellipsedrawellipse

Эллипсоидная окупаемость инвестиций

Freehanddrawfreehand

ROI Freehand, который следует по пути мыши

Linedrawline

Линейная окупаемость инвестиций, состоящая из сегмента одной линии

Pointdrawpoint

Точечная окупаемость инвестиций

Polygondrawpolygon

Многоугольная окупаемость инвестиций, состоящая из замкнутого набора отрезков

Polylinedrawpolyline

Окупаемость инвестиций в полилинию, которая состоит из открытого набора сегментов линий

Rectangledrawrectangle

Прямоугольная окупаемость инвестиций

Создание окупаемости инвестиций с помощью функций удобства создания

В этом примере показано, как создать объект ROI с помощью функций удобства создания ROI. Эти функции позволяют создавать объекты ROI в интерактивном режиме путем рисования ROI поверх изображения.

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

I = imread('pears.png');
imshow(I)

В этом примере создается эллипсоидная окупаемость инвестиций. Аналогичный процесс можно использовать для создания любого объекта ROI.

Создание Ellipse Окупаемость инвестиций с помощью drawellipse функция. Настройте вид окупаемости инвестиций, указав StripeColor аргумент пары имя-значение как желтый.

roi = drawellipse('StripeColor','y');

Проверьте свойства окупаемости инвестиций.

roi
roi = 
  Ellipse with properties:

           Center: [446.0000 197.0000]
         SemiAxes: [115.8836 71.6200]
    RotationAngle: 298.3342
      AspectRatio: 1.6180
            Label: ''
            Color: [0 0.4470 0.7410]
           Parent: [1×1 Axes]
          Visible: 'on'
         Selected: 0

  Show all properties

Создание окупаемости инвестиций с помощью draw Функция

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

В этом примере создается и рисуется эллипсоидная окупаемость инвестиций. Аналогичный процесс можно использовать для создания любого объекта ROI.

Создание Ellipse ROI программно с помощью images.roi.Ellipse функция. Задайте свойства для настройки внешнего вида эллипса. Здесь цвет лица голубой и граница ROI имеет красную полосу. Не указывайте позицию окупаемости инвестиций.

roi = images.roi.Ellipse('Color','c','StripeColor','r');

Проверьте свойства окупаемости инвестиций.

roi
roi = 
  Ellipse with properties:

           Center: []
         SemiAxes: []
    RotationAngle: 0
      AspectRatio: 1.6180
            Label: ''

  Show all properties

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

roi.Parent
ans = 
  0×0 empty GraphicsPlaceholder array.

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

I = imread('pears.png');
imshow(I)

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

draw(roi)

Проверьте свойства окупаемости инвестиций. Несколько свойств окупаемости инвестиций обновляются после рисования.

roi
roi = 
  Ellipse with properties:

           Center: [337 107.5000]
         SemiAxes: [109.3766 67.5985]
    RotationAngle: 42.2208
      AspectRatio: 1.6180
            Label: ''
            Color: [0 1 1]
           Parent: [1×1 Axes]
          Visible: 'on'
         Selected: 0

  Show all properties

Теперь ROI имеет родительские оси. Получение всех графических объектов, совместно использующих одни и те же родительские оси. В этом примере ROI имеет тот же родитель, что и отображаемое изображение.

roi.Parent.Children
ans = 
  2×1 graphics array:

  Ellipse
  Image

Использование окупаемости инвестиций в приложениях, созданных с помощью App Designer

Вы можете использовать окупаемость инвестиций в приложениях, созданных с помощью App Designer, для воспитания окупаемости инвестиций в UIAxes. Необходимо явно указать UIAxes при вызове функции создания ROI в качестве входного аргумента или с помощью 'Parent' пара имя/значение. Есть несколько ограничений при использовании ROI в приложениях таким образом:

  • Курсор мыши не обновляется при наведении курсора на ROI. Курсор всегда является стрелкой.

  • ROI не изменяет цвет при наведении на него курсора.

  • Контекстное меню окупаемости инвестиций (ROI) (UIContextMenu) не поддерживается.

Следующий код, хотя и не типичный рабочий процесс создания приложения, показывает, как указать окупаемость инвестиций в UIAxes в приложении (UIFigure).

  1. Создать UIAxes. При вызове uiaxes функция, она создает UIFigure автоматически.

    uax = uiaxes;

  2. Создайте ROI в UIAxes. Вызовите любую из функций создания ROI, например: drawcircleили классы окупаемости инвестиций, такие как images.roi.Circle. Укажите UIAxes в качестве аргумента. Наведите курсор на оси, щелкните и перетащите мышь, чтобы нарисовать окупаемость инвестиций. Форма курсора не изменяется при использовании с UIAxes.

    h = drawcircle(uax);

    Можно также создать ROI с помощью функции создания объекта, например: images.roi.Circle. При использовании объектов необходимо также вызвать draw , указывая объект ROI в качестве аргумента.

Связанные примеры

Подробнее