2012-04-10 8 views
8

私はAndroid Music Projectで光音楽認識について作業しています。私はモバイルカメラで楽譜の写真を撮り、ノートと記号を認識しようとします。私は前処理後の方法論に非常に精通していますが、これらの作業は通常スキャナーの助けを借りて行われます。Androidでミュージカルシートイメージのライン検出

直観的には、私はハフ変換を最初に使って譜表(スタッフライン)を検出し、それらと水平軸との間の角度を計算し、角度だけ画像を回転させました。これは理論的にはうまくいくかもしれませんが、ハフルは線分を見つけ、これらの線分の角度は一貫していません。だから、それはうまくいきませんでした。(多分ので遠近効果の)その後

、私は多くのエッジ検出とライン見つけるアルゴリズムを試みたが、それらのどれも安定して働きました。今私は、Android上のドキュメントスキャナと同様の新たなアプローチを考えています

(周波数領域の回転と線分検出器を含みます)。イメージをスキャンしたドキュメントのような形式に変換しようとしています。自分のイメージを水平軸に揃えて、傾きと視点のために効果を取り除きたい。

誰もが、この「ドキュメントスキャン」を達成する方法についてのアイデアを持っているのだろうか。文書の整列や安定した線の検出についてご意見がありましたら、今後の作業に役立つはずです。ありがとうございました。

+0

[このブログ](http://gaut.am/making-an-ocr-android-app-using-tesseract/)よく、またはあなたがしている場合は –

+0

有用ではないかもしれませんJavaを使用する意思がある、オープンソースの光音楽認識エンジンであるhttp://audiveris.kenai.com/をチェックしてみるといいかもしれません(公開:私は簡単に貢献者でした、ずっと前です)。 – btown

+0

@JasonRobinson:これはOCRプロジェクトには役立ちますが、これは私が信じるものではありませんが、とにかくありがとうございます。 –

答えて

3

あなたは、単に左側の上部または下部譜表の高さとシートの右側を測定し、そこから角度を計算することができます。唯一の困難さは、高さを自動的に測定する(すなわち、どの列が洞穴のために垂直に走査するかを見つける)良い点を見つけることである。それを堅牢にする1つの方法は、6をチェックすることですが、多くの場合、ほぼ一定幅のホワイトゾーンで区切られた連続する黒いピクセルがあります。あなたがそれを見つけたら、測定を捨てる迷子や記号がないことは確かです。

+0

私は非常に似たアプローチを試みましたが、2つの理由のために多くのケースでうまくいきませんでした。まず第一に、ラインは光、解像度などのために常にラインではありません。第二に、パースペクティブは写真が一直線に見えるようにしますが、実際にはそれは整列しません。 –

+0

実際の線そのものを見つける必要はありません。局所的な最大値(おそらく平均的なフィルタリングの後)をプロットし、その間隔が規則的であるかどうかを確認するだけです。非常に多くの行があるので、かなり堅牢でなければなりません。私は、あなたが遠近法の問題によって何を意味するかを完全には分かっていません。 – dvhamme