stMind

about Tech, Computer vision and Machine learning

stackoverflowにあったopencvとpythonを使ったお手軽数字認識のサンプル

Simple Digit Recognition OCR in OpenCV-Python - Stack Overflow

上記リンクにある画像とコードをコピーすれば、手元で簡単に試せますYo!

前処理ステップ

数字が5行分並んだ画像を学習用の画像としてpitrain.pngという名前で保存します。その下にある学習用のスクリプトは適当な名前で保存しておきます。
スクリプトを実行すると、一つの数字が赤枠で囲われるので、対応する数字キーを押します。

f:id:satojkovic:20140721182254p:plain

「7」を入力すると次の文字が赤枠で囲まれるので、同じように対応する「4」を入力します。

f:id:satojkovic:20140721182622p:plain

といった感じで全ての文字を入力していくと、学習用の.dataファイルが二種類出来るはずです。

学習とテスト

テスト用の画像がさらにその下にあるのでpi.pngとして保存します。学習とテスト用のスクリプトも適当な名前で保存して実行すると

f:id:satojkovic:20140721183053p:plain

左が数字領域の切り出し結果で、右に認識した結果が表示されます。お手軽ですが、正しく認識されてます。