新規記事投稿 フォロー記事投稿 記事のキャンセル
From: Akitaka HOSOMI <hosomi@ga2.so-net.ne.jp>
Subject: Re: スタンプ印字された文字の読み取り方法( フーリエ変換法 - 検証篇 )
Date: 1998/08/19 01:53:55
Reference: junge/00144

さて、夏休みも残り少なくなったので、時間の許す範囲で、今までの能書きを検証してみる。



スタンプ文字について、サンプルとなる適当な画像( 128 * 128 ピクセル )を用意する。

    階級文字 : 2S, S, M, L, 2L, 3L, 4L ( サイズを表す )
    等級文字 : 優, 秀, 良, ○ ( 品質を表す )

この画像をラスタ順にスキャンして、ピクセル濃度( 明るさ )を読取っていく。

※ このとき、スキャン方向には、水平方向と垂直方向があることに注意する。

画像全体のスキャンを終えたら、読取ったピクセル濃度の数列から、直流成分を除去し、
濃度の分布を正規化した後、これを FFT の入力とする。

得られた FFT 出力から、パワースペクトルの周波数分布を求める。



それでは、ここまでのところを、L の文字画像を例にとって、実際に試してみることにする。

※ 青のグラフは、水平方向の周波数分布、赤のグラフは、垂直方向の周波数分布で、
   ともに、ナイキスト周波数までの分布を表示してある。






すぐ気がつくように、適当な間隔でスペクトルが並んでいるのが確認できる。これは、
画像をラスタ順にスキャンすることにより、近接行がよく似た波形を持つようになる
ためだ。つまり、この画像では、128 ピクセル分に相当する周期で、信号が繰り返さ
れているということだ( 適当な周期を持った、デューティの異なる矩形波が入力され
ていると考えれば、把握しやすいだろう )。

そのため、文字の特徴は、この 128 ピクセル分に相当する基準周波数に対する、高
調波成分の分布、として捉えることができる。

そこで、基準周波数成分の強度を基準にして、得られたスペクトル分布を正規化し、
高調波成分ごとに包絡をとってみると、文字の特徴が把握しやすくなる。


こんな感じ↓になるのさ。






全部の階級文字について、この方法で見てみる。

















これら↑を見てみると 2L と 3L については、よく似た分布となっている。

これは、2L と 3L を読取ろうとすると、その画像の一部分でしか、文字の区別ができない
という、極めて当たり前の事柄を示している。

# プログラムにとっては、ヒジョ〜に不幸なことだぁ〜〜〜




参考までに、等級文字についても、その特徴分布を示しておく。

※ 応用面では、等級文字と階級文字の認識部は、別途、用意しておいた方が、認識率は
   上げられると考えている。

※ ラッキーなことに、これらの文字は、同じ位置に印字されることは、まず無いのさ。