Matlab 查找labelmap的多边形边界
我有一个描述图像的labelmap矩阵。如图所示,在Matlab中通过Matlab 查找labelmap的多边形边界,matlab,svg,polygon,Matlab,Svg,Polygon,我有一个描述图像的labelmap矩阵。如图所示,在Matlab中通过 imshow(im,[]) 如何提取描述每个标签区域的多边形边界?对于所有标签,我将有一组多边形边界。提取所有这些多边形边界的最有效方法是什么?只需使用imcontour或bwbounders即可。以下是一个例子: % Get the values in your image val = unique(im); % Pre-allocate output C = cell(numel(val),1); % Here w
imshow(im,[])
如何提取描述每个标签区域的多边形边界?对于所有标签,我将有一组多边形边界。提取所有这些多边形边界的最有效方法是什么?只需使用
imcontour
或bwbounders
即可。以下是一个例子:
% 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
将是一个单元格单元格,包含轮廓
注意:您的原始图像看起来像是对几个级别的原始图像的转换
灰色为了减少边界处的噪声,您可能需要考虑
使用imfilter
和filter
应用中值滤波器
“[B,L]=BW边界(BW,'noholes');”,这可能会对您有所帮助。“B”包含所有组件的边界值。