仅保存specefic连接组件

时间:2017-03-01 21:22:58

标签: matlab components filtering

从灰色图像中,我尝试使用bwconcomp提取所有连接的组件,然后我处理每个连接的组件。我想在原始图像大小的新图像中绘制一些特定的连接组件。我看到很多作品基于该区域,最大的组件...但对我来说,我有新的参数,将过滤连接的组件,我如何绘制一个新的图像与原始图像大小在其原始位置的特定连接组件??  谢谢:))

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望采用已标记的连接组件映射,并对每个组件单独执行操作。

您可以finding array elements that meet a condition执行此操作。

假设您已标记组件,以使您的矩阵mylabels

1 1 1 2 2 2
1 1 3 3 3 2
1 3 3 3 4 4
5 5 5 5 4 4

要选择特定区域,例如3,请使用

regionA = (mylabels == 3);

这将产生一个像这样的区域3的地图:

0 0 0 0 0 0
0 0 1 1 1 0
0 1 1 1 0 0
0 0 0 0 0 0

您可以将此地图用作遮罩,以隔离原始图像的特定部分:

subimage = image .* regionA;

您可以通过将他们的地图组合在一起来组合多个连接的组件

regionAB = regionA | regionB;

或选择多个标签

regionAB = (mylabels == 3 | mylabels == 4);