主要内容

imdistline

距离工具

描述

一个imdistline对象封装了一个距离工具,该工具由图像上的交互式直线和显示直线端点之间距离的文本标签组成。

您可以使用鼠标调整线条的大小和位置。该行还有一个上下文菜单,用于控制其外观和行为的各个方面。有关更多信息,请参见使用

创建

描述

例子

h= imdistline在当前轴上创建一个距离工具。函数返回h的句柄imdistline对象。

h= imdistline (hparent在指定的对象上创建一个可拖动的距离工具hparent

例子

h= imdistline (___xy创建一个距离工具,其端点位于指定的位置x而且y

输入参数

全部展开

父对象的句柄,指定为句柄。父对象通常是一个axis对象,但也可以是任意其他对象hggroup对象。

x-端点坐标,指定为2元素数值向量。

例子:H = imdistline(gca,[10 100],[20 40]);在(x, y)坐标(10,20)处设置第一个端点,在坐标(100,40)处设置第二个端点。

y-端点坐标,指定为2元素数值向量。

例子:H = imdistline(gca,[10 100],[20 40]);在(x, y)坐标(10,20)处设置第一个端点,在坐标(100,40)处设置第二个端点。

属性

全部展开

ROI可以被删除,指定为真正的

数据类型:逻辑

使用

移动距离工具,将指针放置在直线上,形状变为芙蓉,.使用鼠标单击并拖动该线。要调整“距离”工具的大小,请将指针移动到直线的任意一个端点上,形状将变为指向的手指,.使用鼠标单击并拖动该线的端点。

该行还支持上下文菜单,允许您万博1manbetx控制其功能和外观的各个方面。右键单击该行以访问上下文菜单。

距离工具行为 菜单项
将端点和距离数据导出到工作区 选择导出到工作区从上下文菜单。
打开/关闭距离标签。 选择显示距离标签从上下文菜单。
指定水平和垂直拖动约束 选择约束阻力从上下文菜单。
更改用于显示线条的颜色。 选择设置颜色从上下文菜单。
删除距离工具对象 选择删除从上下文菜单。

对象的功能

addNewPositionCallback 向ROI对象添加新位置回调
createMask 在图像中创建蒙版
删除 删除句柄对象
getAngleFromHorizontal 距离工具与水平轴之间的返回角度
色鬼 获取用于绘制ROI对象的颜色
getDistance 返回距离工具的端点之间的距离
getLabelHandle 将手柄返回到距离工具的文本标签
getLabelTextFormatter 距离工具的文本标签返回格式
getLabelVisible 返回距离工具的文本标签的可见性
getPosition 返回ROI对象的当前位置
getPositionConstraintFcn 返回函数句柄到当前位置约束函数
removeNewPositionCallback 从ROI对象中删除新位置回调
重新开始 (不推荐)执行MATLAB命令行
改变颜色 (不推荐)设置绘制ROI对象的颜色
setConstrainedPosition 将ROI对象设置为新位置
setLabelTextFormatter 设置用于显示距离工具的文本标签的格式
setLabelVisible 设置距离工具的文本标签的可见性
setPosition (不推荐)将ROI对象移动到新位置
setPositionConstraintFcn 设置ROI对象的位置约束函数
等待 (不推荐)BlockMATLAB命令行,直到ROI创建完成

例子

插入距离工具到图像中

插入一个距离工具到一个图像。使用makeConstrainToRectFcn指定一个拖动约束函数,以防止将距离工具拖动到图像范围之外。右键单击距离工具并探索上下文菜单选项。

imshow (“pout.tif”) h = imdistline;fcn = makeConstrainToRectFcn(“imline”甘氨胆酸,(,“XLim”甘氨胆酸),得到(,“YLim”));setDragConstraintFcn (h, fcn);

位置距离工具的端点

将“距离”工具的端点定位到指定位置。

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

删除距离工具。

删除(h)

使用空间参照的距离工具

使用距离工具XData而且YData相关图像的非像素单位。此示例需要boston.tif图像来自Mapping 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”,{行,关口});figure hImg = imshow(img);标题(“每像素1米”

指定距离工具在哈佛桥上的初始位置。

Hline = imdistline(gca,[271 471],[108 650]);setLabelTextFormatter(线,“% 02.0 f米”);

重复这个过程,但是使用每像素2米的采样图像。验证得到的距离是否相同。

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”,{行,关口});figure hImg = imshow(img);标题(“2米/像素”

转换XData而且YData对仪表使用换算系数。

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

XData而且YData的图像,以反映所需的单位。

集(hImg,“XData”XDataInMeters,“YData”, YDataInMeters);集(gca),“XLim”XDataInMeters,“YLim”, YDataInMeters);

指定距离工具在哈佛桥上的初始位置。

Hline = imdistline(gca,[271 471],[108 650]);setLabelTextFormatter(线,“% 02.0 f米”);

提示

  • 如果你使用imdistline对于包含图像对象的轴,并且不指定拖动约束函数,则可以将直线拖动到图像范围之外。类创建的轴一起使用时情节功能,轴限自动扩展,以适应线的运动。

  • 你也可以使用对象来创建交互式可自定义距离工具。有关示例,请参见测量图像中的距离

另请参阅

|

R2006a之前介绍