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.

impoly

Cree un polígono arrastrable y de tamaño variable

no se recomienda.impoly Use en su lugar.drawpolygon

Descripción

Un objeto encapsula un polígono interactivo sobre una imagen.impoly

Puede Agregar vértices y ajustar el tamaño y la posición del polígono con el mouse. El polígono también tiene un menú contextual que controla aspectos de su apariencia y comportamiento. Para obtener más información, consulte.Uso

Creación

Descripción

h = impoly comienza la colocación interactiva de un polígono en los ejes actuales y devuelve un objeto.impoly

h = impoly(hparent) comienza la colocación interactiva de un polígono en el objeto especificado por.hparent

ejemplo

h = impoly(hparent,position) crea un polígono arrastrable y redimensionable con vértices en las coordenadas definidas por.position

ejemplo

h = impoly(___,Name,Value) especifica los pares nombre-valor que controlan el comportamiento del polígono.

Argumentos de entrada

expandir todo

Identificador para el objeto primario, especificado como un identificador. El elemento primario suele ser un objeto de ejes, pero también puede ser cualquier otro objeto que pueda ser el elemento primario de un objeto.hggroup

Posición de los vértices del polígono, especificado como una matriz de-por-2.n Las dos columnas definen la coordenada-y-, respectivamente, de cada uno de los vértices.xyn

Argumentos de par nombre-valor

Especifique pares de argumentos separados por comas opcionales. es el nombre del argumento y es el valor correspondiente. deben aparecer dentro de las cotizaciones.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como.Name1,Value1,...,NameN,ValueN

Función de restricción de posición, especificada como el par separado por comas que consta de y un identificador de función. se llama cada vez que se arrastra el ratón.'PositionConstraintFcn'fcn Puede utilizar esta función para controlar dónde se puede arrastrar el polígono. Consulte la ayuda de la función para obtener información sobre los identificadores de función válidos.setPositionConstraintFcn

Polígono está cerrado, especificado como el par separado por comas que consta de y o.'Closed'truefalse Cuando se establece en (el valor predeterminado), crea un polígono cerrado, es decir, dibuja una línea recta entre el último vértice especificado y el primer vértice especificado para crear una región cerrada.trueimpoly Cuando es, no conecta el último vértice con el primer vértice, creando un polígono abierto (o polilínea).Closedfalseimpoly

Tipos de datos: logical

Propiedades

expandir todo

El ROI se puede eliminar, especificar como o.truefalse

Tipos de datos: logical

Uso

Cuando se llama con una sintaxis interactiva, el puntero cambia a una cruz de pelosimpolyCuando se sobre la imagen. Haga clic y arrastre el ratón para definir los vértices del polígono y ajustar el tamaño, la forma y la posición del polígono. De forma predeterminada, dibuja una línea recta que conecta el último punto que dibujó con el primer punto, pero puede controlar este comportamiento mediante el parámetro.impolyClosed

El polígono también admite un menú contextual que puede usar para controlar aspectos de su apariencia y comportamiento. Las opciones en el menú contextual varían si se coloca el puntero en un borde del polígono (o en cualquier lugar dentro de la región) o en uno de los vértices. La figura muestra el menú contextual cuando el puntero está en el polígono pero no en un vértice.

La tabla enumera los comportamientos interactivos admitidos por.impoly

Comportamiento interactivoDescripción
Cerrando el polígono.

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

  • Haga doble clic en el botón izquierdo del ratón. Esta acción crea un vértice en el punto debajo 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 derecho del ratón. Esta acción dibuja una línea que conecta el último vértice seleccionado con el vértice inicial; no crea un nuevo vértice.

Adición de un nuevo vértice.Mueva el puntero sobre un borde del polígono. Mantenga pulsada la tecla.Un La forma del puntero cambia. Haga clic con el botón izquierdo del ratón para crear un nuevo vértice en esa posición en la línea.
Moviendo un vértice. (Remodelar el polígono.)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.
Eliminar un vértice.Mueva el puntero sobre un vértice. La forma cambia a un círculo. Haga clic con el botón derecho y seleccione en el menú contextual del vértice.Delete Vertex Esta acción elimina el vértice y ajusta la forma del polígono, dibujando una nueva línea recta entre los dos vértices que eran vecinos del vértice eliminado.
Eliminar el polígonoMueva el puntero dentro del polígono o en una de las líneas que definen el polígono, no en un vértice. Haga clic con el botón derecho y seleccione en el menú contextual.Delete Para eliminar esta opción del menú contextual, establezca la propiedad en false:Deletableh = impoly(); h.Deletable = false;
Moviendo el polígono.Mueva el puntero dentro del polígono. El puntero cambia a una forma de flor. Haga clic y arrastre el ratón para mover el polígono.
Cambiar el color del polígonoMueva el puntero dentro del polígono. Haga clic con el botón derecho y seleccione en el menú contextual.Set Color
Recuperar las coordenadas de los vértices Mueva el puntero dentro del polígono. Haga clic con el botón derecho y seleccione en el menú contextual. copia un array-by-2 que contiene las coordenadas de cada vértice en el portapapeles. es el número de vértices que especificó.Copy Positionimpolynxyn

Funciones del objeto

Cada objeto admite varios métodos.impoly Escriba para ver una lista completa.methods impoly

addNewPositionCallbackAgregue la devolución de llamada de nueva posición al objeto ROI
createMaskCrear máscara dentro de la imagen
deleteDelete handle object
getColorObtener el color utilizado para dibujar el objeto ROI
getPositionDevolver la posición actual del objeto ROI
getPositionConstraintFcnDevolver el manejador de función a la función de restricción de posición actual
removeNewPositionCallbackQuite la devolución de llamada de nueva posición del objeto ROI
resume(No recomendado) Reanudar la ejecución de la línea de comandosMATLAB
setClosedEstablecer el comportamiento de cierre del objeto ROI
setColorEstablecer el color utilizado para dibujar el objeto ROI
setConstrainedPositionEstablezca el objeto ROI en una nueva posición
setPositionMueva el objeto ROI a una nueva posición
setPositionConstraintFcnEstablezca la función de restricción de posición del objeto ROI
setVerticesDraggableEstablezca el comportamiento de vértice del objeto ROI
wait(No recomendado) Bloquee la línea de comandos hasta que finalice la creación de ROIMATLAB

Ejemplos

contraer todo

Mostrar una imagen.

imshow('gantrycrane.png')

Dibuje un polígono en la imagen, especificando la ubicación de cinco vértices.

h = impoly(gca,[188,30; 189,142; 93,141; 13,41; 14,29]);

Establezca el color del polígono en amarillo.

setColor(h,'yellow');

Defina una función para la nueva devolución de llamada de posición. Esta función muestra la posición actual del polígono cada vez que se mueve.

addNewPositionCallback(h, @(p) title(mat2str(p,3))); 

Cree la función que restringe el movimiento del polígono mediante el uso, especificando el límite de la imagen como los límites.makeConstrainToRectFcn Aplicar la función de restricción de límite mediante.setPositionConstraintFcn

fcn = makeConstrainToRectFcn('impoly',get(gca,'XLim'),get(gca,'YLim')); setPositionConstraintFcn(h,fcn); 

Imagen de visualización.

figure imshow('gantrycrane.png');

Crear un polígono, especificando varios vértices, pero dejarlo sin terminar para que pueda terminarlo interactivamente. El ejemplo se establece en para que el polígono se deja abierto.Closedfalse Al desplazar el cursor sobre uno de los puntos finales del polígono, la forma del cursor cambia a un círculo.

h = impoly(gca,[203,30; 202,142; 294,142],'Closed',false); 

Completa el polígono. Agarre uno de los extremos de las líneas existentes. Extienda la línea arrastrándola a otra esquina de la forma que desee crear. A continuación, mientras coloca el cursor sobre la línea, mantenga pulsada la tecla para añadir un vértice a la línea.A Una vez creado el vértice, puede arrastrarlo a cualquier lugar que desee para crear la forma que desee. Continúe arrastrando la línea y añadiendo vértices como desee. Para obtener más información, consulte.Uso

Sugerencias

Si utiliza con un eje que contiene un objeto de imagen y no especifica una función de restricción de posición, los usuarios pueden arrastrar el polígono fuera de la extensión de la imagen y perder el polígono.impoly Cuando se utiliza con un eje creado por la función, los límites de los ejes se expanden automáticamente cuando el polígono se arrastra fuera de la extensión de los ejes.plot

Introducido en R2007b