マス番号の画像認識

この機能は、デジカメやケイタイで撮影した画像から、ナンクロのマスの番号を認識しようと言うものです。
完璧な認識は出来ませんが、マス番号の入力の手間を減らせます。

操作手順は、

  1. 問題を撮影した画像ファイルを開く

  2. 問題のマスの部分を選択する

  3. マス番号を認識する

の、3段階で、とても簡単です。

ただし、マス番号の認識できる画像には条件があります。操作手順の後に記述しますので、お読みください。

認識(読み込む)のは、問題のマスの左上隅に付けられた、マスの番号だけです。
解答欄や、マスにあらかじめ書かれているカナ文字を読み込むことは出来ません。

うまく認識できないときに、使い方の問題かと悩んだりしないでください。
このプログラムには、普通のOCRソフトにあるような設定項目が一切ありません。
「撮影時の注意」を見て、すぐに撮影しなおしましょう。デジタルカメラの利点です。

1.画像認識の開始

「ファイル」メニューの「画像からマス番号を認識」を選択します。

             問題を撮影した画像ファイルを選択します。

選択したファイルの画像を縮小表示した「画像認識」のウインドウが表示されます。

 

 

 

 

 

 

2.領域確定

問題のマスの矩形部分だけを選択して、「領域確定」をしてください。
このとき、縮小表示部分の下に、カーソル近辺の原寸の表示されます。
領域を選択するには、マウスポインタ(カーソル、矢印)を、問題の矩形の左上隅に置き、マウスの左ボタンをクリックして、クリックしたまま右下隅に移動します。
再選択するには、同じ操作を繰り返してください。

「領域確定」をクリックすると、左ボタンを押した位置が、左上になるように回転します。

横倒しや、さかさまなままでは数字が認識できません。

 

認識

「認識」をクリックすると、認識を行って、結果を右のウインドウに表示します。

「完了」をクリックすると、「マスの番号入力画面」に、認識結果が送られます。

 注意:

  1. 黒マスの認識結果は、ゼロと表示されます。

  2. 数字が認識できなかったマスもゼロと表示されます。
    「マスの番号入力画面」に送ると、黒マスとして表示されます。

  3. 下図のステータスバー(ウインドウの下の帯)に文字の高さが書かれています。
    うまく認識できない時には、確認してください。

.その他の操作

  1. 「ファイルに保存」をクリックすると、認識結果をテキスト形式でファイルに出力します。
    出力したファイルは、元の画面にある、「ファイル」メニューの「テキスト形式のマス番号を開く」で読み込むことができます。
    問題を分割して撮影し、テキストエディタや表計算ソフト(Excelなど)で、矩形コピーで合成して使えます。

  2. 「中止」をクリックすると、認識結果を破棄して、このウインドウを閉じます。

 

.画像ファイルの形式

デジタルカメラのファイルは jpg であることが多いようです。
このプログラム自体は、画像ファイルを直接操作しません。Windowsの本来の機能で読み込まれた結果を使っています。
したがって、「ペイント」等の標準のプログラムで入力可能な形式が入力できます。
(グレースケールや2値画像もあるのかも知れませんが、対象に考えていません。普通に撮影したカラー画像を使ってください。)

.画像のサイズ

画像からマス番号の数字部分を読み取るためには、数字が十分な大きさで撮影されることが必要です。
ただし、300万画素以上の画像は試したことがありません。300万画素以下に設定して撮影してください。

撮影サイズの呼称


マス番号の認識可能な問題のサイズ

画素

M

(メガ画素)

一般的な

サイズ

30

0.3

640x480

1/4ページの問題ならOK

100

1

1280x960

(1/2ページ)の問題ならOK

200

2

1600x1200

(1/2ページ)の問題ならOK

中(1ページ)も概ねOK。(余白を少なく撮影したり、カメラを縦にしたり。)

300

3

2048x1536

(1ページ)の問題までOK

大(2ページ)も概ねOK(問題の矩形部分のみを撮影)

この表は、以下のように考えて作りました。

雑誌のサイズを測ると、210 x 257mm(A4変形)と 182 x 257(B5)がありました。
問題は、2ページ(大)、1ページ(中)、1/2ページ(小)を想定します。
マスの番号の数字の高さは2.5mmぐらいです。
マスの番号の数字が、14ドットになるように、撮影するものとして大雑把な目安を計算してみました。
撮影は雑誌と同じ向き(カメラを垂直にしない)で行うものと仮定します。

問題のサイズの分類

問題の撮影サイズの概算

必要な画素数

210x130

1176x728

210x260

1176x1456

420x260

2352x1456


.撮影時の注意

  1. カメラの画像サイズを、300万画素以下で、最大のものに設定してください。

  2. 接写(マクロ、近距離)モードに設定してください。

  3. 雑誌は、平らになるようにします。必要ならウエイトを置くなどして、歪まないように注意してください。
    特にページの境目は、注意が必要です。(雑誌からはずして撮影するのがベストです。)

  4. 問題のマス部分が一杯に入るようにカメラと雑誌の距離を調節してください。

  5. 問題のマス目とファインダーの枠と見比べて、歪まないように、カメラの傾きを調節してください。

  6. 手ブレに注意して、シャッターを押してください。

.処理上の制約

  1. このプログラムは小さい文字を認識するように作りました。文字サイズは大きければ大きいほど良いわけではなく、縦に17ドットの文字図形を元にしています。

  2. 形状ではなく、ドット単位の比較になるため、字形に大きく依存します。フォントが異なればまったく読めません。

  3. 傾いた画像や歪んだ画像は認識できません。数字と見なせるもののない空間を使って水平、垂直のマスの数を計算していますが、歪むと認識できません。

  4. はじめから、カナ文字が入っているマスは、黒マスになったり、誤認識する可能性が高くなります。数字は、水平、垂直に並んでいるものとしてマスを判断していますが、カナ文字がこの判断に影響する場合があります。また、印刷上も、数字と癒着している場合があります。

  5. 図形が数字かどうかの判断は図形の大きさで判断しています。罫線やあらかじめ印刷されているカナ文字に癒着すると数字が消えます。消えたマスの位置にはゼロを入れています。(黒マスになります。)

■認識可能な文字の形状

■歪んだ画像