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

Rellenar regiones especificadas en la imagen mediante interpolación interna

Sintaxis

J = regionfill(I,mask)
J = regionfill(I,x,y)

Descripción

ejemplo

J = regionfill(I,mask) rellena las regiones de la imagen I especificadas por mask. Los píxeles que no son cero en mask designan los píxeles de la imagen I para rellenar. Puede utilizar regionfill para quitar objetos de una imagen o para reemplazar los valores de píxeles no válidos mediante sus vecinos.

ejemplo

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

Ejemplos

contraer todo

Lea la imagen de 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 e y (columnas y filas) de los vértices del polígono 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);

Muestra la imagen original y la imagen rellena de lado a lado.

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 de escala de grises en el espacio de trabajo.

I = imread('eight.tif');

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

mask = I < 200;

Rellene los orificios de la imagen de máscara.

mask = imfill(mask,'holes');

Elimine el ruido en 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 mediante la imagen de máscara.

J = regionfill(I,mask);

Muestra la imagen original junto a la imagen de la máscara y la imagen rellenada.

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

Imagen de escala de grises de entrada, especificada como una matriz numérica de 2-D, no Sparse y real. I debe ser mayor o igual que un arreglo de discos de 3 por 3.

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

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

Máscara de imagen binaria, especificada como una matriz lógica no Sparse del mismo tamaño que I.

Tipos de datos: logical

Coordenadas X de los vértices del polígono, especificados como un vector numérico de la clase double. Debe tener la misma longitud que y.

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

Tipos de datos: double

Coordenadas y de los vértices del polígono, especificados como un vector numérico de la clase double. Debe tener la misma longitud que x.

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

Tipos de datos: double

Argumentos de salida

contraer todo

Imagen de escala de grises rellena, devuelta como una matriz numérica de 2-D, no Sparse y real. J tiene el mismo tamaño y clase que I.

Sugerencias

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

Algoritmos

regionfill suavemente interpola hacia adentro de los valores de píxel en el límite exterior de las regiones. regionfill computa el Laplaciano discreto sobre las regiones y soluciona el problema del valor de límite de Dirichlet.

Consulte también

| | | |

Introducido en R2015a