exponenta event banner

roifill

(Не рекомендуемый), Заполняют заданный многоугольник видимой области (ROI) в полутоновом изображении

roifill не рекомендуется. Использование regionfill вместо этого. Если вы хотите задать многоугольник в интерактивном режиме с regionfill, затем используйте regionfill любой с roipoly или с drawpolygon сопровождаемый createMask.

Описание

Используйте roifill функция, чтобы заполнить заданный многоугольник видимой области (ROI) в полутоновом изображении. roifill гладко интерполирует внутрь от пиксельных значений на контуре многоугольника путем решения уравнения Лапласа. Граничные пиксели не изменяются. roifill может использоваться, например, чтобы стереть объекты в изображении.

J = roifill создает интерактивный инструмент выбора многоугольника, сопоставленный с изображением, отображенным в текущей фигуре. С этим синтаксисом и другими интерактивными синтаксисами, инструмент выбора многоугольника блокирует MATLAB® командная строка, пока вы не завершаете операцию. roifill заполняет выбранный многоугольник и возвращает заполненное изображение, J.

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

J = roifill(I) отображает изображение I в окне рисунка и создает интерактивный инструмент многоугольника, сопоставленный с изображением.

J = roifill(I,mask) области заливок в I соответствие ненулевым пикселям в маске. Если существует несколько областей, то roifill выполняет интерполяцию на каждой области независимо.

пример

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

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

[J,BW] = roifill(___) возвращает бинарное изображение BW с 1s для пикселей, соответствующих интерполированной области I и 0s в другом месте.

[x2,y2,J,BW,xi2,yi2] = roifill(___) также возвращает изображение XData и YData в x2 и y2 и многоугольник координирует в xi2 и yi2.

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

Примеры

Заполните область Используя roifill

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

I = imread('eight.tif');
c = [222 272 300 270 221 194];
r = [21 21 75 121 121 75];
J = roifill(I,c,r);
imshow(I)
figure
imshow(J)

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

свернуть все

Полутоновое изображение в виде числовой матрицы.

Типы данных: single | double | int16 | uint8 | uint16

Маска в виде числовой или логической матрицы одного размера с входным изображением, I.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

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

Отобразите степень в мировых координатах X-Y в виде числового вектора с 2 элементами из формы [min max]. Два элемента x дайте x-координаты (горизонталь) первых и последних столбцов изображения I, соответственно. Два элемента y дайте y-координаты (вертикальные) из первых и последних строк I.

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

свернуть все

Заполненное изображение, возвращенное как числовая матрица.

Типы данных: single | double | int16 | uint8 | uint16

Бинарное изображение, возвращенное как логическая матрица одного размера с входным изображением, I.

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

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

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

Больше о

свернуть все

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

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

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

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

Polygon enclosing an object of interest in an image, with the ROI tool pointer positioned to select the next vertex.

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

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

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

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

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

Удаление многоугольника

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

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

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

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

| | | | |

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