我不理解Matlab中的术语/名词'标签图像',它的正常用法是什么?细节将不胜感激。提前谢谢。
答案 0 :(得分:3)
我假设您指的是由bwlabel
或bwconncomp
和labelmatrix
等函数生成的标签图片或标签矩阵。
标签矩阵在二进制图像中获取每个连接的组件,即ON像素的每个单独区域,并为其分配唯一的整数“标签”。
例如,此矩阵给出的二进制图像:
1 1 1 0 0 0 0
1 1 1 0 0 0 0
1 1 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 1 1 1
0 0 0 0 1 1 1
将成为此标签矩阵:
1 1 1 0 0 0 0
1 1 1 0 0 0 0
1 1 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 2 2 2
0 0 0 0 2 2 2
这些是处理二进制图像中各个区域的非常有用的功能。我经常使用像:
这样的模式labels = bwlabel(binaryImage);
for i=1:max(max(labels))
regionMask = labels == i;
%# do something with regionMask
end
或
bwcc = bwconncomp(binaryImage);
bwprops = regionprops(bwcc);
for i=length(bwprops)
regionMask = imcrop(binaryImage,bwprops(i).BoundingBox);
%# do something with regionMask
end