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

以前に、水平方向の周波数分布とか垂直方向の周波数分布、などと書いているように、
いま、オモチャにして遊んでいる一次元フーリエ変換は、画像に対して、厳密な意味
での空間周波数を与える物とは違う( 本来は FFT を二次元に拡張せにゃならんのさ )。

そういう事情で、こういう↓オタッキーな遊びができたりもする。



たとえば、文字 L を構成部品に分解し、それを再構築してみよう。

# それって、キュービズムかいな ....


 1. 文字 L の構成部品を垂直方向へ動かしてみる





この↑ように水平方向のパワースペクトル( 青いグラフ )は基準文字と変わらないが、
垂直方向( 赤いグラフ )では違いが見られる。



 2. 文字 L の構成部品を水平方向へ動かしてみる





前とは逆に、垂直方向のパワースペクトル( 赤いグラフ )は基準文字と変わらないが、
水平方向( 青いグラフ )には違いが見られる。



このことは、文字は、画像内の位置に依らず、どこにあっても同じ分布特徴を与えるが、
文字自体の形( 相といっても良いだろう )が異なれば、異なった分布となることを示し
ている。

つまり、この方法を使って、文字の判別ができるという、当たり前の事実が、ちゃんと
確認できたりもするわけさ。

# フーリエ変換が、直交変換であることを、お忘れなきよう〜 



それでは、文字の判別には、どれぐらいの範囲の周波数分布が必要なのだろうか?

ローパスフィルタを使って、文字をぼかしながら、目視で確認していくことにする。















ってなわけで、水平軸の目盛りで、だいたい 120 〜 170 ぐらいあれば、余裕で大丈夫
だろう。

これは、下の図から判断すると、16 次 〜 22 次の高調波成分まで考慮すべきだ、とい
うことに相当する。

# つまり、ヒトの目ってのは、それだけ、明るさの変化には敏感だ、ということさ。





# ちなみに、水平軸目盛り( リニアスケール )の 500 の位置がナイキスト周波数だ。




このことから、等階級文字の読取りに必要な画像解像度が、おおまかに与えられる。

そこそこ、文字らしく見せるには、16 〜 22 次の高調波まで必要という結果だから、
 32 * 32 〜 44 * 44 ピクセルぐらいの文字画像が適当だ、ということじゃないかな。


# まぁ、普段は書けないプログラムを、夏休みに書いて遊んでみるのも、プログラマの
# 風流ってね。