Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

regionfill

Rellene las regiones especificadas en la imagen utilizando la interpolación interna

Descripción

ejemplo

J = regionfill(I,mask) rellena las regiones de la imagen especificada por .Imask Los píxeles que no son cero designan los píxeles de la imagen que se va a rellenar.maskI Puede utilizar para eliminar objetos de una imagen o para reemplazar valores de píxel no válidos con sus vecinos.regionfill

ejemplo

J = regionfill(I,x,y) rellena la región en la imagen correspondiente al polígono con vértices especificados por y .Ixy

Ejemplos

contraer todo

Lea la imagen en escala de grises en el espacio de trabajo.

I = imread('eight.tif');

Especifique un polígono que rodee completamente una de las monedas de la imagen. En este ejemplo se utilizan las coordenadas x y y (columnas y filas) de los vértices poligonales para especificar la región.

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

Rellene el polígono, utilizando la función.regionfill

J = regionfill(I,x,y);

Muestre la imagen original y la imagen rellena en paralelo.

figure subplot(1,2,1) imshow(I) title('Original image') subplot(1,2,2) imshow(J) title('Image with one less coin')

Lea la imagen en escala de grises en el espacio de trabajo.

I = imread('eight.tif');

Crea una imagen de máscara que cubra todas las monedas.

mask = I < 200;

Rellene los agujeros en la imagen de la máscara.

mask = imfill(mask,'holes');

Elimine el ruido de la imagen de la máscara.

mask = imerode(mask,strel('disk',10)); mask = imdilate(mask,strel('disk',20));

Rellene las regiones de la imagen de entrada utilizando la imagen de máscara.

J = regionfill(I,mask);

Muestre la imagen original junto a la imagen de máscara y la imagen rellena.

figure subplot(1,3,1) imshow(I) title('Original image') subplot(1,3,2) imshow(mask) title('Mask of pixels to fill') subplot(1,3,3) imshow(J) title('Resulting image')

Argumentos de entrada

contraer todo

Introduzca la imagen en escala de grises, especificada como una matriz numérica 2D de tamaño mayor o igual que 3 por 3.

Ejemplo: I = imread('eight.tif');

Tipos de datos: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Enmascarar imagen binaria, especificada como una matriz lógica del mismo tamaño que .I

Tipos de datos: logical

Coordenadas X de vértices poligonales, especificadas como un vector numérico. La longitud de debe tener la misma longitud que .xy

Ejemplo: x = [222 272 300 270 221 194];

Tipos de datos: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Coordenadas Y de vértices poligonales, especificadas como un vector numérico. La longitud de debe tener la misma longitud que .xy

Ejemplo: y = [21 21 75 121 121 75];

Tipos de datos: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Argumentos de salida

contraer todo

Imagen de escala de grises rellenada, devuelta como una matriz numérica 2D. tiene el mismo tamaño y clase que .JI

Sugerencias

  • no admite la sintaxis interactiva que admite especificar una región de interés (ROI).regionfillroifill Para definir un ROI de forma interactiva, utilice con .roipolyregionfill

Algoritmos

interpola suavemente hacia adentro desde los valores de píxel en el límite exterior de las regiones. calcula el Laplacian discreto sobre las regiones y resuelve el problema del valor límite de Dirichlet.regionfillregionfill

Introducido en R2015a