roipoly

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

Описание

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- n черное изображение отображено. Используйте мышь, чтобы задать многоугольник в этом изображении.

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

| | | |

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