把感兴趣的区域(ROI)多边形区域的面具
指定一个多边形,包括一组给定的矩形像素,能将多边形的边缘的外边缘边界像素,而不是像素的中心。
例如,包括像素列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
使用以下算法:
每个像素划分为5-by-5亚像素网格。
图中显示的像素包含先前的ROI的顶点5-by-5亚像素网格。
调整顶点的位置。
poly2mask
移动多边形的每个顶点到最近的路口的亚像素网格。请注意poly2mask
轮x和y到最近的亚像素坐标网格。这将创建一个第二,修改后的多边形。图显示了修改后的顶点和一个红色的“X”。
调整顶点之间画一个路径。
poly2mask
形成一个路径从每个顶点到下一个,调整后的边缘亚像素网格。这个修改的图显示了一个部分的多边形厚厚的黑线条。
确定在多边形的边界像素。
poly2mask
使用以下规则来确定哪些边界像素内多边形:如果像素的中心亚像素是内部定义的边界之间的路径调整顶点,然后区域内的像素。
在下图中,中央亚像素的像素ROI边境是一个暗灰色阴影。像素在多边形内部是一个浅灰色的阴影。注意包含顶点的像素不是ROI的一部分,因为它的中心像素不是在修改后的多边形。