poly2mask
Convertir un polígono de región de interés (ROI) en una máscara de región
Sintaxis
Descripción
calcula una máscara binaria de región de interés (ROI) BW
= poly2mask(xi
,yi
,m
,n
)BW
de tamaño m
por n
, a partir de un polígono de ROI con vértices en las coordenadas xi
e yi
. Si el polígono no está ya cerrado, poly2mask
cierra el polígono automáticamente.
La función poly2mask
establece los píxeles que están dentro del polígono en 1
y establece los píxeles que están fuera del polígono en 0
. Para obtener más información sobre la clasificación de los píxeles en el límite de la ROI, consulte Classify Pixels That Are Partially Enclosed by ROI.
Ejemplos
Argumentos de entrada
Argumentos de salida
Sugerencias
Para especificar un polígono que incluya un conjunto rectangular determinado de píxeles, haga que los bordes del polígono se sitúen a lo largo de los bordes exteriores de los píxeles delimitadores, en lugar del centro de los píxeles.
Por ejemplo, para incluir los píxeles de las columnas 4 a 10 y de las filas 4 a 10, podría especificar los vértices del polígono así:
x = [4 10 10 4 4]; y = [4 4 10 10 4]; mask = poly2mask(x,y,12,12)
mask = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
En este ejemplo, el polígono pasa por el centro de los píxeles delimitadores, con el resultado de que solo se determina que algunos de los píxeles delimitadores deseados están dentro del polígono (los píxeles de la fila 4 y la columna 4 y no en el polígono). Para incluir estos elementos en el polígono, utilice valores fraccionarios para especificar el borde exterior de la 4ª fila (3,5) y la 10ª fila (10,5), y el borde exterior de la 4ª columna (3,5) y el borde exterior de la 10ª columna (10,5) como vértices, como en el siguiente ejemplo:
x = [3.5 10.5 10.5 3.5 3.5]; y = [3.5 3.5 10.5 10.5 3.5]; mask = poly2mask(x,y,12,12)
mask = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0