Polygon

Полигональные необходимые области

Описание

The Polygon объект является представляющей интерес полигональной видимой областью (ROI).

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

Создание

Описание

Как создать Polygon объект, используйте images.roi.Polygon функция создания. После создания объекта вызовите draw функция объекта для начала рисования. Для удобства можно также использовать drawpolygon функция для создания Polygon Информация только для чтения. drawpolygon функция создает объект информация только для чтения и автоматически вызывает draw функция объекта.

пример

roi = images.roi.Polygon создает образец images.roi.Polygon объект со свойствами по умолчанию.

roi = images.roi.Polygon(ax) создает информация только для чтения в осях, заданных ax.

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

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

расширить все

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

Свойства

расширить все

Информация только для чтения, заданный как MATLAB® ColorSpec (Color Specification).

Пример: 'green'

Пример: 'g'

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

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

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

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

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

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

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

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

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

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

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

Информация только для чтения, заданная как вектор символов или строка. По умолчанию информация только для чтения не имеет метки ('').

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

Пометьте цвет текста, заданный как MATLAB ColorSpec (Color Specification). Интенсивность должна быть в области значений [0,1].

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

ЗначениеОписание
'on'Метка видна, когда информация только для чтения виден и Label свойство непусто (по умолчанию).
'hover'Метка видна только при наведении указателя мыши на информация только для чтения.
'off'Метка не отображается.

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

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

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

Положение информация только для чтения, заданное как n-на-2 числовой массив вида [x1 y1; ...;xn yn], где каждая строка задает положение вершины многоугольника. Polygon генерирует эти точки, когда вы рисуете форму ROI в интерактивном режиме. Чтобы работать с меньшим количеством точек, используйте reduce функция объекта.

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

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

Пример: 'green'

Пример: 'g'

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

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

Пример: 'green'

Пример: 'g'

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

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

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

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

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

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

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

Примеры

свернуть все

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

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

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

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

h = images.roi.Polygon(gca,'Position',[100 150; 200 250; 300 350; 150 450]);

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

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

I = imread('cameraman.tif');

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

imshow(I);

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

roi = images.roi.Polygon(gca,'Position',[115 30; 80 45; 80 80; 115 90; 145 65]);

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

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

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

function allevents(src,evt)
evname = evt.EventName;
    switch(evname)
        case{'MovingROI'}
            disp(['ROI moving Previous Position: ' mat2str(evt.PreviousPosition)]);
            disp(['ROI moving Current Position: ' mat2str(evt.CurrentPosition)]);
        case{'ROIMoved'}
            disp(['ROI moved Previous Position: ' mat2str(evt.PreviousPosition)]);
            disp(['ROI moved Current Position: ' mat2str(evt.CurrentPosition)]);
    end
end

Подробнее о

расширить все

Совет

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

    ПоведениеГорячая клавиша
    Выполните привязку нарисованной линии под углом 15 степеней.Удерживайте клавишу Shift во время рисования.
    Завершите рисование (закройте) информация только для чтения.

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

    Нажмите кнопку Enter, которая добавляет новую вершину в положение указателя и рисует линию в первой вершине, чтобы закрыть многоугольник.

    Щелкните правой кнопкой мыши, которая не добавляет новую вершину, а закрывает многоугольник из предыдущей вершины.

    Наведите указатель мыши на первую вершину и щелкните.

    Отмена рисования информация только для чтения.Нажмите Esc. Функция возвращает допустимый объект информация только для чтения с пустым Position поле.
    Добавьте новую вершину в информация только для чтения.

    Наведите указатель мыши на ребро информация только для чтения и дважды щелкните мышью.

    Наведите указатель мыши на ребро информация только для чтения, щелкните правой кнопкой мыши и выберите Add Vertex из контекстного меню.

    Удалите последнюю добавленную вершину, но продолжите рисовать.Нажмите Backspace. Функция перерисовывает линию с предыдущей вершины на текущее положение указателя мыши. Резервное копирование можно выполнить только к первой нарисованной вершине.
    Изменение размера (изменение формы) информация только для чтения

    Наведите указатель мыши на вершину, а затем щелкните и перетащите мышью.

    Добавить новую вершину к многоугольнику и затем щелкнуть мышью и перетащить мышью.

    Удалите вершину. Информация только для чтения перерисовывает линию, соединяющую две соседние вершины.

    Переместите информация только для чтения.Наведите указатель мыши на информация только для чтения. Наведите указатель мыши на ребро многоугольника (не на вершину). Указатель изменяется на форму fleur. Щелкните и перетащите мышью, чтобы переместить информация только для чтения.
    Удалите информация только для чтения.Поместите указатель на информация только для чтения, щелкните правой кнопкой мыши и выберите Delete Polygon из контекстного меню. Можно также программно удалить информация только для чтения с помощью delete метод объекта.
  • Для получения информации об использовании информация только для чтения в приложении, созданном с помощью App Designer, смотрите Использование ROI в приложениях, созданных с помощью App Designer.

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

расширить все

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

Введенный в R2018b