poly2mask
将感兴趣的区域 (ROI) 多边形转换为区域掩膜
说明
示例
输入参数
输出参量
提示
要指定包含给定矩形像素集的多边形,请将多边形的边缘对齐到边界像素的外边缘(而不是像素的中心)。
例如,要包含第 4 列到第 10 列、第 4 行到第 10 行区域内的像素,可将多边形顶点指定如下:
x = [4 10 10 4 4]; y = [4 4 10 10 4]; mask = poly2mask(x,y,12,12)
mask = 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 行的外边缘 (10.5) 以及第 4 列的外边缘 (3.5) 和第 10 列的外边缘 (10.5),以其为顶点,如下例所示:
x = [3.5 10.5 10.5 3.5 3.5]; y = [3.5 3.5 10.5 10.5 3.5]; mask = poly2mask(x,y,12,12)
mask = 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