Android中音乐表图像的线检测

Osm*_*diz 8 java android opencv image-processing rotation

我正在开发关于光学音乐识别的Android项目.我通过移动相机拍了一张乐谱照片,我试着识别音符和符号.我对预处理后的方法非常熟悉,但这些工作通常是在扫描仪的帮助下完成的.(相反,我必须使用移动相机)

直观地,我首先使用霍夫变换来检测谱表(谱线),然后计算它们与水平轴之间的角度,并将图像旋转到角度.这可能是理论上的工作,但霍夫找到线段,这些段的角度不一致.所以它没有用.(也许是因为透视的影响)

之后,我尝试了许多边缘检测和寻线算法,但它们都没有稳定运行.(包括频域旋转和线段探测器)

现在我正在考虑一种类似于Android上的文档扫描程序的新方法.我尝试将图像转换为扫描文档等形式.我想将我的图像与水平轴对齐,并因倾斜和透视而摆脱效果.

我想知道是否有人知道如何实现这种"文档扫描".或者,如果您对对齐文档或稳定线路检测有任何想法,那么对我未来的工作将会有所帮助.谢谢.

dvh*_*mme 3

您可以简单地测量纸张左侧和右侧顶部或底部板条的高度,并据此计算角度。唯一的困难可能是找到一个自动测量高度的好点(即找到垂直扫描五线谱的哪一列)。使其稳健的一种方法是检查 6 个或任意数量的由接近恒定宽度的白色区域分隔的连续黑色像素。当您发现这一点时,您可以确定没有任何杂散音符或符号影响测量。