几乎连接的组件标签
在一个最近贴文我证明了使用BWDIST(二进制图像欧几里得距离变换)以执行各向同性扩张。这是受到某些东西的启发布雷特问我。
昨晚布雷特发表评论对他在做什么进行更多解释。我要为布雷特所描述的术语造成一个术语:几乎连接的组件标签。
我将用一个简单的合成图像说明,其中包含许多圆形斑点。
URL ='https://blogs.mathworks.com/images/steve/2010/blobs_in_clumps.png';bw = imread(url);imshow(BW)
现在让我们标记连接的组件BW。
CC = BWConnComp(BW)
cc =连接:8图像:[337 313] numObjects:23 pixelidxlist:{1x23 cell}
您可以看到检测到23个不同的对象。功能Label2RGB对于可视化连接的组件很有用。您可以通过转换输出来使用它BWConnComp使用标签矩阵使用LabelMatrix然后将结果传递给Label2RGB。
L = LabelMatrix(CC);rgb = label2rgb(l,'喷射',[.7 .7 .7],“洗牌”);IMShow(RGB)
布雷特的问题是:我们如何标记和测量三个团而不是较小的圆圈?(团块是Brett问题中的细胞簇。)答案是将各向同性扩张步骤与连接的组件标记结合在一起。
假设两个圆圈在彼此之间的25个像素单位之内,则两个圆圈是“几乎连接的”。因此,从各向同性扩张步骤开始:
bw2 = bwdist(bw)<= 12.5;imshow(BW2)
现在我们可以在BW2:
l2 = labelmatrix(bwconncomp(bw2));rgb2 = label2rgb(l2,'喷射',[.7 .7 .7],“洗牌”);IMShow(RGB2)
我们现在有三个团,但是它们太“胖”了。也就是说,由于各向同性扩张步骤,它们中有太多像素。因此,例如,如果我们使用地区企业:
s = regionprops(l2,'区域');[s. area]
ANS = 14418 11023 6341
我们得到了扭曲的区域测量。如果我们只想在原始团块中的像素上进行测量怎么办?
一个很好的应用逻辑索引将修改L2摆脱添加的像素。以下行设置为0的所有元素L2对应于背景像素BW。
l2(〜bw)= 0;imshow(label2rgb(l2,'喷射',[.7 .7 .7],“洗牌”))
s = regionprops(l2,'区域');[s. area]
ANS = 4827 3510 2208
您是否有“几乎连接组件标签”的应用程序?在这里发表您的评论。
PS。嘿,如果您没有注意到,R2010B发布不在。我会尽快发布一些信息。
- 类别:
- 连接的组件
评论
要发表评论,请单击这里登录您的数学帐户或创建一个新帐户。