roipoly

Задайте многоугольную видимую область (ROI)

Синтаксис

BW = roipoly
BW = roipoly(I)
BW = roipoly(I,xi,yi)
BW = roipoly(x,y,I,xi,yi)
[BW,xi2,yi2] = roipoly(___)
[x2,y2,BW,xi2,yi2] = roipoly(___)
roipoly(___)

Описание

BW = roipoly создает интерактивный инструмент полигона, сопоставленный с изображением, отображенным в текущей фигуре. С этим синтаксисом и другими интерактивными синтаксисами, инструмент выбора полигона блокирует командную строку MATLAB®, пока вы не завершаете операцию. roipoly возвращает маску как двухуровневое изображение, устанавливая пиксели в ROI к 1 и пиксели вне ROI к 0.

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

BW = roipoly(I) отображает шкалу полутонов, или RGB отображают I в окне рисунка, и создает интерактивный инструмент выбора полигона, сопоставленный с изображением.

пример

BW = roipoly(I,xi,yi) задает вершины полигона, когда X-Y координирует xi и yi в системе пространственной координаты по умолчанию.

BW = roipoly(x,y,I,xi,yi) задает систему пространственной координаты не по умолчанию с помощью векторов x и y. Вершины полигона имеют, координирует xi и yi в этой системе координат.

[BW,xi2,yi2] = roipoly(___) также возвращает координаты вершин закрытого полигона, xi2 и yi2.

[x2,y2,BW,xi2,yi2] = roipoly(___) также возвращает пределы изображений в x2 и y2.

roipoly(___) без выходного аргумента отображает получившийся рисунок маски в новом окне рисунка.

Примеры

свернуть все

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

I = imread('eight.tif');

Задайте вершины полигона маски.

c = [222 272 300 270 221 194];
r = [21 21 75 121 121 75];

Создайте бинарный рисунок маски.

BW = roipoly(I,c,r);

Отобразите оригинальное изображение и многоугольную маску.

imshow(I)

figure
imshow(BW)

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

свернуть все

Шкала полутонов или изображение RGB, заданное как m-by-n числовая матрица для полутонового изображения или m-by-n-by-3 числовой массив для изображения RGB.

x - или y - координата вершин полигона, заданных как числовые векторы равной длины. Если вы задаете систему координат не по умолчанию с помощью аргументов x и y, то xi и yi задают координаты в этой системе координат. В противном случае xi и yi задают координаты в системе координат по умолчанию.

Отобразите степень в мировых координатах X-Y, заданных как числовые векторы с 2 элементами формы [min max]. Значения x и y устанавливают изображение XData и YData.

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

свернуть все

Двухуровневое изображение, возвращенное как m-by-n логическая матрица.

Типы данных: логический

x - или y - координата вершин закрытого полигона, возвращенного как числовые векторы равной длины. Первый и последний элемент в каждом векторе идентичен, так, чтобы полигон был закрыт. Если вы задаете систему координат не по умолчанию с помощью аргументов x и y, то xi2 и yi2 являются этой системой координат. В противном случае xi2 и yi2 находятся в системе координат по умолчанию.

Примечание

roipoly всегда производит закрытый полигон. Если вы задаете входные положения вершины закрытого полигона (таким образом, что последняя пара координат идентична первой паре), то длина выходных векторов координаты равна заданному числу точек. Если заданные точки не описывают закрытый полигон, то roipoly добавляет конечный пункт, имеющий те же координаты как первая точка. В этом случае длина выходных векторов координаты является одним большим, чем заданное число точек.

Отобразите степень в мировых координатах X-Y, возвращенных как числовые векторы с 2 элементами формы [min max]. Если вы задаете систему координат не по умолчанию с помощью аргументов x и y, то x2 и y2 равны этим значениям. В противном случае x2 и y2 равны оригинальному изображению XData и YData.

Больше о

свернуть все

Интерактивное поведение

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

Когда инструмент полигона активен, изменения указателя в кресте нитей, когда вы перемещаете указатель через изображение в фигуре. Используя мышь, вы задаете область путем выбора вершин полигона. Можно переместить или изменить размер полигона с помощью мыши. По окончании расположив и измерив полигон, создаете маску путем двойного клика, или путем щелчка правой кнопкой в области и выбора Create mask из контекстного меню.

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

Интерактивное поведениеОписание
Закрытие полигона. (Завершение видимой области.)

Используйте любой из следующих механизмов:

  • Переместите указатель через начальную вершину полигона, который вы выбрали. Указатель изменяется на круг. Щелкните любой кнопкой мыши.

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

  • Щелкните правой кнопкой по мыши. Это чертит линию, соединяя последнюю вершину, выбранную с начальной вершиной; это не создает новую вершину в точке под мышью.

Перемещение целого полигонаПереместите указатель в области. Указатель изменяется на форму fleur. Перетащите полигон по изображению.
Удаление полигона

Нажмите Backspace, Escape или Delete, или щелкните правой кнопкой в области и выберите Cancel из контекстного меню.

Примечание: Если вы удаляете ROI, функция возвращает пустые значения.

Перемещение вершины. (Изменение видимой области.)Переместите указатель через вершину. Указатель изменяется на круг. Перетащите вершину к ее новой позиции.
Добавление новой вершины.Переместите указатель через ребро полигона и нажмите клавишу A. Указатель изменяет форму на. Щелкните левой кнопкой мыши, чтобы создать новую вершину в той точке на ребре.
Удаление вершины. (Изменение видимой области.)Переместите указатель через вершину. Указатель изменяется на круг. Щелкните правой кнопкой и выберите Delete vertex из контекстного меню. roipoly проводит новую прямую линию между двумя вершинами, которые были соседями удаленной вершины.
Изменение цвета полигонаПереместите указатель куда угодно в контуре области и щелкните правой кнопкой мыши. Выберите Set color из контекстного меню.
Получение координат вершин Переместите указатель в области. Щелкните правой кнопкой и выберите Copy position из контекстного меню, чтобы скопировать текущее положение в Буфер обмена. Положением является n-by-2 массив, содержащий x - и y - координаты каждой вершины, где n является количеством вершин.

Советы

  • Для любого из синтаксисов roipoly можно заменить входное изображение I на два аргумента, m и n, которые задают размерности строки и столбца произвольного изображения. Например, эти команды создают 100 200 бинарную маску.

    c = [112 112 79 79];
    r = [37 66 66 37];
    BW = roipoly(100,200,c,r);
    

    Если вы задаете m и n с интерактивной формой roipoly, m-by-n черное изображение отображен. Используйте мышь, чтобы задать полигон в этом изображении.

Смотрите также

| | | |

Представлено до R2006a