私はGO boardを認識し、SGF fileを作成するAndroidアプリで作業しています。難しい背景のOpenCV検出広場
私はそれをワープするために、以下のような正確な線や石を見つけることができるようにするために、全体ボードを検出する必要があります。
キャニー別々のチャンネル
Imgproc.Canny(channel, temp_canny, 30, 100);
は(ビット単位を組み合わせたチャネルを分離:今私はOpenCVのRGBマットを使用して、次の操作を行い
filledboard http://roelept82.eightytwo.axc.nl/pic/detect.png
OR)すべてのチャネル。
Core.bitwise_or(temp_canny, canny, canny);
- され、まだ私はいくつかの行は、あなたが下の画像に表示できるように消える傾向にあるとして、一貫してボードを検出することはできませんよボードの輪郭に
を見つけるボード上の黒い線や石はっきりと見えるが、ボードの端がいくつかの場所で欠けている。
filledboard http://roelept82.eightytwo.axc.nl/pic/canny.png
どのように私は、この検出を向上させることができますか?または私はボードを空にすることができます行く
- *心に留めておくことが重要*
は、ボードはカラー
- に変わり行く...それを検出し、1が失敗した場合に、それらの間の切り替えの複数の方法を実装する必要があります又は完全に石
で満たされ、これは私が - 背景は常に真っ白ではない基板上の外側黒線の検出に依存することができない意味
これはので、新しいインスピレーションがはるかにある、私はちょっとこれを解決するためのOpenCVを使用してインスピレーションを使い果たした私は
*更新* 23-05-2016
を検出したいpictures with go boardsの小さな集まりです感謝!!! その間、私は機械学習を使い始めました。最初の結果は素晴らしく、私はあなたの投稿を続けていますが、まだopencv実装を作成することを期待しています。
私が正しく理解していれば、ボードの外側の境界だけを検出したいと思うでしょうか?もしそうでなければ、すべてを検出したいと思うのですが、その質問は広すぎるだけではなく、はるかに複雑になります。 –
目標はボード上のすべての黒と白の石の位置を検出することです。 1つの方法は、正確なボードのコーナーを検出し、ボードを四角に反らせて、その石を検出することです。 2番目のステップは非常に簡単です(私の質問の最初のイメージはそのための動作検出アルゴリズムを示しています) – MaMiFreak