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

Cri*_*ter 14 c c++ opencv image computer-vision

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

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

Ale*_*son 31

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


Fra*_*ari 11

你需要cv :: floodFill cv :: findCountours返回的轮廓.见这个例子对于findContours,和这一次的floodFill

  • 我认为应该改变这个问题的答案,因为3.0终于出来了. (2认同)