Main Content

regionfill

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

Descripción

ejemplo

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.

Ejemplos

contraer todo

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

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

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

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')

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

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

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

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

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]');

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

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)

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

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

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

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

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