regionfill

Заполните заданные области в изображении с помощью входящей интерполяции

Описание

пример

J = regionfill(I,mask) заполняет области в изображении I заданный mask. Ненулевые пиксели в mask назовите пиксели изображения I заполнять. Можно использовать regionfill удалить объекты в изображении или заменить недопустимые пиксельные значения с помощью их соседей.

пример

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

Примеры

свернуть все

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

I = imread('eight.tif');
imshow(I)

Задайте x-и y-координаты многоугольника, который полностью окружает одну из монет в изображении.

x = [222 272 300 270 221 194];
y = [21 21 75 121 121 75];

Заполните многоугольник при помощи regionfill функция.

J = regionfill(I,x,y);

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

imshow(J)
title('Filled Image with One Fewer Coin')

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

I = imread('eight.tif');
imshow(I)

Задайте вершины ROI многоугольника, который полностью окружает две из монет при помощи drawpolygon функция. Задайте аргумент пары "имя-значение" 'Position' как x-координаты и y-координаты вершин многоугольника. Если вы хотите чертить многоугольник в интерактивном режиме, то не используйте аргумент пары "имя-значение" 'Position'.

x = [68 296 296 113 68];
y = [12 12 120 120 66];
roi = drawpolygon(gca,'Position',[x;y]');

Создайте рисунок маски, в котором ROI является true и фоном является false. Отобразите маску.

mask = createMask(roi);
imshow(mask)

Заполните области во входном изображении с помощью рисунка маски. Отобразите заполненное изображение.

J = regionfill(I,mask);
imshow(J)

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

свернуть все

Полутоновое изображение в виде 2D числовой матрицы размера, больше, чем или равный 3х3.

Пример: I = imread('eight.tif');

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

Бинарное изображение маски в виде логического массива одного размера с I.

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

X-координаты вершин многоугольника в виде числового вектора. Длина x должна быть та же длина как y.

Пример: x = [222 272 300 270 221 194];

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

Y-координаты вершин многоугольника в виде числового вектора. Длина x должна быть та же длина как y.

Пример: y = [21 21 75 121 121 75];

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

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

свернуть все

Заполненное полутоновое изображение, возвращенное как 2D числовой массив. J имеет тот же размер и класс как I.

Советы

  • В интерактивном режиме создать маску ROI mask, можно использовать roipoly функционируйте или drawpolygon функция, сопровождаемая createMask.

Алгоритмы

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

Представленный в R2015a