4

请有人解释一下如何识别下图中应该是红色和蓝色的区域?我尝试使用 cvFindContours() 方法,但它没有给我预期的结果。

输入图像

在此处输入图像描述

预期结果

在此处输入图像描述 我想知道是否有任何其他方法可以识别或计算这种轮廓的面积。请善意地与此分享简单的代码示例。

4

1 回答 1

0

函数 floodFill 也可以返回一个区域作为它的返回值。因此,您可以做的一件事是光栅扫描每个像素:每次到达未触及的像素时,将其着色为某种颜色(黑色),并将该区域的面积与像素坐标一起存储,继续直到不会覆盖整个图像.

最后,您将拥有一组区域,其中每个区域的一个像素都有坐标。

您是否需要恢复特定区域,您可以通过将该区域着色为特定颜色来再次使用 floodFill。

于 2012-09-12T06:16:49.457 回答