Contenido principal

imellipse

(No recomendado) Crear una elipse que se puede arrastrar

No se recomienda el uso de imellipse. Utilice en su lugar el objeto de ROI Ellipse. También puede utilizar la función de conveniencia de creación de ROI drawellipse. Si ha utilizado imellipse para crear una ROI circular, utilice en su lugar el objeto de ROI Circle. Para obtener más información, consulte Historial de versiones.

Descripción

Un objeto imellipse encapsula una elipse interactiva sobre una imagen.

Puede ajustar el tamaño y la posición de la elipse con el ratón. 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

Descripción

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

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

h = imellipse(hparent,position) crea una elipse que se puede arrastrar a la posición position del objeto especificado por hparent.

ejemplo

h = imellipse(___,"PositionConstraintFcn",fcn) también especifica a dónde se puede arrastrar la elipse utilizando una función de restricción de posición, fcn.

Argumentos de entrada

expandir todo

Identificador del objeto principal, especificado como identificador. El objeto principal es normalmente un objeto de ejes, pero también puede ser cualquier otro objeto que pueda ser el objeto principal de un objeto hggroup.

Posición de la elipse definida por un rectángulo delimitador, especificada como vector de 4 elementos con la forma [xmin ymin width height]. El tamaño inicial del rectángulo delimitador es width por height y la esquina superior izquierda del rectángulo está en la coordenada (x, y) (xmin,ymin).

Función de restricción de posición, especificada como un identificador de función. Se llama a fcn siempre que se arrastra el ratón. Puede utilizar esta función para controlar a dónde puede arrastrarse la elipse. Para obtener información sobre identificadores de función válidos, consulte la ayuda para la función setPositionConstraintFcn.

Propiedades

expandir todo

La ROI se puede eliminar, especificado como true o false.

Tipos de datos: logical

Uso

Cuando llama a imellipse con una sintaxis interactiva, el puntero cambia a un retículo cuando está sobre una imagen. Haga clic y arrastre con 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 secundario en la elipse para acceder a este menú contextual.

Blue ellipse displayed over an image, with draggable points to resize the ellipse and a context menu that gives options to copy the position, set the color, fix the aspect ratio, or delete the ellipse.

En esta tabla se enumeran los comportamientos interactivos compatibles con imellipse.

Comportamiento interactivoDescripción
Mover toda la elipseMueva el puntero dentro de la elipse. El puntero cambia a una forma de flor . Haga clic y arrastre con el ratón para mover la elipse.
Cambiar el tamaño de la elipseMueva el puntero sobre un control de redimensionamiento de la elipse. El puntero cambia a la forma de una flecha con dos extremos . Haga clic y arrastre con el ratón para cambiar el tamaño de la elipse.
Cambiar el color usado para mostrar la elipse Mueva el puntero dentro de la elipse. Haga clic con el botón secundario y seleccione Set Color en el menú contextual.
Recuperar la posición actual de la elipseMueva el puntero dentro de la elipse. Haga clic con el botón secundario y seleccione Copy Position en el menú contextual. imellipse copia un vector de posición de cuatro elementos [xmin ymin width height] en el portapapeles.
Mantener la relación de aspecto actual de la elipse durante el cambio de tamañoMueva el puntero dentro de la elipse. Haga clic con el botón secundario y seleccione Fix Aspect Ratio en el menú contextual.
Eliminar la elipseMueva el puntero dentro de la elipse. Haga clic con el botón secundario y seleccione Delete en el menú contextual. Para eliminar 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.

addNewPositionCallbackAdd new-position callback to ROI object
createMask(No recomendado) Crear una máscara dentro de una imagen
deleteDelete handle object
getColorObtener el color utilizado para dibujar un objeto de ROI
getPositionDevolver la posición actual de un objeto de ROI
getPositionConstraintFcnReturn function handle to current position constraint function
getVerticesReturn vertices on perimeter of ellipse ROI object
removeNewPositionCallbackRemove new-position callback from ROI object
resume(Not recommended) Resume execution of MATLAB command line
setColor(No recomendado) Establecer el color utilizado para dibujar un objeto de ROI
setConstrainedPositionSet ROI object to new position
setFixedAspectRatioModePreserve aspect ratio when resizing ROI object
setPosition(Not recommended) Move ROI object to new position
setPositionConstraintFcnSet position constraint function of ROI object
setResizableSet resize behavior of ROI object
wait(Not recommended) Block MATLAB command line until ROI creation is finished

Ejemplos

contraer todo

Cree una elipse.

imshow("coins.png")
h = imellipse(gca,[10 10 100 100]);

Utilice callbacks para mostrar la posición actualizada en el título de la figura. El ejemplo ilustra el uso de makeConstrainToRectFcn para mantener la elipse dentro de los rangos originales XLim e YLim.

addNewPositionCallback(h,@(p) title(mat2str(p,3)));
fcn = makeConstrainToRectFcn("imellipse",get(gca,"XLim"),get(gca,"YLim"));
setPositionConstraintFcn(h,fcn);

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

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

Sugerencias

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

Historial de versiones

Introducido en R2007b

contraer todo