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 en la imagen especificada por.Imask Píxeles que no sean cero para designar los píxeles de la imagen que se rellenarán.maskI Puede usar para quitar 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 los vértices especificados por y.Ixy

Ejemplos

contraer todo

Leer 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 las coordenadas 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);

Visualice la imagen original y la imagen rellena una al lado de la otra.

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

Leer 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 máscara.

mask = imfill(mask,'holes');

Elimine el ruido en la imagen de máscara.

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

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

J = regionfill(I,mask);

Visualice 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 2-D, no dispersa y real. debe ser mayor o igual que una matriz de 3 por 3.I

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 dispersa del mismo tamaño que.I

Tipos de datos: logical

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

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

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

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

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 rellena en escala de grises, devuelta como una matriz numérica en 2-D, no dispersa y real. tiene el mismo tamaño y clase que.JI

Sugerencias

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

Algoritmos

interpolar suavemente hacia dentro de los valores de píxel en el límite exterior de las regiones. computa el Laplacian discreto sobre las regiones y resuelve el problema del valor del límite de Dirichlet.regionfillregionfill

Introducido en R2015a