文档

imline

创建可拖动、可调整大小的线

描述

一个imline对象封装图像上的交互行。

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

创建

语法

直线
H = imline(hparent)
H = imline(hparent,position)
H = imline(hparent,x,y)
H =直线(___、名称、值)

描述

例子

直线开始在当前轴上交互式放置一条线,并返回imline对象。

H =直线(hparent控件指定的对象上开始交互式地放置一行hparent

例子

H =直线(hparent位置创建可拖动、可调整大小的行,其坐标定义为位置

H =直线(hparentxy创建一个可拖动的,可调整大小的行x- - -y定义的端点的坐标x而且y

H =直线(___名称,值指定控制行行为的名-值对。

输入参数

全部展开

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

线端点的位置,指定为形式的2 × 2数组[(x1, y1;x2 y2)

x-线端点的坐标,指定为形式的2元素向量X = [x1 x2]

y-线端点的坐标,指定为形式的2元素向量Y = [y1 y2]

名称-值对参数

的可选逗号分隔对名称,值参数。的名字参数名称和价值对应的值。的名字必须出现在单引号内(' ').您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

全部展开

位置约束函数,指定为逗号分隔的对,由“PositionConstraintFcn”和一个函数句柄。fcn在拖动鼠标时调用。您可以使用此函数来控制可以拖动行的位置。参见帮助setPositionConstraintFcn函数获取有关有效函数句柄的信息。

属性

全部展开

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

数据类型:逻辑

使用

当你打电话时imline使用交互式语法,指针将更改为十字线当覆盖图像时。单击并拖动鼠标以指定线条的位置和长度。该行支持一个上下文万博1manbetx菜单,您可以使用该菜单控制其外观和行为的各个方面。

该表描述了支持的交互行为万博1manbetximline

互动行为 描述
移动线。 将指针移到直线上。指针变成一个芙蓉形状.单击并拖动鼠标来移动线条。
移动直线的端点。 将指针移到行两端。指针变成指向的手指,.单击并拖动鼠标来调整线条的大小。
更改用于显示线条的颜色。 将指针移到直线上。右键单击并选择设置颜色从上下文菜单。
获取直线端点的坐标。 将指针移到直线上。右键单击并选择副本的位置从上下文菜单。imline将2 × 2数组复制到指定窗体中该行端点坐标的剪贴板[(X1, Y1;X2 Y2)
删除行 将指针移到该行上方。右键单击并选择删除从上下文菜单。若要从上下文菜单中删除此选项,请设置可删除的属性为false:H = imline();h.Deletable = false;

对象的功能

每一个imline对象支持许多方万博1manbetx法。类型方法imline查看完整的列表。

addNewPositionCallback 向ROI对象添加新位置回调
createMask 在图像中创建蒙版
删除 删除句柄对象
色鬼 获取用于绘制ROI对象的颜色
getPosition 返回ROI对象的当前位置
getPositionConstraintFcn 返回函数句柄到当前位置约束函数
removeNewPositionCallback 从ROI对象中删除新位置回调
重新开始 恢复MATLAB命令行执行
改变颜色 设置用于绘制ROI对象的颜色
setConstrainedPosition 将ROI对象设置为新位置
setPosition 移动ROI对象到新位置
setPositionConstraintFcn 设置ROI对象的位置约束函数
等待 阻塞MATLAB命令行,直到ROI创建完成

例子

当行移动时更新标题

使用自定义颜色显示线条。使用addNewPositionCallback方法。移动直线,注意直线的2 × 2位置向量显示在图像上方的标题中。通过右击该行来探索该行的上下文菜单。

imshow (“pout.tif”) h = imline(gca,[10 100],[100 100]);setColor(h,[0 1 0]);id = addNewPositionCallback(h,@(pos) title(mat2str(pos,3)));

方法删除回调行为后,使用removeNewPositionCallback函数。

removeNewPositionCallback (h, id);

点击并拖动到放置线

通过单击和拖动交互式地放置一行。使用等待MATLAB模块®命令行。双击到的行重新开始MATLAB命令行执行。

imshow (“pout.tif”) h =直线;位置=等待(h);

提示

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

  • 使用imdistline创建带有显示线端点之间距离的文本框的交互式线。

R2006a之前介绍

这个话题有用吗?