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.

roipoly

Especifique la región poligonal de interés (ROI)

Sintaxis

BW = roipoly
BW = roipoly(I)
BW = roipoly(I,c,r)
BW = roipoly(x,y,I,xi,yi)
[BW,xi2,yi2] = roipoly(___)
[x2,y2,BW,xi2,yi2] = roipoly(___)
roipoly(___)

Descripción

ejemplo

BW = roipoly crea una herramienta poligonal interactiva asociada a la imagen mostrada en la figura actual. Con esta sintaxis y las demás sintaxis interactivas, la herramienta de selección de polígonos bloquea la línea de comandos MATLAB® hasta completar la operación. roipoly devuelve la máscara como una imagen binaria, estableciendo píxeles dentro del ROI a 1 y píxeles fuera del ROI a 0.

Para obtener más información sobre el uso de la herramienta de selección de polígonos, consulte Comportamiento interactivo.

BW = roipoly(I) muestra la I de imagen en escala de grises o RGB en una ventana de figura y crea una herramienta de selección de polígonos interactiva asociada a la imagen.

BW = roipoly(I,c,r) Devuelve un ROI poligonal, BW con los vértices definidos por la columna de píxeles y los índices de fila, c y r.

BW = roipoly(x,y,I,xi,yi) Devuelve un ROI poligonal con vértices definidos en un sistema de coordenadas espaciales no predeterminados. x y y especifican los límites de imagen en el sistema de coordenadas del mundo. xi y yi especifican las coordenadas de los vértices poligonales como ubicaciones en este sistema de coordenadas.

[BW,xi2,yi2] = roipoly(___) también devuelve las coordenadas de los vértices del polígono cerrado, xi2 y yi2.

[x2,y2,BW,xi2,yi2] = roipoly(___) también devuelve los límites de imagen en x2 y y2.

roipoly(___) sin un argumento de salida, se muestra la imagen de máscara resultante en una nueva ventana de figura.

Ejemplos

contraer todo

Lee una imagen en el espacio de trabajo.

I = imread('eight.tif');

Defina los vértices del polígono de la máscara.

c = [222 272 300 270 221 194]; r = [21 21 75 121 121 75];

Cree la imagen de máscara binaria.

BW = roipoly(I,c,r);

Muestra la imagen original y la máscara poligonal.

imshow(I)

figure imshow(BW)

Argumentos de entrada

contraer todo

Imagen en escala de grises o RGB, especificada como una matriz numérica m-por-n para una imagen en escala de grises, o una matriz numérica m-por-n-por-3 para una imagen RGB.

Índice de columna o fila de vértices, especificado como un vector de enteros positivos. La longitud de c y r debe coincidir.

Límites de imagen en coordenadas mundiales a lo largo de la dimensión xo y, especificada como un vector numérico de 2 elementos de la forma [min max]. Los valores de x y y establecen la imagen XData y YData.

x-o y-coordenada de vértices en el sistema de coordenadas del mundo definido por x y y, especificado como un vector numérico. La longitud de xi y yi debe coincidir.

Argumentos de salida

contraer todo

Imagen binaria, devuelta como una matriz lógica m-por-n .

Tipos de datos: logical

Posición de los vértices del polígono cerrado a lo largo de la dimensión xo y, devueltos como un vector numérico. El primer y último elemento del vector son idénticos, por lo que el polígono está cerrado.

  • Si selecciona los vértices de forma interactiva mediante la herramienta de selección de polígonos, o si especifica la posición de los vértices utilizando los índices de fila y columna c y r, entonces xi2 y yi2 se interpretan como índices de píxeles.

  • Si especifica los límites de imagen, x y y, en un sistema de coordenadas espaciales no predeterminados, entonces xi2 y yi2 se interpretan como coordenadas xy yen ese sistema de coordenadas.

Nota

roipoly siempre produce un polígono cerrado. Si especifica posiciones de vértice de entrada de un polígono cerrado (de forma que el último par de coordenadas sea idéntico al primer par), la longitud de los vectores de coordenadas de salida es igual al número de puntos especificados. Si los puntos especificados no describen un polígono cerrado, entonces roipoly agrega un punto final que tiene las mismas coordenadas que el primer punto. En este caso la longitud de los vectores de coordenadas de salida es una mayor que el número de puntos especificados.

Límites de imagen en la dimensión x o y , devueltos como un vector numérico de 2 elementos del formulario [min max]. Si especifica los límites de imagen x y y, x2 y y2 son iguales a estos valores. De lo contrario, x2 y y2 son iguales a la imagen original XData y YData.

Más acerca de

contraer todo

Comportamiento interactivo

La herramienta de selección de polígonos permite seleccionar y ajustar los vértices del polígono de forma interactiva utilizando el mouse.

Cuando la herramienta polígono está activa, el puntero cambia a los pelos cruzados cuando mueva el puntero sobre la imagen en la figura. Con el ratón, se especifica la región seleccionando vértices del polígono. Puede mover o cambiar el tamaño del polígono con el ratón. Cuando haya terminado de colocar y dimensionar el polígono, cree la máscara haciendo doble clic o haciendo clic con el botón derecho dentro de la región y seleccionando Create mask en el menú contextual.

La figura ilustra un polígono definido por varios vértices. En la tabla siguiente se describe todo el comportamiento interactivo de la herramienta poligonal.

Comportamiento interactivoDescripción
Cerrando el polígono. (completando la región de interés.)

Utilice cualquiera de los siguientes mecanismos:

  • Mueva el puntero sobre el vértice inicial del polígono que seleccionó. El puntero cambia a un círculo . Haga clic en cualquier botón del mouse.

  • Haga doble clic en el botón izquierdo del mouse. Esta acción crea un vértice en el punto bajo el puntero del mouse y dibuja una línea recta que conecta este vértice con el vértice inicial.

  • Haga clic con el botón derecho del ratón. Esto dibuja una línea que conecta el último vértice seleccionado con el vértice inicial; no crea un nuevo vértice en el punto bajo el mouse.

Mover todo el polígonoMueva el puntero dentro de la región. El puntero cambia a una forma de flor . Haga clic y arrastre el polígono sobre la imagen.
Eliminar el polígono

Pulse Retroceso, Escapar o Eliminar, o haga clic con el botón derecho dentro de la región y seleccione Cancel en el menú contextual.

Nota: Si elimina el ROI, la función devuelve valores vacíos.

Mover un vértice. (remodelación de la región de interés.)Mueva el puntero sobre un vértice. El puntero cambia a un círculo . Haga clic y arrastre el vértice a su nueva posición.
Añadiendo un nuevo vértice.Mueva el puntero sobre un borde del polígono y pulse el botón Un tecla. El puntero cambia de forma a. Haga clic en el botón izquierdo del ratón para crear un nuevo vértice en ese punto en el borde.
Borrando un vértice. (remodelación de la región de interés.)Mueva el puntero sobre el vértice. El puntero cambia a un círculo . Haga clic con el botón derecho y seleccione Delete vertex en el menú contextual. roipoly dibuja una nueva línea recta entre los dos vértices que eran vecinos del vértice eliminado.
Cambiar el color del polígonoMueva el puntero en cualquier lugar dentro del límite de la región y haga clic en el botón derecho del ratón. Seleccione Set color en el menú contextual.
Recuperando las coordenadas de los vértices Mueva el puntero dentro de la región. Haga clic con el botón derecho y seleccione Copy position en el menú contextual para copiar la posición actual en el portapapeles. La posición es un array n-por-2 que contiene las coordenadas xy yde cada vértice, donde n es el número de vértices.

Sugerencias

  • Para cualquiera de las sintaxis de roipoly , puede reemplazar la imagen de entrada I con dos argumentos, m y n, que especifican las cotas de fila y columna de una imagen arbitraria. Por ejemplo, estos comandos crean una máscara binaria 100-por-200.

    c = [112 112 79 79]; r = [37 66 66 37]; BW = roipoly(100,200,c,r); 

    Si especifica m y n con una forma interactiva de roipoly, se muestra una imagen negra m-por-n . Utilice el ratón para especificar un polígono dentro de esta imagen.

Consulte también

| | | |

Introducido antes de R2006a