主要内容

多边形

感兴趣的多边形区域

描述

一个多边形object指定闭合多边形感兴趣区域(ROI)的形状和位置。您可以自定义ROI的外观和交互行为。

有关使用此ROI(包括键盘快捷键)的详细信息,请参见提示

蓝色多边形ROI,在图像中的对象上绘制10个顶点。

创建

有两种方法来创建多边形对象。有关更多信息,请参见创建ROI形状

  • 使用drawpolygon函数。当您希望在单个命令中创建ROI并设置外观时,可以使用此函数。您可以通过使用鼠标在图像上绘制ROI,或者通过使用名称-值参数以编程方式指定ROI的形状和位置。

  • 使用images.roi.Polygon函数描述如下。当您希望在指定ROI的形状和位置之前指定ROI的外观和行为时,请使用此函数。对象创建后,可以使用函数或以编程方式修改对象的属性。

描述

例子

roi= images.roi.Polygon创建一个多边形具有默认属性的对象。

roi= images.roi.Polygon (斧头在指定的轴上创建ROI斧头

roi= images.roi.Polygon (___名称,值属性使用名称-值参数的ROI。您可以指定多个名称-值参数。将每个属性名用单引号括起来。

例子:images.roi.Polygon('颜色',' y ')创建一个黄色多边形对象。

输入参数

全部展开

ROI的父节点,指定为对象或UIAxes对象。有关在uiaxis中使用ROI的信息,包括重要的限制,请参见使用应用程序设计器创建的应用程序中的roi

属性

全部展开

ROI颜色,指定为RGB三元组、颜色名称或短颜色名称。

您可以使用RGB三元组指定任何颜色。RGB三元组是一个3元素的行向量,其元素指定颜色的红、绿和蓝分量的强度。强度必须在[0,1]范围内。

您可以通过字符串标量或字符向量的名称指定一些常见颜色。该表列出了已命名的颜色选项和等效的RGB三元组。

颜色名称 短名称 RGB值 外观
“红色” “r” [10 0 0]

纯红色矩形

“绿色” ‘g’ [0 10 0]

一个纯绿色的矩形

“蓝” “b” [0 0 1]

一个纯蓝色的长方形

“青色” “c” [0 1 1]

纯青色矩形

“红色” “米” [10 0 1]

一个纯洋红色的长方形

“黄色” “y” [11 10 0]

纯黄色矩形

“黑” “k” [0 0 0]

一个黑色的矩形

“白色” ' w ' [1 1 1]

一个白色的矩形

这里是RGB三组的默认颜色,MATLAB®在许多类型的图中使用。

RGB值 外观
[0 0.4470 0.7410]

一个中蓝色的矩形

[0.8500 0.3250 0.0980]

红橙色矩形

[0.9290 0.6940 0.1250]

深黄色的长方形

[0.4940 0.1840 0.5560]

深紫色矩形

[0.4660 0.6740 0.1880]

一个浅绿色的长方形

[0.3010 0.7450 0.9330]

浅蓝色的长方形

[0.6350 0.0780 0.1840]

暗红色的长方形

例子:“颜色”,“r”

例子:“颜色”,“绿色”

例子:'Color',[0 0.4470 0.7410]

右键单击指定为的ROI时显示的上下文菜单快捷菜单对象。控件可以创建自定义上下文菜单uicontextmenu函数,然后配置上下文菜单属性。

上下文菜单提供了删除ROI的选项,指定为数字的或逻辑的1真正的)或0.当值为真正的,您可以使用上下文菜单交互地删除ROI。当值为时,删除感兴趣区域的上下文菜单选项被禁用。

方法,可以在上下文菜单之外删除ROI删除函数。

可以交互地将ROI放置在其中的轴的区域,指定为本表中的值之一。

价值 描述
“汽车” 绘图区域是当前轴的限制(默认)。
“无限” 绘制区域没有边界,可以绘制或拖动roi以超出轴的限制。
[x, y, w h] 绘图区域限制为从(开始的矩形区域)xy),并延伸至widthw和高度h

ROI表面的透明度,指定为范围[0,1]中的数字。当值为1时,ROI面完全不透明。当值为0时,ROI面完全透明。

ROI面可以捕获点击,指定为数字的或逻辑的1真正的)或0.当真正的时,ROI面捕获鼠标点击。当时,ROI面不捕获鼠标单击。

中的ROI句柄的可见性孩子们属性,指定为本表中的值之一。

价值 描述
“上” 对象句柄总是可见的(默认)。
“关闭” 对象句柄始终是隐藏的。
“回调” 对象句柄在回调或回调调用的函数中可见,但在从命令行调用的函数中不可见。

ROI的交互性,指定为本表中的值之一。

价值 描述
“所有” ROI是完全可交互的(默认)。
“没有” ROI是不可交互的,并且没有可见的拖拽点。
“翻译” ROI可以在绘图区域内平移(移动),但不能重新塑形。
“重塑” ROI可以被重塑,但不能被转换。

ROI标签,指定为字符向量或字符串标量。默认情况下,ROI没有标签().

文本背景的透明度,指定为范围[0,1]中的数字。当设置为1时,文本背景完全不透明。当设置为0时,文本背景完全透明。

标记文本颜色,指定为RGB三元组、颜色名称或短颜色名称。

您可以使用RGB三元组指定任何颜色。RGB三元组是一个3元素的行向量,其元素指定颜色的红、绿和蓝分量的强度。强度必须在[0,1]范围内。

您可以通过字符串标量或字符向量的名称指定一些常见颜色。该表列出了已命名的颜色选项和等效的RGB三元组。

颜色名称 短名称 RGB值 外观
“红色” “r” [10 0 0]

纯红色矩形

“绿色” ‘g’ [0 10 0]

一个纯绿色的矩形

“蓝” “b” [0 0 1]

一个纯蓝色的长方形

“青色” “c” [0 1 1]

纯青色矩形

“红色” “米” [10 0 1]

一个纯洋红色的长方形

“黄色” “y” [11 10 0]

纯黄色矩形

“黑” “k” [0 0 0]

一个黑色的矩形

“白色” ' w ' [1 1 1]

一个白色的矩形

下面是MATLAB在许多类型的图中使用的默认颜色的RGB三元组。

RGB值 外观
[0 0.4470 0.7410]

一个中蓝色的矩形

[0.8500 0.3250 0.0980]

红橙色矩形

[0.9290 0.6940 0.1250]

深黄色的长方形

[0.4940 0.1840 0.5560]

深紫色矩形

[0.4660 0.6740 0.1880]

一个浅绿色的长方形

[0.3010 0.7450 0.9330]

浅蓝色的长方形

[0.6350 0.0780 0.1840]

暗红色的长方形

例子:‘LabelTextColor’,‘r’

例子:“LabelTextColor”、“绿色”

例子:'LabelTextColor',[0 0.4470 0.7410]

标签可见性,指定为这些值之一。

价值 描述
“上” 当ROI可见时,标签也可见。
“徘徊” 只有当鼠标悬停在ROI上时,标签才可见。
“关闭” 标签不可见。

ROI边界的宽度,指定为以点为单位的正数。默认值是每屏幕像素点数的三倍,这样边界就有三个像素宽。

标记大小,以正数表示。默认值是每屏幕像素点数的8倍,例如标记的大小为8个像素。

的ROI父元素,指定为UIAxes对象。有关在uiaxis中使用ROI的信息,包括重要的限制,请参见使用应用程序设计器创建的应用程序中的roi

ROI的位置,指定为n-by-2数值矩阵,其中n是定义ROI的顶点或点的数量。每一行表示[xy顶点或点的坐标。的多边形对象在交互式绘制ROI形状时生成这些点。要处理较少的点,请使用减少函数。

ROI的选择状态,指定为数字的或逻辑的0)或1真正的.您还可以交互地设置此属性。例如,单击ROI选择ROI并将此属性设置为真正的.类似地,按Ctrl键并单击ROI将取消选择ROI并将此属性的值设置为

选择ROI时的颜色,指定为RGB三元组、颜色名称、短颜色名称或“没有”.如果你指定“没有”的值颜色定义所有状态的ROI颜色,无论是否选中。

您可以使用RGB三元组指定任何颜色。RGB三元组是一个3元素的行向量,其元素指定颜色的红、绿和蓝分量的强度。强度必须在[0,1]范围内。

您可以通过字符串标量或字符向量的名称指定一些常见颜色。该表列出了已命名的颜色选项和等效的RGB三元组。

颜色名称 短名称 RGB值 外观
“红色” “r” [10 0 0]

纯红色矩形

“绿色” ‘g’ [0 10 0]

一个纯绿色的矩形

“蓝” “b” [0 0 1]

一个纯蓝色的长方形

“青色” “c” [0 1 1]

纯青色矩形

“红色” “米” [10 0 1]

一个纯洋红色的长方形

“黄色” “y” [11 10 0]

纯黄色矩形

“黑” “k” [0 0 0]

一个黑色的矩形

“白色” ' w ' [1 1 1]

一个白色的矩形

下面是MATLAB在许多类型的图中使用的默认颜色的RGB三元组。

RGB值 外观
[0 0.4470 0.7410]

一个中蓝色的矩形

[0.8500 0.3250 0.0980]

红橙色矩形

[0.9290 0.6940 0.1250]

深黄色的长方形

[0.4940 0.1840 0.5560]

深紫色矩形

[0.4660 0.6740 0.1880]

一个浅绿色的长方形

[0.3010 0.7450 0.9330]

浅蓝色的长方形

[0.6350 0.0780 0.1840]

暗红色的长方形

例子:‘SelectedColor’,‘r’

例子:“SelectedColor”、“绿色”

例子:'SelectedColor',[0 0.4470 0.7410]

ROI条纹的颜色,指定为RGB三元组、颜色名称、短颜色名称或“没有”.如果你指定“没有”时,则ROI边缘为指定的纯色颜色.否则,ROI的边缘是条纹状的,颜色在指定的颜色之间交替颜色而且StripeColor

您可以使用RGB三元组指定任何颜色。RGB三元组是一个3元素的行向量,其元素指定颜色的红、绿和蓝分量的强度。强度必须在[0,1]范围内。

您可以通过字符串标量或字符向量的名称指定一些常见颜色。该表列出了已命名的颜色选项和等效的RGB三元组。

颜色名称 短名称 RGB值 外观
“红色” “r” [10 0 0]

纯红色矩形

“绿色” ‘g’ [0 10 0]

一个纯绿色的矩形

“蓝” “b” [0 0 1]

一个纯蓝色的长方形

“青色” “c” [0 1 1]

纯青色矩形

“红色” “米” [10 0 1]

一个纯洋红色的长方形

“黄色” “y” [11 10 0]

纯黄色矩形

“黑” “k” [0 0 0]

一个黑色的矩形

“白色” ' w ' [1 1 1]

一个白色的矩形

下面是MATLAB在许多类型的图中使用的默认颜色的RGB三元组。

RGB值 外观
[0 0.4470 0.7410]

一个中蓝色的矩形

[0.8500 0.3250 0.0980]

红橙色矩形

[0.9290 0.6940 0.1250]

深黄色的长方形

[0.4940 0.1840 0.5560]

深紫色矩形

[0.4660 0.6740 0.1880]

一个浅绿色的长方形

[0.3010 0.7450 0.9330]

浅蓝色的长方形

[0.6350 0.0780 0.1840]

暗红色的长方形

例子:‘StripeColor’,‘r’

例子:“StripeColor”、“绿色”

例子:'StripeColor',[0 0.4470 0.7410]

标记与ROI相关联,指定为字符向量或字符串标量。属性在对象层次结构中使用标记值查找ROI对象findobj函数。

与ROI关联的数据,指定为任何MATLAB数据。例如,您可以指定标量、向量、矩阵、单元格数组、字符串、字符数组、表或结构。的多边形对象不使用此数据。

ROI可见性,指定为“上”“关闭”,或作为数字或逻辑1真正的)或0).值为“上”等于真,和“关闭”等于false。该值存储为类型的on/off逻辑值OnOffSwitchState

价值 描述
“上” 显示ROI。
“关闭” 隐藏ROI而不删除它。您仍然可以访问一个看不见的ROI的属性。

对象的功能

addlistener 创建绑定到事件源的事件监听器
beginDrawingFromPoint 从指定点开始绘制ROI
bringToFront 将ROI置于轴的堆叠顺序前面
createMask 从ROI创建二进制掩码图像
开始交互式地绘制ROI
inROI 查询是否有点位于ROI中
减少 降低ROI的点密度
等待 MATLAB命令行,直到ROI操作完成

例子

全部折叠

将图像读入工作区并显示它。

I = imread(“baby.jpg”);图;imshow(我)

图中包含一个轴对象。axis对象包含一个image类型的对象。

控件在图像上创建多边形ROI位置属性指定ROI的顶点。注意,必须指定要绘制ROI的轴作为第一个参数。

h = images.roi.Polygon(gca,“位置”, (100 150;200 250;300 350;150 450]);

图中包含一个轴对象。axis对象包含两个image、images.roi.polygon类型的对象。

将图像读入工作区。

I = imread(“cameraman.tif”);

显示图像。

imshow(我);

在图像上绘制一个ROI点。由于此示例指定了ROI的长度和位置,因此不必调用方法启用交互式绘图。

roi = images.roi.Polygon(gca,“位置”115年,[30;80年45;80 80;115 90;145 65]);

为ROI移动事件设置侦听器。当您移动它时,ROI将发送这些事件的通知并执行您指定的回调函数。

addlistener (roi,“MovingROI”, @allevents);addlistener (roi,“ROIMoved”, @allevents);

allevents回调函数在命令行显示ROI的上一个位置和当前位置。

函数allevents(src,evt) evname = evt. eventname;开关(evname)情况下“MovingROI”} disp ([“投资回报率在变化”mat2str (evt.PreviousPosition)]);disp ([“ROI移动当前位置:”mat2str (evt.CurrentPosition)]);情况下“ROIMoved”} disp ([“投资回报率移动前位置:”mat2str (evt.PreviousPosition)]);disp ([“ROI移动当前位置:”mat2str (evt.CurrentPosition)]);结束结束

更多关于

全部展开

提示

  • 交互式地绘制ROIdrawpolygon函数,将光标定位在轴上,单击并拖动指针以创建形状。在绘制直线时,单击以创建顶点。双击完成绘制并关闭多边形。

  • ROI支持以下交万博1manbetx互性,包括键盘快捷键。

    行为 键盘快捷键
    使绘制的线在15度角抓拍。 举行转变键时绘图。
    完成ROI的绘制(关闭)。

    双击,将在指针位置添加一个新顶点,并在第一个顶点上绘制一条线以关闭多边形。

    新闻输入,它会在指针位置添加一个新顶点,并在第一个顶点上绘制一条线以关闭多边形。

    右键单击,这不会添加新顶点,而是从前一个顶点关闭多边形。

    将指针放置在第一个顶点上,然后单击。

    取消绘制ROI。 新闻Esc.该函数返回一个有效值为空的ROI对象位置字段。
    在ROI中添加一个新顶点。

    将指针放置在ROI边缘上,双击。

    将指针放置在ROI边缘上,右键单击并选择添加顶点从上下文菜单。

    删除最近添加的顶点,但继续绘制。 新闻退格.该函数重绘从前一个顶点到指针当前位置的直线。你只能回到你画的第一个顶点。
    调整ROI的大小

    将指针放置在一个顶点上,然后单击并拖动。

    向多边形添加一个新顶点,然后单击并拖动。

    移除一个顶点。ROI重绘连接两个相邻顶点的直线。

    移动ROI。 将指针置于ROI上方。将鼠标悬停在多边形的边缘上(不是顶点上)。指针变为芙蓉形状。单击并拖动以移动ROI。
    删除ROI。 将鼠标定位在ROI上,右键单击,选择删除多边形从上下文菜单。控件,还可以以编程方式删除ROI删除对象的方法。
  • 有关在使用应用程序设计器创建的应用程序中使用ROI的信息,请参见使用应用程序设计器创建的应用程序中的roi

  • 若要绘制开放多边形ROI,请使用多段线对象。

版本历史

在R2018b中引入

全部展开

不建议从R2020a开始