regionfill

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

Описание

пример

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

пример

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

Примеры

свернуть все

Чтение и отображение полутонового изображения.

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

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

Задайте координаты 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')

Figure contains an axes. The axes with title Filled Image with One Fewer Coin contains an object of type image.

Чтение и отображение полутонового изображения.

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

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

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

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

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

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

mask = createMask(roi);
imshow(mask)

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

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

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

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

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

свернуть все

Полутоновое изображение, заданное как 2-D числовая матрица размера, большего или равного 3 на 3.

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

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

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

Типы данных: logical

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

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

свернуть все

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

Совет

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

Алгоритмы

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

Введенный в R2015a