【发布时间】:2012-04-10 21:54:04
【问题描述】:
我正在开发关于光学音乐识别的 Android 项目。我通过手机相机拍一张乐谱的照片,然后尝试识别音符和符号。我对预处理后的方法非常熟悉,但这类工作通常是在扫描仪的帮助下完成的。 (相反我必须使用移动相机)
直观地说,我首先使用霍夫变换来检测五线谱(五线谱),然后计算它们与水平轴之间的角度,并将图像旋转到角度。这在理论上可行,但霍夫发现线段并且这些线段的角度不一致。所以没用。(可能是透视的影响)
在那之后,我尝试了许多边缘检测和寻线算法,但没有一个能稳定运行。 (包括频域旋转和线段检测器)
现在我正在考虑一种类似于 Android 上的文档扫描仪的新方法。我尝试将我的图像转换为扫描文档之类的形式。我想将我的图像与水平轴对齐并消除由于倾斜和透视而产生的效果。
我想知道是否有人对如何实现这种“文档扫描”有任何想法。或者,如果您对对齐文档或稳定线检测有任何想法,这对我未来的工作会很有帮助。谢谢。
【问题讨论】:
-
this blog 可能有帮助,也可能没有帮助
-
如果你愿意使用Java,你可能想看看audiveris.kenai.com,一个开源的光学音乐识别引擎(披露:很久以前我是一个简短的贡献者) .
-
@JasonRobinson:这对 OCR 项目会有所帮助,但我相信对这个项目没有帮助,无论如何,谢谢。
-
@btown:我在考虑使用 Audiveris 或 OpenOMR,但不幸的是我找不到任何 Android 支持或端口。你觉得有吗?
-
嘿,我正在尝试做同样的事情,并且也在寻找audiveris。我和我的团队开发了一个音乐模型,我们希望将其用于 AI 训练(可以直接学习对象树而不是 xml 作为某种形式的输出)。您在这个问题上的状态如何?
标签: java android image-processing opencv rotation