如何创建遮罩以通过activecontour分割彩色图像?

时间:2018-08-07 08:19:16

标签: matlab mask image-segmentation

我想使用activecontour中的函数matlab来分割彩色图像,但是我不知道如何创建遮罩。

documentation说:

  

对于彩色和多通道图像,遮罩必须是二维逻辑数组,其中前两个维与图像A的前两个维匹配。

但是我不知道该怎么办。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

让我们考虑图像的大小为NxM像素,N是行数,M是列数。

如果是彩色图像,则每个像素可能由3个值组成,一个用于红色(R)的强度,一个用于蓝色(B)的强度,一个用于绿色(G)的强度。这些称为颜色通道。因此,代表您的图像的矩阵的真实形状为NxMx3

文档说的是,蒙版应该是二维的,并且尺寸应该与图像的前两个尺寸匹配。这意味着蒙版应具有与图像相同的行数和列数,但是蒙版的每个像素不再由3个值组成。它由1个值(逻辑值:01)组成。

因此,您需要做的是为函数提供一个矩阵NxM,其中仅包含01作为可能的值。医生说面具是:

  

分割开始的初始轮廓,指定为与A大小相同的二进制图像。

因此,遮罩需要代表轮廓的初始猜测。如果您已经知道要查看的内容位于图像的左上角,则可以将初始轮廓设置为例如位于左上角的正方形。

现在要用逻辑矩阵表示轮廓,您只需将矩阵的所有元素设置为0,而将代表轮廓的元素设置为1

让我知道您是否不了解某些内容,很高兴为您解答。