OpenCV如何在二进制图像中查找连接组件的列表

时间:2013-07-10 07:52:16

标签: c++ c image opencv computer-vision

我正在将OpenCV用于C ++应用程序。我有一个8位二进制图像,有一些对象。对象全部为255,而背景中的所有内容都为0.每个对象内部没有空白(黑色)像素。换句话说,每个对象都是白色的。对象不相互连接。以下是我想从中提取的内容:

我想提取某种对象列表,我从中可以了解该列表中每个对象的位置。这可能是使用cvConnectedComponents()或其他任何东西。我需要指出每个对象在图像中的位置。这可以是基于某些计算的每个对象或中间或中心的边界矩形的形式,或者是给出我对图像中的对象位置的度量的任何东西。什么指向OpenCV的功能?

2 个答案:

答案 0 :(得分:29)

从3.0版开始,OpenCV具有connectedComponents功能。

答案 1 :(得分:11)

你需要cv :: flood填充cv :: findCountours返回的轮廓。有关findContours的信息,请参阅this example,有关floodFill的信息,请参见this one