找到labelmap的多边形边界

时间:2015-02-10 23:55:54

标签: matlab svg polygon

enter image description here

我有一个描述图像的labelmap矩阵。如图所示,它在Matlab中可视化

imshow(im,[])

如何提取描述每个标签区域的多边形边界?对于所有标签,我会有一组多边形边界。提取所有这些多边形边界的最有效方法是什么?

1 个答案:

答案 0 :(得分:2)

您只需使用imcontourbwboundaries即可。这是一个例子:

% Get the values in your image
val = unique(im);

% Pre-allocate output
C = cell(numel(val),1);

% Here we go
for i = 1:numel(val)
    C{i} = bwboundaries(im==val(i));
end

输出C将是包含轮廓的单元格单元格。

  

注意:您的原始图片看起来像是原始转换为几个等级   灰色。为了减少边界处的噪音,您可能需要考虑   应用imfilterfilter的中值过滤器。