史蒂夫与MATLAB图像处理

图像处理的概念、算法和MATLAB

连接组件标签-第7部分

我在我的描述之前的连接组件标签使用的算法bwlabeln。这一次我将讨论使用的变化bwlabel。这个变异使用行程长度编码作为第一步。

这是我所说的行程长度编码。考虑一下这个小二进制图像矩阵:

这样一个二进制图像可以表示为一组运行或1 s序列。columnwise工作,该图像包含9:

每次运行可以表示为其像素和像素的数量开始运行,这叫做运行长度。因此这个词行程长度编码

为一个更大的二进制图像包含更大的对象,可以运行的数量远小于前景像素的数量。但连通性分析就可以完全确定的基础上运行。在我们的小例子:

  • 运行# 3连接到运行# 1
  • 运行# 4连接到运行# 2
  • 运行# 6连接到运行# 4
  • 运行# 7连接到运行# 5
  • 运行# 8连接到运行# 6
  • 运行# 9连接到运行# 7
  • 运行# 9连接到运行# 8

这组连接双可以解决到等价类使用我前面描述的基于技术dmperm。在本例中只有两个等价类,对应两个连接组件。

这个函数bwlabel首先调用计算行程长度编码。发现每次运行,这也决定了哪些运行在前面列相连,如果任何。然后构造一个稀疏的邻接矩阵和调用dmperm计算等价类。那么标签每次运行输出标签矩阵根据等价类中它属于。

这是一个非常有效的方法,因为它扫描输入图像中的每个像素只有一次,也因为邻接矩阵通常是相对较小。是R-by-R, R是运行的数量。

你能找到这个方法中描述Haralick和夏皮罗,电脑和机器人视觉卷140-48,addison - wesley, 1992, pp。(注意,使用等价类解析方法bwlabel比书中描述的是不同的)。




使用MATLAB®7.4发表

|
  • 打印

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。