代码之家  ›  专栏  ›  技术社区  ›  Tarcisiofl

消除opencv-em检测到的假阳性

  •  -1
  • Tarcisiofl  · 技术社区  · 7 年前

    我正在用python开发一个算法,该算法应该识别叶子上包含斑点的区域,以报告疾病的严重程度。在我的研究中,我发现了leafsnap并从中得到了启发。因此,本文尝试使用opencv期望最大化方法对图像进行分割,该方法使用s和v形式的hsv颜色空间进行训练,但是由于反射或阴影的影响,仍然会返回一些误报。

    First Sample

    Second Sample

    有人能给我点提示让我得到更好的结果吗? 我没有应用任何预处理技术!


    1 回复  |  直到 7 年前
        1
  •  1
  •   Andriy Makukha    7 年前

    我不认为 Leafsnap 打算在阳光直射下使用。它创造了非常强烈的阴影完全扰乱了他们的s+v方法。

    在这篇文章中,作者解释说,他们之所以去掉色调,是因为当白纸反射出一些绿色时,它会“稀释”物体。然而,在您的情况下,因为照片似乎是在晴朗的天空下拍摄的,所以纸张要么是黄色(在阳光直射下)要么是蓝色(在阴影下)色调,这与树叶的绿色色调明显不同。事实上,在这两种情况下,色调层最能反映叶子的形状。因此, 你不应该忽视色调 为了找到叶子的形状。

    作为一个想法,你可以单独使用饱和度+值,以及色调来确定形状。之后,从这两个中选择较小的形状。