Main Content

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.

imdistline

Herramienta de distancia

Descripción

Un objeto es un tipo que encapsula una herramienta Distancia, que consta de una línea interactiva sobre una imagen, emparejada con una etiqueta de texto que muestra la distancia entre los puntos finales de línea.imdistlineimline

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

ejemplo

h = imdistline crea una herramienta Distancia en los ejes actuales. La función devuelve , un identificador a un objeto.himdistline

h = imdistline(hparent) crea una herramienta Distancia arrastrable en el objeto especificado por .hparent

ejemplo

h = imdistline(___,x,y) crea una herramienta Distancia con puntos finales en las posiciones especificadas por y .xy

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

-coordenadas de los puntos finales, especificadas como un vector numérico de 2 elementos.x

Ejemplo: establece el primer punto final en la coordenada (x, y) (10, 20) y el segundo punto final en la coordenada (100, 40).h = imdistline(gca,[10 100],[20 40]);

-coordenadas de los puntos finales, especificadas como un vector numérico de 2 elementos.y

Ejemplo: establece el primer punto final en la coordenada (x, y) (10, 20) y el segundo punto final en la coordenada (100, 40).h = imdistline(gca,[10 100],[20 40]);

Propiedades

expandir todo

El ROI se puede eliminar, especificar como o .truefalse

Tipos de datos: logical

Uso

Para mover la herramienta Distancia, coloque el puntero sobre la línea, la forma cambia al fleur,. Haga clic y arrastre la línea con el ratón. Para cambiar el tamaño de la herramienta Distancia, mueva el puntero sobre cualquiera de los puntos finales de la línea, la forma cambia al dedo señalador,. Haga clic y arrastre el punto final de la línea con el ratón.

La línea también es compatible con un menú contextual que le permite controlar varios aspectos de su funcionamiento y apariencia. Haga clic con el botón derecho en la línea para acceder al menú contextual.

Comportamiento de la herramienta de distanciaElemento del menú contextual
Exportar datos de punto final y distancia al espacio de trabajoSeleccione en el menú contextual.Export to Workspace
Activa/desactiva la etiqueta de distancia.Seleccione en el menú contextual.Show Distance Label
Especificar restricciones de arrastre horizontales y verticalesSeleccione en el menú contextual.Constrain Drag
Cambie el color utilizado para mostrar la línea.Seleccione en el menú contextual.Set Color
Eliminar el objeto de la herramienta DistanciaSeleccione en el menú contextual.Eliminar

Funciones del objeto

addNewPositionCallbackAñadir devolución de llamada de nueva posición al objeto ROI
createMaskCrear máscara dentro de la imagen
deleteDelete handle object
getAngleFromHorizontalAngulo de retorno entre la herramienta Distancia y el eje horizontal
getColorObtener el color utilizado para dibujar objetos de ROI
getDistanceDistancia de retorno entre los puntos finales de la herramienta Distancia
getLabelHandleVolver el asa a la etiqueta de texto de la herramienta Distancia
getLabelTextFormatterFormato de devolución de la etiqueta de texto de la herramienta Distancia
getLabelVisibleDevolver visibilidad de la etiqueta de texto de la herramienta Distancia
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
setLabelTextFormatterEstablecer el formato utilizado para mostrar la etiqueta de texto de la herramienta Distancia
setLabelVisibleEstablecer visibilidad de la etiqueta de texto de la herramienta Distancia
setPositionMover el objeto ROI a una nueva posición
setPositionConstraintFcnEstablecer la función de restricción de posición del objeto ROI
wait(No recomendado) Bloquear la línea de comandos hasta que finalice la creación del ROIMATLAB

Nota

Cada función que acepta un también acepta un archivo .imlineimdistline Estos objetos definen la posición de la misma manera.

Ejemplos

Insertar herramienta de distancia en una imagen

Inserte una herramienta Distancia en una imagen. Se utiliza para especificar una función de restricción de arrastre que impide que la herramienta Distancia se arrastre fuera de la extensión de la imagen.makeConstrainToRectFcn Haga clic con el botón derecho en la herramienta Distancia y explore las opciones del menú contextual.

imshow('pout.tif'); h = imdistline; fcn = makeConstrainToRectFcn('imline',...                               get(gca,'XLim'),get(gca,'YLim')); setDragConstraintFcn(h,fcn);   

Posición Puntos finales de la herramienta de distancia

Coloque los puntos finales de la herramienta Distancia en las ubicaciones especificadas.

imshow('pout.tif'); h = imdistline(gca,[10 100],[10 100]);

Elimine la herramienta Distancia.

delete(h)

Utilice la herramienta Distancia con referencia espacial

Utilice la herramienta Distancia con y de la imagen asociada en unidades que no sean de píxel.XDataYData Este ejemplo requiere la imagen del software, que incluye el material protegido por derechos de autor por , todos los derechos reservados.boston.tifMapping Toolbox™GeoEye™

start_row = 1478; end_row = 2246; meters_per_pixel = 1; rows = [start_row meters_per_pixel end_row]; start_col = 349; end_col = 1117; cols = [start_col meters_per_pixel end_col]; img  = imread('boston.tif','PixelRegion',{rows,cols}); figure;  hImg = imshow(img); title('1 meter per pixel'); 

Especifique la posición inicial de la herramienta de distancia en Harvard Bridge.

hline = imdistline(gca,[271 471],[108 650]); setLabelTextFormatter(hline,'%02.0f meters'); 

Repita el proceso pero trabaje con una imagen muestreada de 2 metros por píxel. Verifique que se obtenga la misma distancia.

meters_per_pixel = 2; rows = [start_row meters_per_pixel end_row]; cols = [start_col meters_per_pixel end_col]; img  = imread('boston.tif','PixelRegion',{rows,cols}); figure;     hImg = imshow(img); title('2 meters per pixel');

Convertir y a metros utilizando el factor de conversión.XDataYData

XDataInMeters = get(hImg,'XData')*meters_per_pixel;  YDataInMeters = get(hImg,'YData')*meters_per_pixel;

Establezca y de la imagen para reflejar las unidades deseadas.XDataYData

set(hImg,'XData',XDataInMeters,'YData',YDataInMeters);     set(gca,'XLim',XDataInMeters,'YLim',YDataInMeters);

Especifique la posición inicial de la herramienta de distancia en Harvard Bridge.

hline = imdistline(gca,[271 471],[108 650]); setLabelTextFormatter(hline,'%02.0f meters');        

Sugerencias

  • Si utiliza con un eje que contiene un objeto de imagen y no especifica una función de restricción de arrastre, los usuarios pueden arrastrar la línea fuera de la extensión de la imagen.imdistline Cuando se utiliza con ejes creados por la función, los límites de los ejes se expanden automáticamente para acomodar el movimiento de la línea.plot

Consulte también

| |

Introducido antes de R2006a