【Python】ゲームユニットでOCR機能を試す(7)

つづき

(9)昼間に撮影した場合(CamScannerアプリ)

 蛍光灯の反射が気になったので、昼間に明るいところで撮影してみた。

但し、直射日光に当てると強く反射してしまうので、間接的に日が当たる場所で撮影した。

左上部分の原寸大(100%表示)

認識結果は、下図の通り。

何故かユニット間の空き部分を、下図赤枠のように文字と認識する。

上記の赤枠部分に相当する画像は、下記の通り。

数字に限定する前のOCRの認識結果は、下図の通り。赤枠が上記の部分。

何故に文字と認識するのかは不明である。単色でフラットな画像でないと、

そのパターンに近い文字を当てはめるのかもしれない。

(10)昼間に撮影した場合(CamScannerアプリで白黒強調)

 アプリでオリジナル画像から白黒を強調した画像に変換できるので、試してみた。

左上部分の原寸大(100%表示)

認識結果は、下図の通り。

上記(9)と同様にユニット間の空き部分を2行のデータとして認識している(下図6~7行目の赤枠)。

更に、1/28と28の間に4の数字を認識している(下図2行目の赤枠)。対応する画像は、上図の赤枠。

(11)昼間に撮影した場合(iphone標準のカメラ機能)

 少し日光が強くなったので、カメラの影が映らないように、やや斜めから撮影した。

左上部分の原寸大(100%表示)

認識結果は、下図の通り。全く認識できていない。撮影の角度が悪かったのかもしれない。

(補足)

 上記(9)~(11)で数字に限定しない全てをcsvで出力すると、変換できない文字コードが

含まれるエラーがでる。やはり、iphoneなどで撮影した画像では、無理がある。

前回見つけた方法でエラーを解消し、(9)で文字を含めて認識させると、下図のように文字の

誤認識が多い(赤線部参照)。特に6,7,12,13行目は文字ではなく、濃淡パターンを文字と認識している。

次回へつづく

 

<個人的な感想>

 期待した昼間の撮影は、問題が多く失望した。意外にも、画像の濃淡が際立たない

夜間(部屋の蛍光灯)の撮影のほうが、余計な文字を認識しないので、良いのかもしれない。

 

<リンク>

ブログのトップページは、こちら

バタイユゲーム情報班のホームページは、こちら