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.

imellipse

Crear elipse arrastrable

Descripción

Un objeto imellipse encapsula una elipse interactiva sobre una imagen.

Puede ajustar el tamaño y la posición de la elipse utilizando el mouse. La elipse también tiene un menú contextual que controla aspectos de su apariencia y comportamiento. Para obtener más información, consulte Uso.

Creación

Sintaxis

h = imellipse
h = imellipse(hparent)
h = imellipse(hparent,position)
h = imellipse(___,Name,Value)

Descripción

h = imellipse inicia la colocación interactiva de una elipse en los ejes actuales y devuelve un objeto imellipse .

h = imellipse(hparent) inicia la colocación interactiva de una elipse en el objeto especificado por hparent.

ejemplo

h = imellipse(hparent,position) crea una elipse arrastrable en la posición position en el objeto especificado por hparent.

h = imellipse(___,Name,Value) especifica pares nombre-valor que controlan el comportamiento de la elipse.

Argumentos de entrada

expandir todo

Identificador del objeto primario, especificado como identificador. El elemento primario es normalmente 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 la elipse definida por un rectángulo delimitador, especificada como un vector de 4 elementos del formulario [xmin ymin width height]. El tamaño inicial del rectángulo delimitador es width-por-height, y la esquina superior izquierda del rectángulo se encuentra en la coordenada (x, y) (xmin,ymin).

Argumentos de par nombre-valor

Especifique pares opcionales separados por comas de argumentos Name,Value . Name es el nombre del argumento y Value es el valor correspondiente. Name debe aparecer dentro de comillas simples (' '). 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 consistente en 'PositionConstraintFcn' y un identificador de función. fcn se llama cada vez que se arrastra el mouse. Puede utilizar esta función para controlar dónde se puede arrastrar la elipse. Consulte la ayuda de la función setPositionConstraintFcn para obtener información acerca de los identificadores de función válidos.

Propiedades

expandir todo

El ROI puede ser eliminado, especificado como true o false.

Tipos de datos: logical

Uso

Cuando se llama a imellipse con una sintaxis interactiva, el puntero cambia a una cruz de pelos cuando sobre una imagen. Haga clic y arrastre el ratón para especificar el tamaño y la posición de la elipse. La elipse también admite un menú contextual que puede utilizar para controlar aspectos de su apariencia y comportamiento. Haga clic con el botón derecho en la elipse para acceder a este menú contextual.

La tabla muestra el comportamiento interactivo soportado por imellipse.

Comportamiento interactivoDescripción
Moviendo toda la elipse.Mueva el puntero dentro de la elipse. El puntero cambia a una forma de flor . Haga clic y arrastre el ratón para mover la elipse.
Redimensionar la elipse.Mueva el puntero sobre un identificador de cambio de tamaño en la elipse. El puntero cambia a una forma de flecha de dos puntas . Haga clic y arrastre el ratón para cambiar el tamaño de la elipse.
Cambiar el color utilizado para mostrar la elipse. Mueva el puntero dentro de la elipse. Haga clic con el botón derecho y seleccione Set Color en el menú contextual.
Recuperando la posición actual de la elipse.Mueva el puntero dentro de la elipse. Haga clic con el botón derecho y seleccione Copy Position en el menú contextual. imellipse copia un vector de posición de cuatro elementos [xmin ymin width height] al portapapeles.
Preservación de la relación de aspecto actual de la elipse durante el cambio de tamaño.Mueva el puntero dentro de la elipse. Haga clic con el botón derecho y seleccione Fix Aspect Ratio en el menú contextual.
Eliminación de la elipseMueva el puntero dentro de la elipse. Haga clic con el botón derecho y seleccione Delete en el menú contextual. Para quitar esta opción del menú contextual, establezca la propiedad Deletable en false: h = imellipse(); h.Deletable = false;

Funciones del objeto

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

addNewPositionCallbackAgregar devolución de llamada de nueva posición al objeto ROI
createMaskCrear máscara dentro de la imagen
deleteDelete handle object
getColorObtener color utilizado para dibujar el objeto ROI
getPositionDevolver la posición actual del objeto ROI
getPositionConstraintFcnControlador de función de retorno a la función de restricción de posición actual
getVerticesDevuelve los vértices del perímetro del objeto Ellipse ROI
removeNewPositionCallbackQuitar devolución de llamada de nueva posición del objeto ROI
resumeReanudar la ejecución de la línea de comandos MATLAB
setColorEstablecer color utilizado para dibujar el objeto ROI
setConstrainedPositionEstablecer objeto ROI en nueva posición
setFixedAspectRatioModeConservar relación de aspecto al cambiar el tamaño del objeto ROI
setPositionMover el objeto ROI a nueva posición
setPositionConstraintFcnDefinir función de restricción de posición del objeto ROI
setResizableEstablecer el comportamiento de redimensionamiento del objeto ROI
waitBloquear línea de comandos MATLAB hasta que finalice la creación del ROI

Ejemplos

Actualizar título cuando se mueve la elipse

Cree una elipse, utilizando devoluciones de llamada para mostrar la posición actualizada en el título de la figura. El ejemplo ilustra el uso del makeConstrainToRectFcn para mantener la elipse dentro de los rangos originales XLim y YLim .

imshow('coins.png') h = imellipse(gca,[10 10 100 100]); addNewPositionCallback(h,@(p) title(mat2str(p,3))); fcn = makeConstrainToRectFcn('imellipse',get(gca,'XLim'),get(gca,'YLim')); setPositionConstraintFcn(h,fcn);

Haga clic y arrastre para colocar la elipse

Coloque una elipse de forma interactiva haciendo clic y arrastrándolo. Utilice wait para bloquear la línea de comandos MATLAB® . Haga doble clic en la elipse para reanudar la ejecución de la línea de comandos MATLAB .

imshow('coins.png') h = imellipse; position = wait(h);

Sugerencias

Si utiliza imellipse con un eje que contiene un objeto Image y no especifica una función de restricción de posición, los usuarios pueden arrastrar la elipse fuera del alcance de la imagen y perder la elipse. Cuando se utiliza con los ejes creados por la función plot , los límites de los ejes se expanden automáticamente para adaptarse al movimiento de la elipse.

Introducido en R2007b