我已经构建了一个系统来分割包含手写符号的二进制图像并对它们进行分类(特别是对于音乐)。我知道有商业应用可以做到这一点,但这是我试图将其作为一个项目。
为了简单起见,我们假设我的整个图像中都有两个元素:
和
我已经构建了一些可以将图像分割到区域并对其进行分类的内容。这在大多数时候都很好。
然而,有时元素会触及,此时我的分类器会崩溃。例如:
或
将两者分开的最佳方法是什么?我做了很多研究,但我认为我缺乏领域知识可能会让我失望!
我发现的事情:
可能有用的东西,我很感激"去寻找它"或者"避免"在我走下兔子洞之前投票。
答案 0 :(得分:2)
在我看来这是一个非常难的问题,而且我没有一个很好的通用解决方案。特别是多个连接#
的情况将难以解决。
在您的特定情况下,我会尝试以下方法,假设通常不会有超过两个或三个符号聚集在一起:
这不是一个非常复杂的解决方案,它的效果如何强烈取决于您的特定字符识别
另一个想法:
如果您的大多数形状都倾向于具有细长的垂直线段,您可以通过probabilistic Hough transform识别这些线段,并使用找到的垂直线段作为识别的起点,只要blob包含超过一个符号。
另一种分离形状的想法:
将blob拆分为距离blob边界的给定最小距离的最大convexity defect。警告:这最适合凸形,而且可能根本不适用于#
标志
备选方案4:
在乐谱中,相同类型的符号倾向于一起出现,例如#后跟同一行的音符,或者某个模式中行的开头的多个#。为这些符号聚集在一起的特殊组合识别器可能是值得的。
(就此而言,您目前如何将这些符号与职员线分开?)