(57)【特許請求の範囲】
【請求項１】
文字列の撮像により生成された濃淡画像から前記文字列内の個々の文字を認識のために切り出す方法であって、
前記濃淡画像中の文字列を横切る方向に沿うラインにおける最大濃度または最小濃度を前記文字列に沿う軸に投影する投影処理を、濃淡画像中の文字が背景より暗い場合には最小濃度を選択し、前記濃淡画像中の文字が背景より高い場合には最大濃度を選択して、投影対象位置を文字列に沿って移動させながら繰り返す第１ステップと、
前記第１ステップにより生成された投影パターンから極大値および極小値を抽出し、極大値の変動範囲と極小値の変動範囲との間にこれらの値の変化に応じた傾きを持つ直線を設定する第２ステップと、
前記第１ステップで最大濃度を投影した場合には前記投影パターン中の直線より高い濃度が投影された範囲を切り出し対象範囲とし、第１ステップで最小濃度を投影した場合には前記投影パターン中の直線より低い濃度が投影された範囲を切り出し対象範囲として、前記濃淡画像中の切り出し対象範囲の画像を切り出す第３ステップとを、
実行することを、特徴とする文字切り出し方法。
【請求項２】
前記第１ステップでは、前記文字列に沿う軸に直交して投影対象位置を通過するラインをそのライン上の一点を中心に所定の角度まで回転させる場合の回転範囲に含まれる複数のライン毎に、そのライン内の最大濃度および最小濃度のうちの前記選択に応じた濃度を抽出し、最大濃度が選択されている場合には各ラインで抽出された値の中の最小値を前記投影対象位置に投影し、最小濃度が選択されている場合には各ラインで抽出された値の中の最大値を前記投影対象位置に投影する、
請求項１に記載された文字切り出し方法。
【請求項３】
前記第２ステップで設定された直線を前記第１ステップにより生成された投影パターンと共に表示して、投影パターンに対する直線の高さまたは傾きを変更操作に応じて変更するステップを実行する、
請求項１に記載された文字切り出し方法。
【請求項４】
文字列の撮像により生成された濃淡画像を認識対象として入力して、当該画像中の文字列内の個々の文字を切り出した後に、切り出された文字をそれぞれあらかじめ登録されたモデルと照合して各文字を認識する文字認識装置において、
認識対象の濃淡画像中の文字列を横切る方向に沿うラインにおける最大濃度または最小濃度を前記文字列に沿う軸に投影する投影処理を、投影対象位置を文字列に沿って移動させながら繰り返す投影処理手段と、
前記投影処理により生成された投影パターンから極大値および極小値を抽出し、極大値の変動範囲と極小値の変動範囲との間にこれらの値の変化に応じた傾きを持つ直線を設定する直線設定手段と、
前記投影処理手段が最大濃度を投影した場合には前記直線より濃度が高くなる範囲を切り出しの対象とし、前記投影処理手段が最小濃度を投影した場合には前記直線より濃度が低くなる範囲を切り出しの対象として、前記濃淡画像中の切り出し対象範囲の画像を切り出す切り出し処理手段とを具備し、
前記投影処理手段は、認識対象の濃淡画像中の文字が背景より暗い場合には最小濃度を選択し、前記濃淡画像中の文字が背景より高い場合には最大濃度を選択するように設定される、文字認識装置。
【請求項５】
前記投影処理手段は、前記文字列に沿う軸に直交して投影対象位置を通過するラインをそのライン内の一点を中心に所定の角度まで回転させる場合の回転範囲に含まれる複数のラインを設定して、これらのライン毎にライン内の最大濃度または最小濃度を抽出し、各ラインで最大濃度を抽出した場合には抽出された値の中の最小値を前記投影対象位置に投影し、各ラインで最小濃度を抽出した場合には抽出された値の中の最大値を前記投影対象位置に投影する、
請求項４に記載された文字認識装置。
【請求項６】
前記直線設定手段により設定された直線を前記投影処理手段により生成された投影パターンと共に表示して、表示画面中の投影パターンに対する直線の高さまたは傾きを変更する操作を受け付ける変更操作受付手段をさらに具備し、
前記直線設定手段は、変更操作受付手段が受け付けた操作に応じて前記投影パターンに対する直線の高さまたは傾きを変更する、請求項４に記載された文字認識装置。
【請求項７】
前記投影処理手段に最大濃度および最小濃度のいずれを選択させるかを指定するための入力を受け付ける指定入力受付手段を、さらに具備する請求項４または５に記載された文字認識装置。
【請求項８】
コンピュータを、文字列の撮像により生成されて当該コンピュータに入力された濃淡画像から、当該画像中の文字列内の個々の文字を切り出した後に、切り出された文字をそれぞれあらかじめ登録されたモデルと照合して各文字を認識する文字認識装置として動かすためのプログラムであって、
認識対象の濃淡画像中の文字列を横切る方向に沿うラインにおける最大濃度または最小濃度を前記文字列に沿う軸に投影する投影処理を、投影対象位置を文字列に沿って移動させながら繰り返す投影処理手段、
前記投影処理により生成された投影パターンから極大値および極小値を抽出し、極大値の変動範囲と極小値の変動範囲との間にこれらの値の変化に応じた傾きを持つ直線を設定する直線設定手段、
前記投影処理手段が最大濃度を投影した場合には前記直線より濃度が高くなる範囲を切り出しの対象とし、前記投影処理手段が最小濃度を投影した場合には前記直線より濃度が低くなる範囲を切り出しの対象として、前記文字列における対象範囲の画像を切り出す切り出し処理手段、
の各手段の機能を前記コンピュータに設定するためのプログラムを含む文字認識処理用のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理による文字認識処理に関するもので、特に、処理対象の画像から認識対象の文字を一文字ずつ切り出すための技術に関する。
【背景技術】
【０００２】
文字認識処理では、一般に、文字列の撮像により生成された濃淡画像から個々の文字を切り出し、切り出された文字毎に、各種文字モデルを用いたマッチング処理（モデルマッチング）を実施して文字列の内容を認識する。文字の切り出し処理では、処理対象の画像の２値化データまたは濃淡データをｘ，ｙの各軸方向に対して投影し、各軸に生成された投影パターンから文字に対応する箇所を抽出しすることにより、個々の文字に対応する領域（以下「文字領域」という。）を特定する。
【０００３】
文字認識処理に関する先行技術として、特許文献１には、投影処理により得た濃度ヒストグラムから切り出された文字の幅を閾値と比較し、文字幅が閾値より大きい場合には、複数の文字が接触している可能性があるとして再切り出しをすることが記載されている。（段落００２４〜００２７等を参照。）また、切り出し後の認識処理結果の信頼度が低い場合や、照合対象の画像が文字の一部を示すモデル（漢字の偏のモデルなど）に合致した場合などにも、再度、切り出し処理を実行することが、記載されている（段落００３７等を参照。）。
【０００４】
また、特許文献２には、文字切り出し後に仮マッチング処理を行ってマッチング信頼度を算出し、マッチング信頼度が所定の基準値以上であるなどの条件を満たした文字候補に基づき全角文字の標準文字長を決定し、マッチング信頼度が一定値より低かった領域を対象に標準文字長に基づく半角文字切出処理を実行することが、記載されている（段落００６１，００７８〜００８５等を参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−２８２４１７号公報
【特許文献２】特開２０１０−４４４８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一般的な文字切り出し処理では、投影方向に沿う１ライン内の画像データ（２値または多値）を累計する方法をとる。しかし、認識対象の文字列が印刷されている媒体の模様やシェーディングなどにより、背景部分の濃度のむらが大きくなると、背景部分の投影値と文字部分の投影値との差が小さくなり、切り出しの精度が低下する。
【０００７】
また、処理対象の文字列の文字間のピッチや文字幅が不揃いであったり、隣り合う文字の間の隙間が微小であったりすると、投影パターンでも、文字に対応する箇所と背景部分に対応する箇所との違いが不明確になり、文字の切り出しに失敗する場合がある。
このように文字を切り出す処理に失敗が生じると、その後のマッチング処理でも誤認識が生じるので、文字の認識精度が低下する。
【０００８】
上記の問題点に関して、特許文献１，２には、文字の切り出し後に認識処理を行い、認識の精度が悪い箇所を対象に再度の切り出しを行う技術思想が示されているが、このような方法では、処理が複雑で時間もかかるため、処理の高速化が要求される用途には不向きである。
【０００９】
本発明は上記の問題点に着目し、簡単な処理によって、文字列中の個々の文字を精度良く切り分けることにより、安定した切り出し処理を高速で行うことを課題とする。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明による文字切り出し方法では、以下の第１、第２、第３のステップを実行する。
第１ステップでは、処理対象の濃淡画像中の文字列を横切る方法に沿うラインにおける最大濃度または最小濃度を文字列に沿う軸に投影する投影処理を、濃淡画像中の文字が背景より暗い場合には最小濃度を選択し、濃淡画像中の文字が背景より高い場合には最大濃度を選択して、投影対象位置を文字列に沿って移動させながら繰り返す。
【００１１】
第２ステップでは、第１ステップにより生成された投影パターンから極大値および極小値を抽出し、極大値の変動範囲と極小値の変動範囲との間にこれらの値の変化に応じた傾きを持つ直線を設定する。第３ステップでは、第１ステップで最大濃度を投影した場合には投影パターン中の直線より高い濃度が投影された範囲を切り出し対象範囲とし、第１ステップで最小濃度を投影した場合には投影パターン中の直線より低い濃度が投影された範囲を切り出し対象範囲として、濃淡画像中の切り出し対象範囲の画像を切り出す。
【００１２】
上記の方法によれば、たとえば、文字が背景より暗い状態の画像を処理対象とする場合には、第１ステップの投影処理では、文字列を横切る方向に沿うラインにおける最小濃度を文字列に沿う軸に投影する。この処理を、投影対象位置を文字列に沿う軸に沿って移動させながら繰り返すと、文字に対応する箇所が谷となり、文字間の隙間に対応する箇所が山となる投影パターンが生成される。この投影パターンの極小値（文字部分）の変動範囲と極大値（文字間の隙間部分）との変動範囲との間に設定された直線を切り出し範囲の特定の基準とすることによって、切り出しのための基準値を場所によって変更することができる。
【００１３】
したがって、模様などにより背景に濃淡むらが生じる画像であっても、その濃度のばらつき範囲に対して十分な余裕のある位置に直線を設定することができる。また、シェーディングなどの影響により文字列の一部が暗くなっている場合でも、濃度の変化に応じた傾きを持つ直線を設定することができるので、文字列に沿ういずれの場所でも、文字の切り出しの範囲を正しく判別することができる。
【００１４】
上記の方法にかかる第１の態様では、第１ステップにおいて、文字列に沿う軸に直交して投影対象位置を通過するラインをそのライン上の一点を中心に所定の角度まで回転させる場合の回転範囲に含まれる複数のライン毎に、そのライン内の最大濃度および最小濃度のうちの前記選択に応じた濃度を抽出し、最大濃度が選択されている場合には各ラインで抽出された値の中の最小値を投影対象位置に投影し、最小濃度が選択されている場合には各ラインで抽出された値の中の最大値を投影対象位置に投影する。
【００１５】
文字列を横切る１ラインのみを投影の対象とすると、文字間の間隔が狭い文字列では、文字間の隙間部分の隣の文字の一部が隙間内に突出し、その突出部分が投影対象のラインに載って、文字部分の濃度が投影されてしまうおそれがある。しかし、上記の態様によれば、文字間の隙間部分に対する投影処理では、設定された複数のラインの中の文字の画像が載らないラインから抽出された濃度を投影することができるので、文字の切り出しの精度を高めることができる。
【００１６】
第２の態様による方法では、第２ステップで設定された直線または傾きを第１ステップにより生成された投影パターンと共に表示して、投影パターンに対する直線の高さまたは傾きを変更操作に応じて変更する。
この方法によれば、ユーザ自身が、投影パターンと直線との関係を確認しながら、各極大値のグループと各極小値のグループとを切り分けるのに適した状態に直線を変更することができるので、文字の切り出しの精度を高めることができる。
【００１７】
本発明による文字認識装置は、文字列の撮像により生成された濃淡画像を認識対象として入力して、当該画像中の文字列内の個々の文字を切り出した後に、切り出された文字をそれぞれあらかじめ登録されたモデルと照合して各文字を認識する機能を具備する。
さらにこの文字認識装置は、上記の文字切り出し方法を実施するために、認識対象の濃淡画像中の文字列を横切る方向に沿うラインにおける最大濃度または最小濃度を文字列に沿う軸に投影する投影処理を、投影対象位置を文字列に沿って移動させながら繰り返す投影処理手段と、投影処理により生成された投影パターンから極大値および極小値を抽出し、極大値の変動範囲と極小値の変動範囲との間にこれらの値の変化に応じた傾きを持つ直線を設定する直線設定手段と、投影処理手段が最大濃度を投影した場合には直線より濃度が高くなる範囲を切り出しの対象とし、投影処理手段が最小濃度を投影した場合には直線より濃度が低くなる範囲を切り出しの対象として、前記濃淡画像中の切り出し対象範囲の画像を切り出す切り出し処理手段を具備する。
【００１８】
投影処理手段は、認識対象の濃淡画像中の文字が背景より暗い場合には最小濃度を選択し、濃淡画像中の文字が背景より高い場合には最大濃度を選択するように設定される。
【００１９】
上記の文字認識装置の一実施形態の投影処理手段は、文字列に沿う軸に直交して投影対象位置を通過するラインをそのライン内の一点を中心に所定の角度まで回転させる場合の回転範囲に含まれる複数のラインを設定して、これらのライン毎にライン内の最大濃度または最小濃度を抽出し、各ラインで最大濃度を抽出した場合には抽出された値の中の最小値を前記投影対象位置に投影し、各ラインで最小濃度を抽出した場合には抽出された値の中の最大値を前記投影対象位置に投影する。この実施形態によれば、文字列に沿う方向において、各文字に対応する範囲を個別に切り出す処理を、精度良く実施することができる。
【００２０】
他の実施形態による文字認識装置は、直線設定手段により設定された直線を前記投影処理手段により生成された投影パターンと共に表示して、表示画面中の投影パターンに対する直線の高さまたは傾きを変更する操作を受け付ける変更操作受付手段をさらに具備する。また直線設定手段には、変更操作受付手段が受け付けた操作に応じて前記投影パターンに対する直線の高さまたは傾きを変更する機能が設けられる。この構成により、ユーザは、表示中の投影パターンと直線との関係を確認し、切り出しの精度が向上するように基準直線を変更することができる。
【００２１】
他の実施形態による文字認識装置には、投影処理手段に最大濃度および最小濃度のいずれを選択させるかを指定するための入力を受け付ける指定入力受付手段とが、さらに設ける。この手段によれば、処理対象の画像における文字と背景部分との明暗の関係に応じて投影の対象を変更することができるので、利便性が高められる。
【００２２】
さらに本発明では、上記の投影処理手段、直線設定手段、切り出し処理手段を具備する文字認識装置としてコンピュータを動かすためのプログラムを提供する。
【発明の効果】
【００２３】
本発明によれば、文字列の画像から個々の文字を切り出す処理を、簡単な手順で精度良く実施することができるので、文字認識処理を高速化することができる。また処理対象の画像に複雑な模様やシェーディングなどによるノイズが含まれる場合にも、そのノイズの影響を受けずに安定した処理を実施することができる。
【図面の簡単な説明】
【００２４】
【図１】文字認識装置の構成例を示すブロック図である。
【図２】文字認識処理において表示される画面の例を処理に応じた表示の変化と共に示す図である。
【図３】文字認識処理の手順を示すフローチャートである。
【図４】文字列に沿う方向に対する投影処理のために設定されるラインの概念を示す図である。
【図５】投影パターンに対する基準直線の設定方法を示す図である。
【図６】文字列に沿う方向に対する投影処理（図３のステップＳ５）の詳細な手順を示すフローチャートである。
【図７】文字認識処理で誤認識が生じた場合の画面、誤認識が生じた文字領域内の画像をモデルとして登録する登録用ウィンドウ、登録後に行われた再度の認識処理の結果を示す画面、の各例を示す図である。
【図８】モデル登録処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２５】
図１は、本発明が適用される文字認識処理装置の構成例を示す。
この文字認識処理装置は、文字列を対象にした撮像を行い、生成された画像中の文字を読み取ってその読み取り結果を出力するもので、制御部１０を含む本体部１、撮影用のカメラ２、表示部３、操作部４などにより構成される。表示部３は、たとえば液晶モニタにより構成され、操作部４にはマウスやキーボードが含まれる。
【００２６】
本体部１は、汎用のコンピュータ装置（パーソナルコンピュータ）であって、ＣＰＵを含む制御部１０のほか、主記憶部１１、画像メモリ１２、撮像インタフェース１３、表示用インタフェース１４、入力用インタフェース１５、外部インタフェース１６、外部ディスク用読取部１７などを有する。
【００２７】
主記憶部１１はたとえばハードディスクであり、画像メモリ１２はたとえばＲＡＭボードである。主制御部１１には、外部ディスク用読取部１７により外部ディスク１８から読み取られた専用のプログラムや、文字認識処理に用いられるフォントデータなどが登録される。カメラ２から出力された画像は、撮像インタフェース１３に取り込まれてディジタル変換された後、変換後の画像データが画像メモリ１２に格納される
【００２８】
制御部１０には、主記憶部１１に格納されたプログラムによって、画像メモリ１２に格納された画像から文字を１文字ずつ切り出す機能と、切り出された文字の内容を認識する機能とが設定される。また、制御部１０には、これらの処理でユーザに提示されるグラフィカルユーザインタフェースとしての機能も設定される。この機能により、制御部１０は、表示用インタフェース１４を介して表示部３に処理対象の画像を含む画面を表示し、入力用インタフェース１５を介して操作部４による操作を受け付ける。
【００２９】
この実施例の文字認識処理装置では、処理対象の画像を表示する画面において、文字の読み取りを指示する操作を受け付けた後、後述する図３の処理により画像中の文字を認識し、認識結果を画面に表示する。また、外部インタフェース１６を介して、認識結果を外部の機器に出力することも可能である。
【００３０】
図２は、文字認識処理のために表示部３に表示される画面の例を示す。
この例の画面３０には、認識対象の文字列の画像の表示欄３１、分析結果の表示欄３２、読み取りボタン３３、モデル登録ボタン３４などが含まれる。なお、この例では、画像の右端部にシェーディングが生じているものとして、斜線によって影を表している。
【００３１】
図２（１）は、読み取り処理が開始される前の画面であって、画像表示欄３１内の画像には、ユーザにより設定された処理対象領域を示す矩形枠３５が表示されている。ユーザは、マウスの操作などにより矩形枠３５の位置および大きさを定めることにより処理対象領域を設定し、続いて読み取りボタン３３を操作する。この操作により、制御部１０は、矩形枠３５に対応する領域を処理対象領域と認識して、その領域内の画像に対する文字認識処理（文字の切り出しおよびマッチング処理を含む。）を実施し、画面を図２（２）に示すように変化させる。
【００３２】
認識処理後の画面３０の画像表示欄３１では、各文字がそれぞれ切り出し処理により特定された文字領域を示す枠３６により囲まれる。また、各枠３６の左上位置には、その枠３６内の画像から読み取られた文字が表示されている。また、画像表示欄３１の右手の余白には、文字領域毎の認識結果から導き出された文字列が、読み取り結果として表示される。また、文字列の下方には、この文字列に最も適合したフォントの名称（Ｆ１）が表示される。
【００３３】
ブランク状態であった分析結果の表示欄３２にも、文字の切り出しのための投影処理により生成された投影パターンＰが、切り出しの基準として設定された直線Ｍ（以下、「基準直線Ｍ」という。）と共に表示される。
【００３４】
以下、文字が背景より暗い横並びの文字列を認識対象とすることを前提として、この例で実施される認識処理を詳細に説明する。
【００３５】
図３は、文字認識のために制御部１０により実施される処理の概略手順を示す。
この処理は、図２に示した画面で処理対象領域が設定され、読み取りボタン３３が操作されたことに応じて開始される。最初に、制御部１０は、矩形枠３５の位置情報に基づき、処理対象領域内の画像を取得する（ステップＳ１）。
【００３６】
図２の例では、一列分の文字列を含む範囲が指定されたとして説明したが、実際には、複数列の文字列を含む範囲が指定される場合もある。この点を考慮して、ステップＳ２では、まずｙ軸に対する投影処理を行い、生成された投影パターンにより文字列を１列ずつに切り分ける（ステップＳ２）。
【００３７】
以下、切り分けられた文字列を順に処理対象に設定して、ステップＳ４以下の処理を実行する。
ステップＳ４では、先の文字列の切り分け処理の結果に基づき、ｙ軸における処理範囲の上限値ｙ１と下限値ｙ２とを設定する（文字列に対応すると判別された範囲より若干外側のｙ座標をｙ１，ｙ２とする。）。ステップＳ５では、これらｙ１からｙ２までの範囲内の画像を対象にして、ｘ軸に対する投影処理を実行する。
【００３８】
上記の処理によりｘ軸方向に沿う投影パターンが生成されると、ステップＳ６において、投影パターンから極大値と極小値とを抽出し、続くステップＳ７において、極大値の分布に近似する直線と極小値の分布に近似する直線とを導出する。さらにステップＳ８では、これら２本の近似直線に基づき、切り出し対象範囲を特定するための基準直線Ｍを設定する。
【００３９】
ステップＳ９では、投影パターン内の各値を上記の基準直線Ｍと照合し、切り出し対象範囲を特定する。そして、切り出し対象範囲毎に、その範囲の左右端縁のｘ座標とｙ軸の処理対象範囲を示す座標ｙ１，ｙ２とに基づき、文字領域を抽出し（ステップＳ１０）、各種フォントデータに含まれる文字モデルを用いたマッチング処理を実行する（ステップＳ１１）。
【００４０】
この後は、ステップＳ３に戻り、未処理の文字列がある場合（ステップＳ３が「ＮＯ」）には、未処理の一文字列に対してステップＳ４〜Ｓ１１を実行する。全ての文字列に対する処理が終了すると（ステップＳ３が「ＹＥＳ」）、ステップＳ１２に進んで認識結果を出力する。この出力をもって、ユーザの指示に対する処理が終了する。
【００４１】
上記の処理のうち、ｙ軸に対する投影処理（ステップＳ２）では、処理対象領域内のｘ軸に沿うライン毎に、そのライン内の最小濃度を投影する。このようにすれば、１画素でも文字の画像が含まれるラインからは文字の画像の濃度が投影され、文字の画像を全く含まないラインからのみ背景部分の濃度が投影されるので、ｙ軸方向においては、文字列全体を含む範囲を精度良く抽出することができる。
【００４２】
文字列に沿うｘ軸に対する投影処理（ステップＳ５）では、投影対象位置毎に傾きが異なる複数のラインを設定して、各ラインの最小濃度を抽出し、抽出された最小濃度の中の最大値を投影値として採用する。このラインの設定方法を図４に示す。図中のｘｉは投影対象位置のｘ座標であり、ｙ１，ｙ２はｙ軸における処理範囲の上限値および下限値（ステップＳ４で求めたもの）である。
【００４３】
図４を参照して、座標ｘｉに対して設定される投影用のラインの概念を言うと、座標ｘｉを通りｙ軸に並行なラインＬ０を、点（ｘｉ，ｙ１）と点（ｘｉ，ｙ２）との中点を軸に左右に所定角度αまでの範囲で回転させる間に生じる各ラインが、それぞれ座標ｘｉに対する投影用のラインとなる。制御部１０が実行するアルゴリズムでは、ｙ軸方向の処理対象範囲ｙ１，ｙ２の位置における座標ｘｉからの距離ｄを用いてラインの傾きを変更するため、角度αに代えて、距離ｄの最大値Ｄαが設定される。
【００４４】
通常の投影処理のように、ｙ軸に沿うラインＬ０のみを投影の方向とした場合、図４の例のように、文字の間の隙間が狭く、その狭い隙間に隣の文字の一部が突出し、その突出部分がラインＬ０に載る状態になることがある。したがって、ｙ軸に対する投影処理と同じ手法に基づき、ｙ軸に沿うラインＬ０内の最小濃度をｘｉに投影すると、図４の例のｘｉには文字の濃度が投影されてしまう。
【００４５】
この点に鑑み、この実施例では、様々な傾きのラインを設定して、ライン毎にそのラインの最小濃度を抽出し、抽出された濃度の中の最大値を座標ｘｉへの投影値として採用する。背景部分が文字より明るい画像では、図４中のラインＬ２のように、隙間部分のみを通過するラインで抽出される最小濃度が最大となるので、この最大の濃度が座標ｘｉに投影される。よって、文字間の隙間部分の濃度が反映されて、文字に対応する箇所が谷となり、隙間部分に対応する箇所が山となる投影パターンが生成される。
【００４６】
図５は、上記の投影処理により生成された投影パターンＰの例（ｘ座標を横軸とし、濃度を縦軸とするもの）を、基準直線Ｍを設定する方法と共に示す。
図中のＭ１，Ｍ２は、図３のステップＳ７で求められた近似直線である。先に説明したように、このステップＳ７では、投影パターン中の極大値の変化に近似する直線Ｍ１と極小値の変化に近似する直線Ｍ２とを求める。次のステップＳ８では、たとえば、ｘ座標を１つずつ動かして、各直線Ｍ１，Ｍ２の着目中のｘ座標に該当する点どおしを組み合わせて、これらの点の中点（各点の濃度の平均値による。）を求め、各中点の分布に近似する直線を設定し、この第３の近似直線を基準直線Ｍとする。
【００４７】
基準直線Ｍの設定方法は、上記に限定されるものではない。たとえば、処理対象領域の両端点の座標ｘ１，ｘ２のみを対象に、直線Ｍ１上の対応点と直線Ｍ２上の対応点との中点を求め、各中点を結ぶ、という簡易な方法によって、基準直線Ｍを設定してもよい。または直線Ｍ１，Ｍ２を設定することなく、極大値および極小値の分布のパターンに基づき、直線Ｍの高さや傾きを決定してもよい。
【００４８】
図５の投影パターンは、図２（２）の欄３２内に示したものと同じであるので、再び図２（２）を参照する。この実施例で認識対象とした画像には、右側端縁部にシェーディングが発生しているので、投影パターンＰ内の山も、左から右に向かうにつれて低くなり、文字を表す谷部分と山部分との差も縮小している。しかし、この濃度の変化に応じて、基準曲線Ｍも左上から右下に向かって傾き、シェーディングの発生箇所においても、隙間部分を反映した山と文字を反映した谷とを切り分けることが可能な位置に基準直線Ｍが位置づけられている。よって、シェーディングによる濃度の変化の影響を受けることなく、基準直線Ｍに基づき個々の文字に対応する範囲を切り出すことが可能である。
【００４９】
図６は、ｘ軸に対する投影処理（図３のステップＳ５に相当）の詳細な手順を示す。以下、この図６のほか、前出の図４，図５も合わせて参照しつつ、投影処理の手順を説明する。
【００５０】
図６では、図４の例に合わせて、ｘ軸上の投影対象位置の座標をｘｉとする。このｘｉには、初期値として処理対象領域の左端縁のｘ座標ｘ１が設定される（ステップＳ１０１）。以下、ｘｉが処理対象領域の右端縁のｘ座標のｘ２になるまでで、ｘｉが１画素ずつ動かされて（ステップＳＴ１１０，１１１）、以下の処理が実行される。
【００５１】
まず、ステップＳ１０２において、最小濃度の最大値ＭＡＸに初期値の０を設定すると共に、ずれ量ｄに初期値として−Ｄαを設定する。Ｄαが正の値であるとすると、ｄの初期値は負の値となる。
【００５２】
ステップＳ１０３では、座標（ｘｉ＋ｄ，ｙ１）と座標（ｘｉ−ｄ，ｙ２）とを結ぶラインを設定する。ステップＳ１０１，Ｓ１０２で設定したｘｉ，ｄの初期値によれば、初回に設定されるラインは図４のラインＬ１となる。一方、ｄ＝Ｄαとなったときには、図４のラインＬ２が設定されることになる。
【００５３】
よって、ずれ量ｄがＤαになるまでｄを１ずつ増やして（ステップＳ１０７，１０８）毎回のｄにつきステップＳ１０３を実行することにより、ラインＬ１からＬ２までの範囲で、毎回、異なる傾きのラインが設定される。またステップＳ１０４において、設定されたライン内の最小濃度Ｉｍｉｎが抽出される。さらにＩｍｉｎが最大値ＭＡＸを超える場合には、ＭＡＸがＩｍｉｎに書き換えられる（ステップＳ１０５，Ｓ１０６）。ＩｍｉｎがＭＡＸ以下の場合（ＳＴ１０５が「ＮＯ」）には、ＭＡＸは現在値で維持される。
【００５４】
このように、投影対象の一点ｘｉに対し、傾きが異なる複数のラインを設定してライン毎に最小濃度を求めると共に、それらの中の最大値ＭＡＸを抽出する。全てのラインに対する処理が終了すると（ステップＳ１０８が「ＹＥＳ」）、その時点での最大値ＭＡＸが座標ｘｉの投影値Ｐ（ｘｉ）に設定される（ステップＳ１０９）。
【００５５】
上記の処理が毎時の座標ｘｉに対して実行され、ｘｉが終点であるｘ２に設定されて上記の投影値の設定が終了すると、ステップＳ１１１が「ＹＥＳ」となり、投影処理を終了する。
【００５６】
なお、上記の例とは反対に、背景よりも文字の方が明るい画像を処理対象とする場合には、各ラインではそれぞれそのラインにおける最大濃度を抽出し、抽出された濃度の中の最小値を投影値として選択する。これにより、文字に対応する箇所が山になり、隙間部分に対応する箇所が谷となる投影パターンが生成される。この投影パターンに対しても、図５に示したのと同様の手法で、２本の近似直線Ｍ１，Ｍ２を設定し、これらの直線Ｍ１，Ｍ２の中間位置に基準直線Ｍを設定するが、切り出しの対象範囲は、投影パターンの中で基準直線Ｍより濃度が高い範囲となる。
【００５７】
図１の主記憶部１１に登録される認識処理用のプログラムは、背景よりも文字が暗い画像に対する処理を実行するように設定されているが、背景よりも文字が明るい画像に対する処理を実行するためのプログラムも組み込み、いずれのプログラムによる認識処理を実行するかをユーザの選択に応じて決定してもよい。
【００５８】
また、上記の例では、極大値の分布範囲と極小値の分布範囲との真ん中あたりに基準曲線Ｍが設定されるようにしたが、あらかじめ定めたオフセット値により基準直線Ｍの高さを調整してもよい。
【００５９】
さらにこの実施例では、図２に示した画面において、ユーザが欄３２内の基準直線をドラッグする操作によって、基準直線Ｍの高さや傾きを変更することもできる。よって、自動的な文字の切り出し処理に失敗した場合には、ユーザは欄３２内の投影パターンの山や谷との関係に基づき基準直線Ｍを変更した後に、再度読み取りボタン３３を操作することによって、正しい認識結果を得ることができる。
【００６０】
以上に述べたように、この実施例では、文字の間に僅かでも隙間があれば、その隙間と文字とを精度良く切り分けることが可能である。しかし、各文字の間の間隔が十分であれば、ｙ軸に沿う方向のみの投影処理でも、文字の切り出しの精度を確保することができる。この点に鑑み、主記憶部１１に、ｙ軸に沿う方向のみの投影を行う簡単投影モード用のプログラムと、図６に示した投影処理を行う詳細投影モード用のプログラムとを登録しておき、認識対象の文字列の状態に応じてユーザに実行するモードを選択させるようにしてもよい。
【００６１】
ただし、簡単投影モード、詳細投影モードのいずれにおいても、ライン内における文字に対応する画素の数に応じた値ではなく、文字の画像の濃度が投影されるので、隣り合う文字同士が連結していると、これらを一文字ずつに切り分けることが不可能になる。
たとえば、欧文の小文字の文字列（”ｔｔ”，”ｒｔ”など）では、文字が連結される場合があるので、そのような構成の文字列を正しく認識できるようにする必要がある。
【００６２】
図７は、図２と同じ構成の画面３０により、”Ｓｃｈｉｍｉｔｔ”という語の末尾の２つの”ｔ”を連結した形態にして表された文字列を対象にした処理が行われたケースを例にして、上記の問題に対する対応を示したものである。
【００６３】
図７（１）の画面は、読み取りボタン３５の操作に応じて先の図３に示した処理が実施され、読み取り結果が表示された段階の表示例である。画像表示欄３１では、図２（２）の例と同様に、切り出し処理により特定された文字領域を示す枠３６や認識された文字が表示されているが、図中の枠３６Ａに示すように、文字列の末尾の”ｔｔ”を含む範囲が１つの文字領域として抽出されている。また、読み取り結果の表示では、この枠３６Ａに対応する文字に該当する文字がないことが、記号ＥＲにより表されている。
【００６４】
このような誤認識が生じた場合、この実施例のユーザインタフェースでは、モデル登録ボタン３４の操作によって、モデル登録用のウィンドウ３００が呼び出される。このウィンドウ３００には、誤抽出された文字領域（枠３６Ａに相当）から抽出された画像３０１と共に、登録先のフォントを指定するコンボボックス３０２、画像に対応する文字列の入力ボックス３０３、ＯＫボタン３０４、キャンセルボタン３０５などが表示される。
【００６５】
ユーザが、画像３０１に対応する文字列を欄３０３内に入力して、ＯＫボタン３０４を操作すると、制御部１０は、画像３０１を入力された文字列に紐付けて登録する。なお、コンボボックス３０２には、マッチング処理で認識されたフォント（Ｆ２）が自動設定されるが、ユーザはこの設定を自由に変更して、登録先を変更することもできる
【００６６】
上記の登録処理後に、ユーザが、元の画面３０の読み取りボタン３５を再度操作すると、制御部１０は，再度、図３の処理を実行する。図７（３）は、この再度の認識処理の結果が表示された画面を示すもので、先に登録されたモデルとの照合によって、”ｔｔ”も正しく認識されている。
【００６７】
図８は、上記のモデル登録処理として制御部１０が実行する手順を示す。
この処理は、先の図３に示した処理の後に、その処理結果を示す画面３０内のモデル登録ボタン３４が操作されたことに応じて開始される。
【００６８】
まず、マッチング処理の結果を参照して、文字モデルに対する認識対象の文字列の倍率Ｑと、誤認識が生じた文字領域の画像とを取得する（ステップＳ２１，２２）。なお、マッチング処理では、文字モデルの倍率を複数とおりに設定して倍率毎に文字領域内の画像と照合し、最も高い類似度が得られたときの文字モデルを文字領域にあてはめており、この文字領域に適合した文字モデルの倍率が上記の倍率Ｑとして認識される。
ステップＳ２２の画像の取得は、自動に限らず、切り出された文字領域の中の１つを選択するユーザの操作に応じて、選択された領域内の画像を取り込むようにしてもよい。
【００６９】
ステップＳ２３では、上記の倍率Ｑや画像を示す登録処理用のウィンドウ３００を立ち上げる。このウィンドウ３００内の入力欄３０３に文字列が入力されてＯＫボタン３０４が操作されると（ステップＳ２４が「ＹＥＳ」）、欄３０３に入力されている文字列を取得する（ステップＳ２５）。
【００７０】
さらにステップＳ２６において、取得した画像を１／Ｑ倍することにより、この画像のサイズを登録対象のフォントデータのサイズに合わせ（ステップＳ２６）、サイズ変更後の画像を入力された文字列に対応づけて登録する（ステップＳ２７）。
【００７１】
ウィンドウ３００の立ち上げ後にキャンセルボタン３０５が操作された場合（ステップＳ２４が「ＮＯ」でステップＳ２８が「ＹＥＳ」）には、ウィンドウ３００を閉じて処理を終了する。
【００７２】
上記の登録処理により、図７（３）に示すように、複数の文字が連結されている箇所でも、各文字を正しく読み取ることができるようになるので、利便性がさらに向上する。
なお、このモデル登録処理は、一般的な投影処理による文字の切り出しを行う文字認識処理装置でも、実施することができる。
【符号の説明】
【００７３】
１    本体部
２    カメラ
３    表示部
４    操作部
１０  制御部
１１  主記憶部
３０  画面
Ｐ    投影パターン
Ｍ    基準直線
【図１】
0005906788.tif 000002
【図２】
0005906788.tif 000003
【図３】
0005906788.tif 000004
【図４】
0005906788.tif 000005
【図５】
0005906788.tif 000006
【図６】
0005906788.tif 000007
【図７】
0005906788.tif 000008
【図８】
0005906788.tif 000009