我想使用activecontour
中的函数matlab
来分割彩色图像,但是我不知道如何创建遮罩。
对于彩色和多通道图像,遮罩必须是二维逻辑数组,其中前两个维与图像A的前两个维匹配。
但是我不知道该怎么办。有什么建议吗?
答案 0 :(得分:0)
让我们考虑图像的大小为NxM
像素,N
是行数,M
是列数。
如果是彩色图像,则每个像素可能由3个值组成,一个用于红色(R)的强度,一个用于蓝色(B)的强度,一个用于绿色(G)的强度。这些称为颜色通道。因此,代表您的图像的矩阵的真实形状为NxMx3
。
文档说的是,蒙版应该是二维的,并且尺寸应该与图像的前两个尺寸匹配。这意味着蒙版应具有与图像相同的行数和列数,但是蒙版的每个像素不再由3个值组成。它由1个值(逻辑值:0
或1
)组成。
因此,您需要做的是为函数提供一个矩阵NxM
,其中仅包含0
和1
作为可能的值。医生说面具是:
分割开始的初始轮廓,指定为与A大小相同的二进制图像。
因此,遮罩需要代表轮廓的初始猜测。如果您已经知道要查看的内容位于图像的左上角,则可以将初始轮廓设置为例如位于左上角的正方形。
现在要用逻辑矩阵表示轮廓,您只需将矩阵的所有元素设置为0
,而将代表轮廓的元素设置为1
。
让我知道您是否不了解某些内容,很高兴为您解答。