Polyline

Полилиния необходимой области

Описание

The Polyline объект является полилинией видимой области (ROI).

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

Создание

Описание

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

пример

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

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

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

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

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

Родительский элемент информация только для чтения, заданный как 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 высоты.

Видимость указателя информация только для чтения в 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 -by-2 вида [x1 y1; x2 y2], где n - общее количество вершин. Каждая строка определяет соответствующую конечную точку сегмента линии. Polyline генерирует эти точки, когда вы рисуете форму 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Начните рисование информация только для чтения в интерактивном режиме
reduceУменьшите плотность точек в информация только для чтения
waitБлокируйте командную строку MATLAB до завершения операции ROI

Примеры

свернуть все

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

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

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

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

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

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

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

I = imread('cameraman.tif');

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

imshow(I);

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

roi = images.roi.Polyline(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.

    Удалите вершину из информация только для чтения.

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

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

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

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

    Удалите вершину и форму ROI.

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

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

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

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

Введенный в R2018b