OpenCv CookBookの画像処理には この後 各種の特徴検出が載っています。
しかし その辺にはちょっと 興味も沸かず
というわけで 前々から興味をもっていた 棋譜アーカイバーに挑戦することにしました。
構想は。。。。。。『カメラで撮影した詰め碁の画像を解析し、以前作成した Gobahn Win用のデータを自動的に作成する。』と いうものです。
しかも あわよくば・・・・ 手順番号までも 読み込めれば と欲張っています。
まずは 下の元データから 直線と石を検出し 検出した石の座標から 棋譜データを作り出そうと考えました。
直線検出 → 透視変換 → 石検出 の手順です。してその結果は
となり 石の座標値も 次のように 求められました。
x=15 y=14 B,x=15 y=15 B,x=15 y=16 B,x=15 y=17 B,
x=15 y=18 B,x=15 y=19 B,x=16 y=14 B,x=16 y=15 W,
x=16 y=16 W,x=16 y=17 W,x=16 y=18 W,x=17 y=14 B,
x=17 y=15 W,x=17 y=16 B,x=17 y=17 B,x=18 y=14 B,
x=18 y=15 W,x=18 y=17 W,x=19 y=14 B,x=19 y=15 W,
x=19 y=17 W,x=19 y=18 B
そこで気を良くして(笑い)実機でテスト
しかし 奇妙なところに石を検出したり 取りこぼしがあったり エミュレータと結果が違う!!!(エッ なんで??)
実際エミュレータ上でもっともらしい答えにたどり着くには 直線検出やら円検出用のメソッドで いろんなパラメータをいじってなんとか実現したのが 実状です。自動的に最適値を求められれば 全く操作なしでスマホ上で目的の処理を行うことは可能ですが 無理っぽく。。。
ここで 敢え無く !! 残念 !!
おんなじことを PCで試してみようかな。。