在OpenCV 3.0中有一个名为connectedComponent的函数。
我知道它需要二进制图像作为输入并返回标签和连接组件的数量,但是内部使用了什么算法?
答案 0 :(得分:3)
OpenCV是开源的。您可以查看documentation和source code。
您可以选择2 algorithms来执行connected component lablelling:
CCL_WU:基于
CCL_GRANA:基于
"Optimized Block-based Connected Components Labeling with Decision Trees", Costantino Grana et al
这仅适用于8个连接的组件。
OpenCV> = 3.2(CCL_DEFAULT
)中的默认值使用Wu的4连接算法和Grana的8连接算法。
在OpenCV 3.0.0中,您使用Wu的算法进行4和8连接,,而在OpenCV> = 3.2中,您可以根据字段选择3个选项中的一个connectivity
和ccltype
:
\ connectivity 4 | 8
\ |
type \ |
|
CCL_DEFAULT Wu | Grana
CCL_WU Wu | Wu
CCL_GRANA Wu | Grana
答案 1 :(得分:1)