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.

imrect

Crear rectángulo arrastrable

no se recomienda.imrect Utilice el nuevo objeto de ROI en su lugar.Rectangle También puede utilizar la nueva función de conveniencia de ROI.drawrectangle Para obtener más información, consulte .Consideraciones de compatibilidad

Descripción

Un objeto encapsula un rectángulo interactivo sobre una imagen.imrect

Puede ajustar el tamaño y la posición del rectángulo con el ratón. El rectángulo 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 = imrect comienza la colocación interactiva de un rectángulo en los ejes actuales y devuelve un objeto.imrect

h = imrect(hparent) comienza la colocación interactiva de un rectángulo en el objeto especificado por .hparent

ejemplo

h = imrect(hparent,position) crea un rectángulo arrastrable en la posición del objeto especificado por .positionhparent

h = imrect(___,Name,Value) especifica pares nombre-valor que controlan el comportamiento del rectángulo.

Argumentos de entrada

expandir todo

Controlar 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 del rectángulo, especificada como un vector de 4 elementos de la forma.[xmin ymin width height] El tamaño inicial del rectángulo es -by- , y la esquina superior izquierda del rectángulo está en la coordenada (x,y) ( , ).widthheightxminymin

Argumentos de par nombre-valor

Especifique pares opcionales separados por comas de argumentos. es el nombre del argumento y es el valor correspondiente. deben aparecer entre comillas.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 rectángulo. Consulte la ayuda de la función para obtener información sobre los identificadores de función válidos.setPositionConstraintFcn

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 un punto de miraimrectcuando sobre la imagen. Puede crear el rectángulo y ajustar su tamaño y posición con el ratón. El rectángulo también admite un menú contextual que puede usar para controlar aspectos de su apariencia y comportamiento. Haga clic con el botón derecho en el rectángulo para acceder a este menú contextual.

La tabla enumera los comportamientos interactivos admitidos por .imrect

Comportamiento interactivoDescripción
Mover el rectángulo.Mueva el puntero dentro del rectángulo. El puntero cambia a una forma de fleur. Haga clic y arrastre el ratón para mover el rectángulo.
Cambiar el tamaño del rectángulo. Mueva el puntero sobre cualquiera de los bordes o esquinas del rectángulo, la forma cambia a una flecha de doble extremo,. Haga clic y arrastre el borde o la esquina con el ratón.
Cambiar el color del rectángulo.Mueva el puntero dentro del rectángulo. Haga clic con el botón derecho y seleccione en el menú contextual.Set Color
Recuperar las coordenadas de la posición actualMueva el puntero dentro del polígono. Haga clic con el botón derecho y seleccione en el menú contextual. copia un vector de posición de cuatro elementos en el portapapeles.Copy Positionimrect
Conservar la relación de aspecto actual del rectángulo durante el cambio de tamaño interactivo. Mueva el puntero dentro del rectángulo. Haga clic con el botón derecho y seleccione en el menú contextual.Fix Aspect Ratio
Eliminación del rectánguloMueva el puntero dentro del rectángulo o en un borde del rectángulo. Haga clic con el botón derecho y seleccione en el menú contextual.Delete Para quitar esta opción del menú contextual, establezca la propiedad en false:Deletableh = imrect(); h.Deletable = false;

Cuando se utiliza para hacer que el rectángulo no se puede cambiar de tamaño, no se proporciona el elemento de menú contextual.setResizeableFix Aspect Ratio

Funciones del objeto

Cada objeto admite una serie de funciones.imrect Escriba para ver una lista completa.methods imrect

addNewPositionCallbackAñadir 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 objetos de ROI
getPositionDevolver la posición actual del objeto ROI
getPositionConstraintFcnMango de función de retorno a la función de restricción de posición actual
removeNewPositionCallbackEliminar devolución de llamada de nueva posición del objeto ROI
resume(No recomendado) Reanudar la ejecución de la línea de comandosMATLAB
setColorEstablecer el color utilizado para dibujar el objeto ROI
setConstrainedPositionEstablezca el objeto de ROI en una nueva posición
setFixedAspectRatioModeConservar la relación de aspecto al cambiar el tamaño del objeto de ROI
setPositionMover el objeto ROI a una nueva posición
setPositionConstraintFcnEstablecer la función de restricción de posición del objeto ROI
setResizableEstablecer el comportamiento de cambio de tamaño del objeto de ROI
wait(No recomendado) Bloquear la línea de comandos hasta que finalice la creación del ROIMATLAB

Ejemplos

Actualizar título cuando el rectángulo se mueve

Mostrar un ROI de rectángulo sobre una imagen. Muestra la posición del rectángulo en el título. El título se actualiza al mover el rectángulo. Intente arrastrar un lado del rectángulo fuera del límite de la imagen.

imshow('cameraman.tif') h = imrect(gca,[10 10 100 100]); addNewPositionCallback(h,@(p) title(mat2str(p,3)));

Especifique una función de restricción de posición utilizando para mantener el rectángulo dentro del original y los rangos de la imagen.makeConstrainToRectFcnXLimYLim

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

Ahora arrastre el rectángulo con el ratón. Observe que el rectángulo ya no puede extenderse más allá del límite de la imagen.

Haga clic y arrastre para colocar rectángulo

Coloque interactivamente un rectángulo haciendo clic y arrastrando. Se utiliza para bloquear la línea de comandos.waitMATLAB® Haga doble clic en el rectángulo para reanudar la ejecución de la línea de comandos.MATLAB

imshow('pout.tif'); h = imrect; position = wait(h);

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 rectángulo fuera de la extensión de la imagen.imrect Cuando se utiliza con ejes creados por la función, los límites de los ejes se expanden automáticamente para acomodar el movimiento del rectángulo.plot

Consideraciones de compatibilidad

expandir todo

No se recomienda a partir de R2018b

Introducido antes de R2006a