我需要在C++应用程序中对图像使用连通组件标记算法。我可以自己实现,但我试图使用Boost的并查集/不相交集合实现,因为它在并查集维基文章中提到过。我无法弄清如何创建disjoint_sets对象,使其与我拥有的图像数据(unsigned shorts)一起工作。我错过了什么?Boost文档中的示例对我来说毫无意义。当我有一个图像时,我是否需要所有额外的Graph玩意儿?或者,已经有一个OpenCV连通组件标记实现了。目前,我们正在使用OpenCV 1.1pre1和Boost 1.37。
令人惊讶的是,OpenCV中没有CCL。不过,在参考手册中有一种变通方法。请参见cvDrawContours示例。当我尝试使用它时,在图像的第一行、最后一行和第一列、最后一列上出现了一些奇怪的行为,但我可能做错了什么。另一种方法是使用cvBlobs库。