文档

imrect

创建可拖动的矩形

描述

一个imrect对象封装图像上的交互式矩形。

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

创建

语法

H = imrect
H = imrect(hparent)
H = imrect(hparent,position)
H = imrect(___、名称、值)

描述

H = imrect开始在当前轴上交互式放置矩形,并返回imrect对象。

H = imrect(hparent控件指定的对象上开始矩形的交互式放置hparent

例子

H = imrect(hparent位置在该位置创建一个可拖动的矩形位置指定的对象上hparent

H = imrect(___名称,值指定控制矩形行为的名-值对。

输入参数

全部展开

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

矩形的位置,指定为窗体的4元素向量[xmin ymin width height].矩形的初始大小为宽度——- - - - - -高度,矩形的左上角位于(x,y)坐标(xminymin).

名称-值对实参

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

全部展开

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

属性

全部展开

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

数据类型:逻辑

使用

当你打电话时imrect使用交互式语法,指针将更改为十字线当覆盖图像时。您可以创建矩形,并使用鼠标调整其大小和位置。矩形还支持上下文菜单,您可以使用该菜单万博1manbetx控制其外观和行为的各个方面。右键单击矩形以访问该上下文菜单。

表中列出了支持的交互行为万博1manbetximrect

互动行为 描述
移动矩形。 将指针移动到矩形内部。指针变成一个芙蓉形状.单击并拖动鼠标来移动矩形。
调整矩形的大小。 将指针移动到矩形的任何边或角上,形状将变为双头箭头,.使用鼠标单击并拖动边缘或角落。
改变矩形的颜色。 将指针移动到矩形内部。右键单击并选择设置颜色从上下文菜单。
检索当前位置的坐标 将指针移动到多边形内部。右键单击并选择副本的位置从上下文菜单。imrect将四元素位置向量复制到剪贴板。
在交互调整大小期间保留矩形的当前纵横比。 将指针移动到矩形内部。右键单击并选择固定纵横比从上下文菜单。
删除矩形 将指针移动到矩形内部或矩形的边缘上。右键单击并选择删除从上下文菜单。若要从上下文菜单中删除此选项,请设置可删除的属性为false:H = imrect();h.Deletable = false;

当你使用setResizeable要使矩形不可调整大小,请使用固定纵横比没有提供上下文菜单项。

对象的功能

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

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

例子

当矩形移动时更新标题

在图像上显示矩形ROI。显示矩形在标题中的位置。当您移动矩形时,标题会更新。尝试将矩形的一侧拖到图像边界外。

imshow (“cameraman.tif”) h = imrect(gca,[10 10 100 100]);addNewPositionCallback (h, @ (p)标题(mat2str (p, 3)));

使用指定位置约束函数makeConstrainToRectFcn保持矩形在原来的范围内XLim而且YLim图像的范围。

fcn = makeConstrainToRectFcn(“imrect”甘氨胆酸,(,“XLim”甘氨胆酸),得到(,“YLim”));setPositionConstraintFcn (h, fcn);

现在用鼠标拖动矩形。观察到矩形不能再超出图像边界。

点击并拖动到放置矩形

通过点击和拖动交互式地放置一个矩形。使用等待MATLAB模块®命令行。双击矩形以恢复MATLAB命令行执行。

imshow (“pout.tif”);H = imrect;位置=等待(h);

提示

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

R2006a之前介绍

这个话题有用吗?