【问题标题】:Area calculation in opencv/javacv?opencv/javacv中的面积计算?
【发布时间】:2012-08-27 14:02:38
【问题描述】:

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

输入图片

预期结果

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

【问题讨论】:

  • 您似乎可以简单地找到所有轮廓并保留最大的 2 个轮廓,不是吗?
  • 尝试使用 cvBlobslib 库...它具有提供斑点面积的功能...在这里您可以将白色斑块视为黑色背景上的斑点(..边界线..) ..opencv.willowgarage.com/wiki/cvBlobsLib

标签: image-processing opencv area javacv


【解决方案1】:

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

最后你会得到一组区域,每个区域都有一个像素的坐标。

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

【讨论】:

    猜你喜欢
    • 2020-07-19
    • 2012-07-22
    • 2014-09-02
    • 1970-01-01
    • 2011-08-12
    • 2017-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多