Обзор создания информация только для чтения

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

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

Существует три способа создать объекты информация только для чтения.

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

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

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

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

Объект информация только для чтенияИнформация только для чтения Создание Удобство функцииОписание
AssistedFreehanddrawassisted

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

Circledrawcircle

Округлый информация только для чтения

Crosshairdrawcrosshair

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

Cuboiddrawcuboid

3-D кубоидный информация только для чтения

Ellipsedrawellipse

Эллипсоидный информация только для чтения

Freehanddrawfreehand

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

Linedrawline

Линейный информация только для чтения, который состоит из одного сегмента линии

Pointdrawpoint

Точечные информации только для чтения

Polygondrawpolygon

Полигональный информация только для чтения, который состоит из замкнутого набора сегментов линии

Polylinedrawpolyline

Полилинейная информация только для чтения, который состоит из открытого набора сегментов линий

Rectangledrawrectangle

Прямоугольный информация только для чтения

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

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

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

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

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

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

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

Смотрите свойства ROI.

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

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

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

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

Смотрите свойства ROI.

roi
roi = 
  Ellipse with properties:

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

  Show all properties

Смотрите родительские оси информация только для чтения. Информация только для чтения не рисуется, поэтому родительские оси пусты.

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

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

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

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

draw(roi)

Смотрите свойства ROI. После рисования обновляются несколько свойств 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.Parent.Children
ans = 
  2×1 graphics array:

  Ellipse
  Image

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

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

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

  • Информация только для чтения не изменяет цвет, когда вы наведете на него.

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

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

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

    uax = uiaxes;

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

    h = drawcircle(uax);

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

Похожие примеры

Подробнее о