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.

roipoly

Especificar una región de interés (ROI) poligonal

Descripción

Crear un polígono de forma interactiva

BW = roipoly crea una herramienta poligonal interactiva asociada a la imagen que se muestra en la figura actual. roipoly devuelve la máscara como una imagen binaria, estableciendo los píxeles dentro de la ROI en 1 y los píxeles fuera de la ROI en 0.

Con esta sintaxis y las otras sintaxis interactivas, la herramienta de selección de polígonos bloquea la línea de comandos de MATLAB® hasta que se complete la operación. Para obtener más información sobre la herramienta de selección de polígonos, consulte Comportamiento interactivo.

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

Crear un polígono especificando los vértices

ejemplo

BW = roipoly(I,xi,yi) especifica las coordenadas (x, y) de los vértices del polígono como (xi, yi).

BW = roipoly(xref,yref,I,xi,yi) especifica las coordenadas de los vértices del polígono en el sistema de coordenadas mundial definido por xref e yref. Los vértices del polígono tienen las coordenadas (x, y) xi e yi en este sistema de coordenadas.

Especificar opciones de salida adicionales

[BW,xi2,yi2] = roipoly(___) también devuelve las coordenadas de los vértices del polígono cerrado: xi2 e yi2. Puede utilizar los argumentos de entrada de cualquier otra sintaxis.

[xrefout,yrefout,BW,xi2,yi2] = roipoly(___) también devuelve los límites de imagen en xrefout e yrefout.

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

Ejemplos

contraer todo

Lea una imagen en el espacio de trabajo.

I = imread('eight.tif');

Defina los vértices del polígono para 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);

Muestre la imagen original y la máscara poligonal.

imshow(I)

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

figure
imshow(BW)

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

Argumentos de entrada

contraer todo

Imagen en escala de grises o RGB, especificada como matriz numérica de m por n o arreglo numérico de m por n por 3, respectivamente.

Coordenadas x de los vértices del polígono, especificadas como vector numérico de la misma longitud que yi. Si especifica los límites de la imagen en un sistema de coordenadas mundiales usando xref, xi está en el sistema de coordenadas. En caso contrario, xi está en el sistema de coordenadas predeterminado.

Coordenadas y de los vértices del polígono, especificadas como vector numérico de la misma longitud que xi. Si especifica los límites de la imagen en un sistema de coordenadas mundiales usando yref, yi está en el sistema de coordenadas. En caso contrario, yi está en el sistema de coordenadas predeterminado.

Límites de la imagen en coordenadas mundiales a lo largo de la dimensión x, especificados como un vector numérico de 2 elementos de la forma [xmin xmax]. El valor de xref establece los XData de la imagen.

Límites de la imagen en coordenadas mundiales a lo largo de la dimensión y, especificados como un vector numérico de 2 elementos de la forma [ymin ymax]. El valor de yref establece los YData de la imagen.

Argumentos de salida

contraer todo

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

Tipos de datos: logical

Coordenadas x de los vértices del polígono cerrado, devueltas como vector numérico de la misma longitud que yi2. El primer y el último elemento del vector son idénticos, de manera que el polígono es cerrado. Si especifica los límites de la imagen en un sistema de coordenadas mundiales usando xref, xi2 está en el sistema de coordenadas. En caso contrario, xi2 está en el sistema de coordenadas predeterminado.

Coordenadas y de los vértices del polígono cerrado, devueltas como vector numérico de la misma longitud que xi2. El primer y el último elemento del vector son idénticos, de manera que el polígono es cerrado. Si especifica los límites de la imagen en un sistema de coordenadas mundiales usando yref, yi2 está en el sistema de coordenadas. En caso contrario, yi2 está en el sistema de coordenadas predeterminado.

Límites de la imagen en coordenadas mundiales a lo largo de la dimensión x, devueltos como un vector numérico de 2 elementos de la forma [xmin xmax]. Si especifica los límites de la imagen en un sistema de coordenadas mundiales usando xref, xrefout es igual a xref. En caso contrario, xrefout es igual a XData de la imagen original.

Límites de la imagen en coordenadas mundiales a lo largo de la dimensión y, devueltos como un vector numérico de 2 elementos de la forma [ymin ymax]. Si especifica los límites de la imagen en un sistema de coordenadas mundiales usando yref, yrefout es igual a yref. En caso contrario, yrefout es igual a YData de la imagen original.

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 con el ratón.

Cuando la herramienta para polígonos está activa, el puntero cambia a un retículo cuando mueve el puntero sobre la imagen de la figura. Con el ratón especifica la región seleccionando los vértices del polígono. Puede mover o cambiar el tamaño del polígono con el ratón. Cuando termine de situar y de cambiar el tamaño del polígono, cree la máscara haciendo doble clic o haciendo clic con el botón secundario dentro de la región y seleccionando Create mask en el menú contextual.

La figura ilustra un polígono definido por múltiples vértices. La siguiente tabla describe todo el comportamiento interactivo de la herramienta para polígonos.

Selected polygon vertices appear as blue points connected by blue line segments.

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

Utilice cualquiera de los siguientes mecanismos:

  • Mueva el puntero sobre el vértice inicial del polígono que ha seleccionado. El puntero cambia a un círculo . Haga clic con cualquier botón del ratón.

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

  • Haga clic con el botón secundario 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 situado bajo el ratón.

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 por la imagen.
Eliminar el polígono

Pulse las teclas Retroceso, Esc o Supr, o haga clic con el botón secundario dentro de la región y seleccione Cancel en el menú contextual.

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

Mover un vértice. (Cambiar la forma 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ñadir un nuevo vértice.Mueva el puntero sobre un borde del polígono y pulse la tecla A. El puntero cambia a la forma. Haga clic con el botón principal del ratón para crear un nuevo vértice en ese punto del borde.
Eliminar un vértice. (Cambiar la forma 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 secundario 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 a cualquier parte dentro del límite de la región y haga clic con el botón secundario del ratón. Seleccione Set color en el menú contextual.
Recuperar las coordenadas de los vértices Mueva el puntero dentro de la región. Haga clic con el botón secundario y seleccione Copy position en el menú contextual para copiar la posición actual en el portapapeles. La posición es un arreglo de n por 2 que contiene las coordenadas x e y de cada vértice, donde n es el número de vértices.

Sugerencias

  • roipoly siempre genera un polígono cerrado. Si especifica las posiciones de los vértices 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 las coordenadas de salida es igual al número de puntos especificado. Si los puntos especificados no describen un polígono cerrado, roipoly añade un punto final que tiene las mismas coordinadas que el primer punto. En este caso, la longitud de los vectores de las coordenadas de salida es uno más que el número de puntos especificado.

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

  • Para cualquiera de las sintaxis roipoly, puede reemplazar la imagen de entrada I con dos argumentos (m y n) que especifican las dimensiones de las filas y las columnas de una imagen arbitraria. Por ejemplo, estos comandos crean una máscara binaria de 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 en negro de m por n. Utilice el ratón para especificar un polígono en esta imagen.

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a

expandir todo