主要内容

poly2mask

把感兴趣的区域(ROI)多边形区域的面具

描述

例子

BW= poly2mask (,,,n)计算一个二进制感兴趣的区域(ROI)的面具,BW的大小——- - - - - -n,从一个ROI多边形顶点的坐标。如果多边形不是已经关闭poly2mask自动关闭多边形。

poly2mask函数集在多边形内的像素1并设置像素在多边形外0。更多信息分类像素部分封闭的ROI,明白了算法

例子

全部折叠

指定多边形的x - y坐标。

x = [54 63 186 190 63);y = (60 60 209 204 60);

创建面具指定图像的大小。

bw = poly2mask (x, y, 256256);

显示的面具,在多边形画一条线。

imshow (bw)情节(x, y,“b”,“线宽”,2)

图包含一个坐标轴对象。坐标轴对象包含2图像类型的对象,线。

定义两组随机点的x - y坐标。

x = 256 *兰德(1,4);y = 256 *兰德(1,4);x(结束+ 1)= x (1);(结束+ 1)= y (1);

创建一个面具。

bw = poly2mask (x, y, 256256);

显示面具和多边形画一条线。

imshow (bw)情节(x, y,“b”,“线宽”,2)

图包含一个坐标轴对象。坐标轴对象包含2图像类型的对象,线。

输入参数

全部折叠

x多边形顶点坐标,指定为一个数值向量。的长度必须匹配。

数据类型:

y多边形顶点坐标,指定为一个数值向量。的长度必须匹配。

数据类型:

的行数的面具,指定为一个非负整数。

数据类型:

列数的面具,指定为一个非负整数。

数据类型:

输出参数

全部折叠

二进制图像,作为一个返回——- - - - - -n逻辑矩阵。

数据类型:逻辑

提示

  • 指定一个多边形,包括一组给定的矩形像素,能将多边形的边缘的外边缘边界像素,而不是像素的中心。

    例如,包括像素列4到10行4到10,您可能会指定多边形顶点是这样的:

    x = 10 10 4 4 [4];y = (4 4 10 10 4);掩码= poly2mask (x, y, 12日,12)
    掩码= 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

    在这个例子中,穿过多边形边界的中心像素,结果,只有一些所需的边界像素的决心是在多边形(4行4列的像素,而不是在多边形)。多边形包含这些元素,使用分数值指定的外边缘4行(3.5)和(10.5),第十行和第四列的外边缘(3.5)和外部边缘第十列(10.5)为顶点,像下面的例子:

    x = (3.5 10.5 - 10.5 3.5 - 3.5);y = (3.5 3.5 - 10.5 10.5 - 3.5);掩码= poly2mask (x, y, 12日,12)
    掩码= 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

算法

当创建一个感兴趣的区域(ROI)面具,poly2mask必须确定哪些像素包含在该地区。这个决定是很困难的,当像素边缘的一个区域只有部分覆盖的边界线。下图演示了一个感兴趣的三角区域,检查在特写一个顶点的ROI。该图显示了如何部分覆盖像素的边界的。

像素的边缘上一个ROI只是部分由边界

确定哪些像素是在该地区,poly2mask使用以下算法:

  1. 每个像素划分为5-by-5亚像素网格。

    图中显示的像素包含先前的ROI的顶点5-by-5亚像素网格。

  2. 调整顶点的位置。

    poly2mask移动多边形的每个顶点到最近的路口的亚像素网格。请注意poly2maskxy到最近的亚像素坐标网格。这将创建一个第二,修改后的多边形。图显示了修改后的顶点和一个红色的“X”。

  3. 调整顶点之间画一个路径。

    poly2mask形成一个路径从每个顶点到下一个,调整后的边缘亚像素网格。这个修改的图显示了一个部分的多边形厚厚的黑线条。

  4. 确定在多边形的边界像素。

    poly2mask使用以下规则来确定哪些边界像素内多边形:如果像素的中心亚像素是内部定义的边界之间的路径调整顶点,然后区域内的像素。

    在下图中,中央亚像素的像素ROI边境是一个暗灰色阴影。像素在多边形内部是一个浅灰色的阴影。注意包含顶点的像素不是ROI的一部分,因为它的中心像素不是在修改后的多边形。

扩展功能

另请参阅

|

之前介绍过的R2006a