15

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

我想提取某种对象列表,从中我可以了解该列表中每个对象的位置。这可能是使用 cvConnectedComponents() 或其他任何东西。我需要一些指示每个对象在图像中的位置。这可以是每个对象的边界矩形或基于某些计算的中值或中心的形式,或者任何可以让我测量图像中对象位置的东西。任何指向要研究的 OpenCV 函数的指针?

4

2 回答 2

33

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

于 2014-09-08T11:24:32.900 回答
11

你需要 cv::floodFill 由 cv::findCountours 返回的轮廓。findContours 的这个例子,floodFill的这个例子

于 2013-07-11T01:38:42.543 回答