Main Content

imdistline

Herramienta Distance

Descripción

Un objeto imdistline encapsula una herramienta Distance, que consta de una línea interactiva sobre una imagen, junto con una etiqueta de texto que muestra la distancia entre los puntos finales de la línea.

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

Creación

Descripción

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

ejemplo

h = imdistline(hparent) crea una herramienta Distance que se puede arrastrar en el objeto especificado por hparent.

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

ejemplo

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.

Coordenadas x de los puntos finales, especificadas como vector numérico de 2 elementos.

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

Coordenadas y de los puntos finales, especificadas como vector numérico de 2 elementos.

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

Propiedades

expandir todo

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

Tipos de datos: logical

Uso

Para mover la herramienta Distance, sitúe el puntero sobre la línea; la forma cambia a la flor, . Haga clic en la línea con el ratón y arrástrela. Para cambiar el tamaño de la herramienta Distance, mueva el puntero sobre cualquiera de los puntos finales de la línea; la forma cambia al dedo señalador, . Haga clic en el punto final de la línea con el ratón y arrástrelo.

Distance tool displaying a blue line over an image, with a label that indicates that the length of the line is 120.0 pixels.

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

Comportamiento de la herramienta DistanceElemento del menú contextual
Exportar los datos de punto final y distancia al espacio de trabajoSeleccione Export to Workspace en el menú contextual.
Activar y desactivar la etiqueta de distanciaSeleccione Show Distance Label en el menú contextual.
Especificar las restricciones de arrastre horizontal y verticalSeleccione Constrain Drag en el menú contextual.
Cambiar el color usado para visualizar la líneaSeleccione Set Color en el menú contextual.
Eliminar el objeto de la herramienta DistanceSeleccione Delete en el menú contextual.

Funciones del objeto

addNewPositionCallbackAdd new-position callback to ROI object
createMask(No recomendado) Crear una máscara dentro de una imagen
deleteDelete handle object
getAngleFromHorizontalReturn angle between Distance tool and horizontal axis
getColorGet color used to draw ROI object
getDistanceDevolver la distancia entre puntos finales de la herramienta Distance
getLabelHandleReturn handle to text label of Distance tool
getLabelTextFormatterReturn format of text label of Distance tool
getLabelVisibleReturn visibility of text label of Distance tool
getPositionDevolver la posición actual de un objeto de ROI
getPositionConstraintFcnReturn function handle to current position constraint function
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
setLabelTextFormatterSet format used to display text label of Distance tool
setLabelVisibleSet visibility of text label of Distance tool
setPosition(Not recommended) Move ROI object to new position
setPositionConstraintFcnSet position constraint function of ROI object
wait(Not recommended) Block MATLAB command line until ROI creation is finished

Ejemplos

contraer todo

Inserte una herramienta Distance en una imagen. Utilice makeConstrainToRectFcn para especificar una función de restricción de arrastre que evite que la herramienta Distance se arrastre fuera de la extensión de la imagen. Haga clic con el botón secundario en la herramienta Distance y explore las opciones del menú contextual.

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

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

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

Elimine la herramienta Distance.

delete(h)

Utilice la herramienta Distance con XData e YData de la imagen asociada en unidades que no sean píxeles. Este ejemplo requiere la imagen boston.tif del software Mapping Toolbox™, que incluye material con derechos de autor de GeoEye™, todos los derechos reservados.

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 Distance 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')

Convierta XData e YData a metros utilizando el factor de conversión.

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

Establezca XData e YData de la imagen para reflejar las unidades deseadas.

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

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

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

Sugerencias

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

  • También puede utilizar el objeto de ROI Line para crear una herramienta de distancia interactiva personalizable. Para ver un ejemplo, consulte Measure Distances in an Image.

Historial de versiones

Introducido antes de R2006a

Consulte también

|