Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

regionfill

Rellenar regiones especificadas de una imagen utilizando la interpolación interior

Descripción

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

ejemplo

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

ejemplo

Ejemplos

contraer todo

Lea una imagen en escala de grises y muéstrela.

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

Especifique las coordenadas x e y de un polígono que rodee por completo una de las monedas de la imagen.

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 rellena.

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

Lea una imagen en escala de grises y muéstrela.

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

Especifique los vértices de un polígono de la ROI que rodee por completo dos de las monedas utilizando la función drawpolygon. Especifique el argumento de par nombre-valor 'Position' como las coordenadas x e y de los vértices del polígono. Si desea dibujar el polígono de forma interactiva, omita el argumento de par nombre-valor 'Position'.

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

Cree una imagen de máscara en la que la ROI es true y el fondo es false. Muestre la máscara.

mask = createMask(roi);
imshow(mask)

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

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

Argumentos de entrada

contraer todo

Imagen en escala de grises, especificada como matriz numérica 2D de un tamaño mayor que o igual a 3 por 3.

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

Imagen de máscara, especificada como matriz lógica o numérica del mismo tamaño que I. En la entrada numérica, cualquier píxel distinto de cero se considera 1 (true).

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

Coordenadas x de los vértices del polígono, especificadas como vector numérico. x debe tener la misma longitud que y.

Ejemplo: [222 272 300 270 221 194];

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

Coordenadas y de los vértices del polígono, especificadas como vector numérico. y debe tener la misma longitud que x.

Ejemplo: [21 21 75 121 121 75];

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

Argumentos de salida

contraer todo

Imagen en escala de grises rellena, devuelta como arreglo numérico 2D. J tiene el mismo tamaño y clase que I.

Sugerencias

Algoritmos

regionfill interpola interiormente con suavidad desde los valores de los píxeles del límite exterior de las regiones. regionfill calcula el laplaciano discreto en las regiones y resuelve el problema del valor del límite de Dirichlet.

Capacidades ampliadas

Historial de versiones

Introducido en R2015a

expandir todo