主要内容

imrect

(不推荐)创建可拖动的矩形

imrect不建议使用。使用新的矩形而不是ROI对象。您还可以使用新的ROI便利功能drawrectangle.有关更多信息,请参见兼容性的考虑

描述

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

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

创建

描述

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

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

例子

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

H = imrect(___“PositionConstraintFcn”,fcn还指定使用位置约束函数可以拖动矩形的位置,fcn

输入参数

全部展开

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

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

位置约束函数,指定为函数句柄。fcn在拖动鼠标时调用。您可以使用此函数来控制可以拖动椭圆的位置。参见帮助setPositionConstraintFcn函数获取有关有效函数句柄的信息。

属性

全部展开

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

数据类型:逻辑

使用

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

表中列出了支持的交互行为金宝appimrect

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

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

对象的功能

每一个imrect对象支持许多函金宝app数。类型方法imrect查看完整的列表。

addNewPositionCallback 向ROI对象添加新位置回调
createMask (不推荐)在图像中创建掩码
删除 删除句柄对象
色鬼 获取用于绘制ROI对象的颜色
getPosition 返回ROI对象的当前位置
getPositionConstraintFcn 返回函数句柄到当前位置约束函数
removeNewPositionCallback 从ROI对象中删除新位置回调
重新开始 (不推荐)执行MATLAB命令行
改变颜色 (不推荐)设置绘制ROI对象的颜色
setConstrainedPosition 将ROI对象设置为新位置
setFixedAspectRatioMode 在调整ROI对象大小时保留纵横比
setPosition (不推荐)将ROI对象移动到新位置
setPositionConstraintFcn 设置ROI对象的位置约束函数
setResizable 设置ROI对象的调整大小行为
等待 (不推荐)BlockMATLAB命令行,直到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之前介绍

全部展开