問題の読み取り
1.文字認識はどこまで可能か
手近にある雑誌の寸法を測って見ました。210x257mmで、A4の縦を短くしたサイズでした。
雑誌には綴じ込みがあって、4ページにまたがる問題が最大です。
これが無理なのは確かで、分割して撮影することになります。
マスのサイズは、普通の問題が10x10mmで、はがきに印刷したものは7x7mmでした。
マスの数字のサイズですが、文字の高さが、2.5mmほど(はがきサイズでは2mm)です。
大き目の問題を手近のデジタルカメラで撮影して見ました。
1280x960ドットの画像になり、120万画素と言うことのようです。
文字の高さ2.5mmから、ドット数を計算すると、9.3ドットになります。

マスの数字部分の拡大で、数字の高さが10ドットになっています。
罫線や数字間は1ドットになっています。
このマスの左は、黒マスです。
120万画素では画像が横長なのを考慮に入れても、2ページにまたがった問題が、読み取りの限界そうです。
2.撮影サイズ
雑誌のサイズを測ると、210 x 257mm(A4変形)と 182 x 257(B5)がありました。
問題は、2ページ(大)、1ページ(中)、1/2ページ(小)を想定します。
マスの番号の数字の高さは2.5mmぐらいです。
マスの番号の数字が、14ドットになるように、撮影するものとして大雑把な目安を計算してみました。
撮影は雑誌と同じ向き(カメラを垂直にしない)で行うものと仮定します。
|
問題のサイズの分類 |
問題の撮影サイズの概算 |
必要な画素数 |
|
小 |
210x130 |
1176x728 |
|
中 |
210x260 |
1176x1456 |
|
大 |
420x260 |
2352x1456 |
一般的なデジタル・カメラの撮影サイズの呼称との関係は以下の通りです。
|
撮影サイズの呼称 |
マス番号の認識可能な問題のサイズ |
|
画素 |
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。(問題の矩形部分のみを撮影) |
3.プログラミングの様子
C#だと、デバッグ用の表示も簡単です。

4.図形認識
興興味があったのは、カラー情報を使って画像認識することを試してみたいと言うことです。グレースケール化から2値化する方法では、目の機能には近づけないように思うからです。
しかし、色情報を取り出してみると同じに見える部分の色の値がたくさんあることが分かりました。分類の仕方が分かるには時間がかかるので、今回はグレースケール化して、その他の部分を作っておこうと思います。
5.文字認識
文字を構成するドット数が少ないので、3x3ドットを使うフィルタや輪郭抽出や線化といった方法は有効でないようです。
6.罫線認識
今回は数字の並び具合からマスを認識しています。しかし、罫線を認識するのが必須のようです。
歪みが大きく、文字の並びが最初と最後で1マス違うことも簡単におきます。
また、文字が罫線に癒着してしまうので、切り離すことも必要です。
しかし、罫線もかすれているので単純ではなさそうです。 |