我正在用 Python 开发一种算法,该算法应该识别叶子上包含斑点的区域,以报告疾病的严重程度。在我的研究过程中,我发现了 LeafSnap 并受到了启发。因此,我尝试按照论文使用 OpenCV 期望最大化来分割图像上的叶子,该方法使用 S 和 V 形式的 HSV 颜色空间进行训练;但是,由于反射或阴影,它仍然会返回一些误报。
有人可以尝试给我任何提示以获得更好的结果吗?我没有应用任何预处理技术!
我正在用 Python 开发一种算法,该算法应该识别叶子上包含斑点的区域,以报告疾病的严重程度。在我的研究过程中,我发现了 LeafSnap 并受到了启发。因此,我尝试按照论文使用 OpenCV 期望最大化来分割图像上的叶子,该方法使用 S 和 V 形式的 HSV 颜色空间进行训练;但是,由于反射或阴影,它仍然会返回一些误报。
有人可以尝试给我任何提示以获得更好的结果吗?我没有应用任何预处理技术!
我不认为Leafsnap打算在阳光直射下使用。它会产生非常强烈的阴影,完全打乱了他们的 S+V 方法。
在论文中,作者解释说他们会降低色调,因为当白纸反射一些绿色时,它会“稀释”物体。但是,在您的情况下,由于照片似乎是在晴朗的天空下拍摄的,因此纸张的色调要么偏黄(在阳光直射下),要么偏蓝(在阴影中),与树叶的绿色色调明显不同。事实上,在这两种情况下,色调层是最能反映叶子形状的层。因此,你不应该忽视寻找叶子形状的色调。
作为一个想法,您可以单独使用 Saturation + Value 以及 Hue 来确定形状。之后从这两个中选择较小的形状。