如何创建蒙版以通过 activecontour 分割彩色图像?

How to create a mask to segment a color image by activecontour?

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

documentation 说:

For color and multi-channel images, mask must be a 2-D logical array where the first two dimensions match the first two dimensions of the image A.

但我不明白必须做什么。有什么建议吗?

假设您的图像大小为 NxM 像素,N 是行数,M 是列数。

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

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

所以你需要做的是给函数一个矩阵 NxM,其中只有 01 作为可能的值。医生说面具是 :

Initial contour at which the evolution of the segmentation begins, specified as a binary image the same size as A.

所以掩码需要代表对轮廓的初步猜测。如果你已经知道你想看到的是在图像的左上角,你可以将初始轮廓设置为例如位于左上角的正方形。

现在要用逻辑矩阵表示等高线,您只需将矩阵的所有元素设置为 0,我猜只将表示等高线的元素设置为 1

有不懂的可以私信我,很乐意为您解答。