正在寻找连接组件标签算法的实现



我正在寻找MATLAB或C++中优化的4连通性或8连通性连接组件标签源代码。我在MATLAB中看到了许多连接组件标记(4-连通性)的实现。

工作速度更快的实现之一是这里解释的递归实现:http://www.mathworks.com/matlabcentral/fileexchange/38010-connected-component-labeling-like-bwlabel

MATLAB有一个内置的bwlabeln或bwlabel,它的优化程度要高得多。他们声称使用了来自Sedgewick在C,Addison-Wesley中的算法中描述的两遍算法的并集求法。然而,很难找到它的任何源代码。有人知道吗?确实需要一个优化的代码。

您确实可以按照扫描线顺序扫描图像,当您遇到组件种子时,将其填充。

您将在Graphics GEMS 1:中找到两种高效(且非常相似)的算法

  • 种子填充算法,Paul S.Heckbert

  • 填充帧缓冲区,Ken Fishkin

以及一些实现方式。(论文给出了类似Pascal的代码,很容易翻译。)

它们以线性时间运行,使用显式堆栈,不需要联合查找。

最新更新