(57)【特許請求の範囲】
【請求項１】
マトリックス状に配置された画像データに対して罫線を作成する罫線作成装置であって、
前記マトリックス状に配置された画像データの領域を設定する領域設定手段と、
該設定された領域内の画像データの画素値の所定方向への積算値を求める積算値生成手段と、
該求められた所定方向への前記積算値に基づいて、前記領域内にマトリックス状に配置された画像データにおける隣接する行および／または列間の間隔、および前記設定された領域の外縁と画像データにおける行および／または列との間隔を認識する間隔認識手段と、
該認識された間隔の中央または該間隔の端部から所定の位置に罫線を生成する罫線作成手段と
を備える罫線作成装置。
【請求項２】
前記所定方向は、前記入力された画像に対して、水平方向および／または垂直方向である請求項１記載の罫線作成装置。
【請求項３】
請求項１記載の罫線作成装置であって、
前記間隔認識手段は、
前記積算された積算値が連続して所定範囲に亘って所定値以下のとき、該所定値以下の範囲を前記領域内にマトリックス状に配置された画像データにおける前記間隔として認識する手段である
罫線作成装置。
【請求項４】
請求項１記載の罫線作成装置であって、
前記罫線作成手段は、前記設定された画像データの領域の外縁と画像データにおける行および／または列との間隔については、前記外縁側の端部に罫線を生成する手段である罫線作成装置。
【請求項５】
入力された画像の設定された領域内にマトリックス状に配置された画像データに対して、コンピュータによって罫線を作成する罫線作成方法であって、
前記設定された領域内の画像データの画素値を、スキャナを用いて読み取り、
該画素値の所定方向への積算値を演算してメモリに保存し、
該積算値に基づいて、前記領域内にマトリックス状に配置された画像データにおける空白を認識することにより、隣接する行および／または列間の間隔、および前記設定された領域の外縁と画像データにおける行および／または列との間隔を認識し、、
該認識された間隔の中央または該間隔の端部から所定の位置に罫線を生成する
罫線作成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、罫線作成装置および罫線作成方法に関し、詳しくは、入力された画像におけるマトリックス状に配置された画像データに対して罫線を作成する罫線作成装置およびその方法に関する。
【０００２】
【従来の技術】
従来、この種の文字認識装置としては、罫線枠に囲まれた文字の画像データに対し、文字の画像データをコード化された文字として認識すると共に罫線を区切り文字（例えば、「，」等）に置き換えてテキスト出力するものが提案されている。この装置では、罫線を区切り文字に置き換えることによって、罫線枠付きの画像データをコード化された文字のマトリックスデータあるいは帳票データとすることができる。こうして出力されたマトリックスデータあるいは帳票データは、表計算装置やグラフ作成装置などで読み込まれ、データの解析や集計、またはグラフ化等に用いられるようになる。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記装置は、マトリックス状に文字の画像データが配置されているが罫線がないときには、この画像データをマトリックスデータあるいは帳票データとして取り扱わないといった問題があった。マトリックスデータあるいは帳票データのデータ区切りの発生は、罫線の検出によってなされるから、罫線がないマトリックス状の画像データに対しては、データ区切りを発生させることができない。したがって、こうした罫線のないマトリックス状の画像データをマトリックスデータあるいは帳票データとしてテキスト出力するには、手動操作により罫線を付加した後に、罫線枠付きの画像データとして取り扱わなければならなかった。
【０００４】
本発明の罫線作成装置は、罫線のないマトリックス状の画像データに対して、その領域を指定するだけで罫線を自動的に作成して罫線付きの画像データとすることを目的とする。
【０００５】
また、本発明のマトリックスデータ認識装置は、罫線のないマトリックス状の画像データを、罫線を作成することなしにマトリックスデータとして認識することを目的とする。
【０００６】
そして、本発明の文字認識装置は、罫線のないマトリック状の画像データを、マトリックスデータあるいは帳票データとしてデータ区切りを付してテキスト出力することを目的とする。
【０００７】
【課題を解決するための手段およびその作用・効果】
本発明の罫線作成装置は、
マトリックス状に配置された画像データに対して罫線を作成する罫線作成装置であって、
前記マトリックス状に配置された画像データの領域を設定する領域設定手段と、
該設定された領域内の画像データの画素値の所定方向への積算値を求める積算値生成手段と、
該求められた所定方向への前記積算値に基づいて、前記領域内にマトリックス状に配置された画像データにおける隣接する行および／または列間の間隔、および前記設定された領域の外縁と画像データにおける行および／または列との間隔を認識する間隔認識手段と、
該認識された間隔の中央または該間隔の端部から所定の位置に罫線を生成する罫線作成手段と
を備えることを要旨とする。
【０００８】
この罫線作成装置は、領域設定手段が、入力された画像におけるマトリックス状に配置された画像データの領域を設定し、積算値生成手段が、この設定された領域内の画像データの画素値の所定方向への積算値を求める。そして、こうして求めた積算値に基づいて前記領域内にマトリックス状に配置された画像データにおける行および／または列の間隔を認識し、認識された間隔に罫線を作成する。
【０００９】
この罫線作成装置によれば、マトリックス状に配置された画像データに対してその領域を指定するだけで罫線を作成することができる。
【００１０】
こうした本発明の罫線作成装置において、前記所定方向は、前記入力された画像に対して水平方向および／または垂直方向であるものとすることもできる。
【００１１】
なお、前記領域内の画像データの画素値の前記所定方向への積算値を求める場合において、画素値とは、２値データの場合は値１または値０を意味し、階調データの場合はその階調の値または２値化処理されたあとの２値データとしての値を意味する。こうすれば、重み付きの積算値を生成することができ、より適切な位置に罫線を作成することができる。
【００１４】
画像データの画素値を積算する積算値生成装置を備える罫線作成装置において、
前記間隔認識手段は、前記積算値生成手段により積算される積算値が連続して所定範囲に亘って所定値以下のとき、該所定値以下の範囲を前記領域内にマトリックス状に配置された画像データにおける行および／または列の間隔として認識する手段とすることもできる。
【００１５】
この態様の罫線作成装置は、罫線作成手段が備える間隔認識手段が、積算値生成手段により積算された積算値が連続して所定範囲に亘って所定値以下のとき、この所定値以下の範囲を領域内にマトリックス状に配置された画像データにおける行および／または列の間隔として認識する。そして、罫線作成手段は、この認識された間隔に罫線を作成する。この態様の罫線作成装置とすれば、より適切な位置に罫線を作成することができる。
【００１６】
これらの罫線作成装置において、
前記領域設定手段に設定された領域内の前記画像データが文字の画像データのとき、該画像データに対して文字枠を設定する文字枠設定手段を備え、
前記積算値生成手段は、前記文字枠設定手段により設定された文字枠により前記積算値を求める手段であるものとすることもできる。
【００１７】
こうすれば、文字部分と空間部分とがより明瞭とすることができ、より適切な位置に罫線を作成することができる。
【００１８】
本発明の第１の文字認識装置は、
入力された画像における文字の画像データをコード化された文字として認識し、該認識した文字からなるテキストを作成する文字認識装置であって、
前述の本発明のいずれかの罫線作成装置と、
罫線を伴う領域の画像データの文字の認識の際、少なくとも垂直方向の罫線に代えて所定の文字または記号による区切りを出力する区切り出力手段と
を備えることを要旨とする。
【００１９】
この第１の文字認識装置は、前述の本発明のいずれかの罫線作成装置が、マトリックス状に配置された画像データに対して罫線を作成し、区切り出力手段が、こうして罫線の作成された領域を含めて、罫線を伴う領域の画像データの文字の認識の際、少なくとも垂直方向の罫線に代えて所定の文字または記号による区切りを出力する。
【００２０】
この第１の文字認識装置によれば、罫線のないマトリックス状の画像データを、容易に区切り付きのマトリックスデータあるいは帳票データとすることができる。
【００２３】
このマトリックスデータ認識装置によれば、マトリックス状に配置された画像データに対してその領域を指定するだけで、これらのデータをマトリックスデータとして認識することができる。
【００２４】
こうした本発明のマトリックスデータ認識装置において、前記所定方向は、前記入力された画像に対して、水平方向および垂直方向であるものとすることもできる。
【００３０】
本発明の罫線作成方法は、
入力された画像の設定された領域内にマトリックス状に配置された画像データに対して、コンピュータによって罫線を作成する罫線作成方法であって、
前記設定された領域内の画像データの画素値を、スキャナを用いて読み取り、
該画素値の所定方向への積算値を演算してメモリに保存し、
該積算値に基づいて、前記領域内にマトリックス状に配置された画像データにおける空白を認識することにより、隣接する行および／または列間の間隔、および前記設定された領域の外縁と画像データにおける行および／または列との間隔を認識し、、
該認識された間隔の中央または該間隔の端部から所定の位置に罫線を生成すること
を要旨とする。
【００３１】
この罫線作成方法によれば、マトリックス状に配置された画像データに対してその領域を指定するだけで罫線を作成することができる。
【００３３】
このマトリックスデータ認識方法によれば、マトリックス状に配置された画像データに対してその領域を指定するだけで、これらのデータをマトリックスデータとして認識することができる。
【００３４】
【発明の他の態様】
本発明は、以下のような他の態様をとることも可能である。
【００３５】
本発明の他の態様としての第１の態様は、プログラムを記憶した記憶媒体であって、該プログラムは、画像の取扱いが可能なコンピュータに読み込まれたとき、該コンピュータを本発明の前記罫線作成装置として動作させるものであることを要旨とする。この第１の態様の記憶媒体では、記憶媒体に記憶したプログラムを、画像の取扱いが可能なコンピュータに読み込ませれば、前述した本発明の罫線作成装置として動作させることができる。
【００３６】
第２の態様は、プログラムを記憶した記憶媒体であって、該プログラムは、画像の取扱いが可能なコンピュータに読み込まれたとき、該コンピュータを本発明の前記マトリックスデータ認識装置として動作させるものであることを要旨とする。この第２の態様の記憶媒体では、記憶媒体に記憶したプログラムを、画像の取扱いが可能なコンピュータに読み込ませれば、前述した本発明のマトリックスデータ認識装置として動作させることができる。
【００３７】
第３の態様は、プログラムを記憶した記憶媒体であって、該プログラムは、画像の取扱いが可能なコンピュータに読み込まれたとき、該コンピュータを本発明の前記第１または第２の文字認識装置として動作させるものであることを要旨とする。この第３の態様の記憶媒体では、記憶媒体に記憶したプログラムを、画像の取扱いが可能なコンピュータに読み込ませれば、前述した本発明の第１または第２の文字認識装置として動作させることができる。
【００３８】
【発明の実施の形態】
次に、本発明の実施の形態を実施例に基づき説明する。図１は本発明の一実施例である罫線作成装置を備える文字認識装置の概略構成図、図２はこの文字認識装置が実現されるコンピュータの概略構成図である。まず、説明の都合上、図２に従って、全体構成について説明する。
【００３９】
図２に示すように、このコンピュータ１０は、ローカルバス２２に接続された演算処理部２０、ローカルバス２２を外部バスの一つであるＰＣＩバス３２に接続するＰＣＩブリッジ３０、ＰＣＩバス３２を介して演算処理部２０のＣＰＵ２１等によりアクセスを受けるコントローラ部４０、各種のＩ／Ｏ装置等を制御する機器が低速の外部バスであるＩＳＡバス４２に接続されたＩ／Ｏ部６０、および周辺機器であるキーボード７２，スピーカ７４，カラーＣＲＴ７６，スキャナ９４などから構成されている。
【００４０】
演算処理部２０は、中央演算処理装置としてのＣＰＵ２１（本実施例ではインテル社製ＰｅｎｔｉｕｍTMを使用）、キャッシュメモリ２３，そのキャッシュコントローラ２４およびメインメモリ２５から構成されている。ＰＣＩブリッジ３０は、高速のＰＣＩバス３２を制御する機能を備えたコントローラである。ＣＰＵ２１が扱うメモリ空間は、ＣＰＵ２１の内部に用意された各種レジスタにより、実際の物理アドレスより広い論理アドレスに拡張されている。
【００４１】
コントローラ部４０は、モニタ（カラーＣＲＴ）７６への画像の表示を司るグラフィックスコントローラ（以下、ＣＲＴＣと呼ぶ）４４、接続されるＳＣＳＩ機器とのデータ転送を司るＳＣＳＩコントローラ４６、ＰＣＩバス３２と下位のＩＳＡバスとのインタフェースを司るＰＣＩ−ＩＳＡブリッジ４８から構成されている。ＣＲＴＣ４４は、カラーＣＲＴ７６に対して、６４０×４８０ドット、１６色表示が可能である。なお、表示用のフォントを記憶したキャラクタジェネレータや所定のコマンドを受け取って所定の図形を描画するグラフィックコントローラ、更には描画画像を記憶するビデオメモリ等は、このＣＲＴＣ４４に実装されているが、これらの構成は周知のものなので、図２では図示を省略した。
【００４２】
ＰＣＩ−ＩＳＡブリッジ４８を介して接続されたＩＳＡバス４２は、各種のＩ／Ｏ機器が接続される入出力制御用のバスであり、ＤＭＡコントローラ（以下単にＤＭＡと呼ぶ）５０、リアルタイムクロック（ＲＴＣ）５２、複合Ｉ／Ｏポート５４、サウンドＩ／Ｏ５６、キーボード７２および２ボタンマウス７３とのインタフェースを司るキーボードインタフェース（以下ＫＥＹと呼ぶ）６４、優先順位を有する割り込み制御を行なう割り込みコントローラ（以下ＰＩＣと呼ぶ）６６、各種の時間カウントやビープ音を発生するタイマ６８等から構成されている。なお、ＩＳＡバス４２には、拡張ボードが実装可能なＩＳＡスロット６２が接続されている。実施例では、このＩＳＡスロット６２の１つのスロットにスキャナインタフェース９３が装着されており、このスキャナインタフェース９３を介してスキャナ９４が接続されている。
【００４３】
複合Ｉ／Ｏポート５４には、パラレル出力，シリアル出力の他、フロッピディスク装置８２やハードディスク８４を制御する信号を入出力するポートが用意されている。また、パラレル入出力には、パラレルポート８６を介してプリンタ８８が、シリアル入出力には、シリアルポート９０を介してモデム９２が、各々接続されている。また、サウンドＩ／Ｏ５６には、上述したスピーカ７４の他、マイクロフォン９６が接続可能とされている。
【００４４】
このコンピュータ１０のハードディスク８４には、ＤＯＳおよびそのＤＯＳに組み込まれる種々のデバイスドライバが記憶されており、コンピュータ１０は、立ち上げ時にＤＯＳを読み込み、更にＤＯＳが参照するファイルの内容に従って、必要なデバイスドライバを組み込む。デバイスドライバとして、複合Ｉ／Ｏポート５４を介してのプリンタ８８への印字を可能にするプリンタドライバなどがある。
【００４５】
ハードディスク８４には、「ＷＩＮＤＯＷＳ」というＧＵＩを備えたオペレーティングシステムが記憶されており（「ＷＩＮＤＯＷＳ」はマイクロソフト社の商標）、コンピュータ１０は、このオペレーティングシステムを読み込み、その後アプリケーションプログラムを、このオペレーティングシステム上で動作するよう主記憶上に読み込んで実行する。
【００４６】
次に、図１に従って本実施例の文字認識装置について説明する。この文字認識装置は、上述したコンピュータ１０において、そのハードウェアとソフトウェアが一体となって実現するものであり、図１は、ソフトウェアにより実現される部分も含めてブロック図として表わしたものである。この文字認識装置は、制御部ＥＣＵを中心として、キーボード７２や２ボタンマウス７３，スキャナ９４からの入力をオペレーティングシステムを介して受け付ける入力部ＩＰＢ、入力された文書や画像をファイルとして保存すると共に辞書や文字認識装置を構成するのに必要なソフトウエア（アプリケーションプログラム）を保存するハードディスク８４、入力部ＩＰＢ等により入力された画像データをメモリ上に格納する画像データ格納部ＧＤＭ、マトリックス状に配置された画像データに対して所定の指示に基づいて罫線を作成する罫線作成部ＬＰＭ、入力された画像における文字の画像データをコード化された文字として認識する文字認識部ＣＣＭ、指定された領域の画像データのｘ軸およびｙ軸への射影を生成する射影生成部ＳＰＭ、文書や画像および認識結果等をカラーＣＲＴ７６に表示する表示部ＤＰＬ等を備える。
【００４７】
罫線作成部ＬＰＭは、画像中の罫線を作成する領域を設定する領域設定部Ｌ１と、領域設定部Ｌ１により設定された領域内の画像データのｘ軸およびｙ軸への射影を生成するよう射影生成部ＳＰＭに指示を出す射影生成指示部Ｌ２と、射影生成部ＳＰＭにより作成された射影から画像データ間の空白を判定する空白判定部Ｌ３と、空白判定部Ｌ３により判定された空白における罫線を作成する位置を設定する罫線位置設定部Ｌ４と、罫線位置設定部Ｌ４により設定された位置に罫線を作成するべく罫線データを出力する罫線出力部Ｌ５とを備える。
【００４８】
文字認識部ＣＣＭは、文字を認識する領域を設定する領域設定部Ｃ１と、領域設定部Ｃ１により設定された領域内の画像データのｘ軸およびｙ軸への射影を生成するよう射影生成部ＳＰＭに指示を出す射影生成指示部Ｃ２と、射影生成部ＳＰＭにより作成された射影から罫線を判定する罫線判定部Ｃ３と、画像における文字の画像データをコード化された文字として認識処理する文字認識処理部Ｃ４と、文字認識処理部Ｃ４による文字の認識の際に文字間の罫線に対して区切り文字を発生させる区切り文字生成部Ｃ５と、認識結果を一時的に格納する認識結果格納部Ｃ６とを備える。
【００４９】
そして、射影生成部ＳＰＭは、設定された領域のｘ軸への射影（水平軸への射影）を生成するｘ軸射影生成部Ｓ１と、同じく設定された領域のｙ軸への射影（垂直軸への射影）を生成するｙ軸射影生成部Ｓ２と、ｘ軸への射影およびｙ軸への射影を一時的に格納する射影格納部Ｓ３とを備える。
【００５０】
図１に示した各ブロックは、既述したように、ハードウェアにより実現されている部分とソフトウェアにより実現されている部分とを含む。例えば、表示部ＤＰＬは、ハードウェアとしては図２に示したＣＲＴＣ４４が存在するが、現実には、入力された文字列のテキストの表示や変換候補の表示および変換操作のガイダンスの表示などを含めて、表示を制御するソフトウェアがあって初めて動作する。従って、図１における表示部ＤＰＬなどは、両者を含めたものである。なお、実施例の文字認識装置は、そのソフトウエア部分についてはハードディスク８４に記憶されており、キーボード７２等の入力部ＩＰＢからの起動の指示がなされると、上述のオペレーティングシステムにより主記憶に読み込まれて動作する。
【００５１】
実施例の文字認識装置は、通常、スキャナ９４やハードディスク８４から入力され画像データ格納部ＧＤＭに格納された画像の文字としてのデータを文字認識部ＣＣＭの文字認識処理部Ｃ４によってコード化された文字として認識し、この認識結果を文書ファイルとして出力する。文字認識部ＣＣＭの文字認識処理部Ｃ４による文字の認識処理は、画像中の黒ドットをスキャニングして連続した黒ドットを矩形の枠で切り出し文字枠を生成する切出処理、切り出された文字枠の画像のｙ軸への射影（垂直軸への射影）を生成しこの射影から行を抽出する行抽出処理、切り出された文字枠のｘ軸への射影（水平軸への射影）を生成しこの射影と行抽出処理により抽出された行とから文字を抽出する文字抽出処理、抽出された文字の枠内の黒ドットの分布や黒ドットの連続の仕方などの解析により確からしいコード化された文字を候補として出力する認識処理、認識された文字の確からしさを判定したり候補の修正などを行なう認識後処理等からなる。
【００５２】
次に、こうした認識処理を行なう実施例の文字認識装置により入力された画像に罫線はないがマトリックス状に配置された文字などの画像データが読み込まれたときの動作、すなわちマトリックス状に配置された画像データに罫線を自動作成する動作と、罫線の作成された画像の文字の認識の動作について説明する。まず、マトリックス状に配置された画像データに罫線を自動作成する動作について図３の罫線作成処理ルーチンに基づき説明する。本ルーチンは、例えば、図示しないメニューバーから「罫線の自動作成」のコマンドを選択したときや、機能バーの「罫線の自動作成」を示すアイコンを２ボタンマウス７３でクリックしたときに実行される。なお、このルーチンが実行されることにより罫線が作成される様子を図４に示す。
【００５３】
本ルーチンが実行されると、ＣＰＵ２１は、まず画像中に罫線を作成する矩形の領域（罫線作成領域）Ｗ１の設定処理を行なう（ステップＳ１００）。この処理は、具体的には、操作者に対して画像中に罫線作成領域Ｗ１を設定するようカラーＣＲＴ７６の最下欄に図示しないメッセージボックスを表示する処理と、操作者が画像中に設定すべき罫線作成領域Ｗ１の対角の２点を２ボタンマウス７３やキーボード７２により画像中に指定することで指定された２点によって特定される矩形の領域を罫線作成領域Ｗ１として設定する処理とからなる。
【００５４】
罫線作成領域Ｗ１が設定されると、設定された領域のｘ軸への射影（ｘ軸射影）ＳＸとｙ軸への射影（ｙ軸射影）ＳＹとを生成する処理を行なう（ステップＳ１０２）。ここで、ｘ軸射影ＳＸは、罫線作成領域Ｗ１内の画像データの黒ドットをｙ軸に沿ってカウントした数値に基づいて作成されるヒストグラムとして表わされ、ｙ軸射影ＳＹは、画像データの黒ドットをｘ軸に沿ってカウントした数値に基づいて作成されるヒストグラムとして表わされる。したがって、射影される文字数が同じでも、文字によってｘ軸方向およびｙ軸方向の黒ドットが異なるから、同じ射影にならない。例えば、図４のｘ軸射影ＳＸの左端から１番目ないし３番目の射影のように、黒ドットがカウントされる文字数は、同じ４文字であるがカウントされる黒ドットの数が異なることによりヒストグラムとして表わされる射影の高さが異なることになる。
【００５５】
ｘ軸射影ＳＸおよびｙ軸射影ＳＹが生成されると、この射影に基づいて文字部分と空白部分とを認識する処理がなされる（ステップＳ１０４）。具体的には、例えば、ｘ軸射影ＳＸに対しては、黒ドットが１ｍｍ以上連続してカウントされない部分を空白部分と判定し、それ以外の部分を文字部分として判定することにより認識するのである。また、ｙ軸射影ＳＹに対しては、２ドット以上連続して黒ドットがカウントされない部分を空白部分と判定し、それ以外の部分を文字部分として判定することにより認識する。
【００５６】
こうしてｘ軸射影ＳＸおよびｙ軸射影ＳＹに対して空白部分を認識すると、空白部分の中央点を罫線位置ｋｘ１〜ｋｘ５，ｋｙ１〜ｋｙ５として設定し（ステップＳ１０６）、画像の設定された位置に罫線データを出力して罫線を作成する処理を実行する（ステップＳ１０８）。なお、この罫線の作成処理では、各軸の両端の罫線位置ｋｘ１，ｋｘ５，ｋｙ１，ｋｙ５より外側の罫線は削除されるようになっている。したがって、作成される罫線は、図５に示すように、各軸の両端の罫線位置ｋｘ１，ｋｘ５，ｋｙ１，ｋｙ５により囲まれた矩形領域内とその外縁に作成されることになる。
【００５７】
次に、こうして罫線が作成された領域における文字の認識処理について図６の文字認識処理ルーチンに基づいて説明する。本ルーチンは、例えば、図示しないメニューバーから「文字の認識」のコマンドを選択したときや、機能バーの「文字の認識」を示すアイコンを２ボタンマウス７３でクリックしたときに実行される。
【００５８】
本ルーチンが設定されると、ＣＰＵ２１は、まず画像中に文字の認識処理を行なう領域（文字認識領域）Ｗ２の設定処理を行なう（ステップＳ１１０）。この処理は、図３の罫線作成処理のステップＳ１００における罫線作成領域Ｗ１の設定処理と同様に、操作者に対して画像中に文字認識領域Ｗ２を設定するようカラーＣＲＴ７６の最下欄に図示しないメッセージボックスを表示する処理と、操作者が画像中に設定すべき文字認識領域Ｗ２の対角の２点を２ボタンマウス７３やキーボード７２により画像中に指定することで指定された２点によって特定される矩形の領域を文字認識領域Ｗ２として設定する処理とからなる。なお、ここでは、文字認識領域Ｗ２を画像中から設定するものとしたが、画像に予め複数の認識領域が設定されている場合には、その何れか１つを或いは２以上を指定する処理としてもよい。なお２以上の指定の場合には、指定された順に文字の認識処理を連続して行なうものとすればよい。
【００５９】
こうして文字認識領域Ｗ２が設定されると、設定された領域のｘ軸射影ＳＸとｙ軸射影ＳＹとを生成する処理を行なう（ステップＳ１１２）。ここでのｘ軸射影ＳＸおよびｙ軸射影ＳＹは、図３のステップＳ１０２で説明した射影の生成処理と同様である。続いて、生成されたｘ軸射影ＳＸおよびｙ軸射影ＳＹにおけるピークを走査し（ステップＳ１１４）、検出したピークの大きさと形状とに基づいて罫線を判定する（ステップＳ１１６）。図５に例示した罫線付きの画像を文字認識領域Ｗ２として設定した際のｘ軸射影ＳＸを図７に、ｙ軸射影ＳＹを図８に例示する。前述したように、ｘ軸射影ＳＸおよびｙ軸射影ＳＹは、ｙ軸またはｘ軸に沿って黒ドットをカウントした数値に基づいて作成されるヒストグラムとして表わされるから、そのスケールを黒ドットと同じとすれば、図７および図８に示すように、罫線はそのまま表わされることになり鋭いピークを形成する。したがって、こうしたピークを走査し、その形状を判定することにより罫線を正確に判断することができる。
【００６０】
次に、文字認識領域Ｗ２内の画像データに対して前述の切出処理，行抽出処理，文字抽出処理，認識処理および認識後処理などからなる文字の認識処理を行なうと共に（ステップＳ１１８）、文字間にある垂直方向の罫線を区切り文字「，」に置換して認識する（ステップＳ１２０）。なお、図示の都合上、文字の認識と罫線の区切り文字「，」への置換とを異なるステップとして記載したが、この罫線の区切り文字「，」への置換は、文字の認識処理の最中に垂直方向の罫線が現われたときに行なわれるものである。
【００６１】
こうして文字の認識がなされると、その認識結果、すなわちコード化された文字により形成される文書ファイルをカラーＣＲＴ７６などに出力して本ルーチンを終了する。なお、図５に例示した罫線付きの画像を文字認識領域Ｗ２として認識した結果出力される文書ファイルの一例を図９に示す。実施例では、図示するように、文字間にある罫線を区切り文字「，」により置き換え、空白は左に詰めて出力するものとした。
【００６２】
以上説明した実施例の文字認識装置によれば、マトリックス状に配置された画像データに対して容易に罫線を作成することができる。しかも、マトリックス状に配置された画像データに対してｘ軸射影ＳＸおよびｙ軸射影ＳＹを生成し、この射影に基づいて罫線を作成するから、文字データ上に罫線を作成することがない。
【００６３】
また、実施例の文字認識装置によれば、罫線付きの画像を認識する際、文字間の罫線を区切り文字「，」に置き換えて文字を認識することができるから、罫線作成処理と文字の認識処理とを組み合わせることにより、罫線がなくマトリックス状に配置された画像データを区切り文字「，」により区切られたコード化された文字として認識することができる。この結果、罫線がなくマトリックス状に配置された画像データを、表計算ソフトやグラフ作成ソフト等によって入力しやすいデータとすることができ、画像として表示された文字資源をより有効に用いることができる。
【００６４】
実施例の文字認識装置では、ｘ軸射影ＳＸに対しては黒ドットが１ｍｍ以上連続してカウントされない部分を空白部分と判定し、ｙ軸射影ＳＹに対しては２ドット以上連続して黒ドットがカウントされない部分を空白部分と判定したが、空白と判定する閾値は、どんな値としてもよい。この場合、操作者が画像の状態に応じて任意の値を設定するものとしてもよく、あるいは、ｘ軸射影ＳＸやｙ軸射影ＳＹから１文字の大きさを判定し、この１文字の大きさから、空白部分と判定する閾値を設定するものとしてもよい。実施例の文字認識装置では、黒ドットがカウントされない部分に対して空白部分の判定を行なったが、所定値未満の黒ドットがカウントされた部分に対して空白部分の判定を行なうものとしてもよい。この場合の所定値は、予め設定したものとしてもよく、ｘ軸射影ＳＸやｙ軸射影ＳＹから１文字の大きさを判定し、この１文字の大きさに基づいて設定するものとしてもよい。
【００６５】
実施例の文字認識装置では、認識した空白部分の中央点を罫線位置として設定したが、ｘ軸射影ＳＸにより認識された空白部分に基づいて罫線位置を設定するときには、空白部分の右端からみた所定位置あるいは左端からみた所定位置に設定し、ｙ軸射影ＳＹにより認識された空白部分に基づいて罫線位置を設定するときには、空白部分の上端からみた所定位置あるいは下端からみた所定位置に設定するものとしてもよい。また、実施例の文字認識装置では、各軸の両端の罫線位置（上述の例ではｋｘ１，ｋｘ５，ｋｙ１，ｋｙ５）により囲まれた矩形領域の外縁を枠として罫線を作成するものとしたが、罫線作成領域Ｗ１の外縁に罫線を作成し、両端には罫線位置の設定を行なわないものとしてもよい。
【００６６】
実施例の文字認識装置では、罫線作成処理と文字の認識処理とを個々に行なうものとしたが、罫線作成処理に続けて文字の認識処理を行なう一連の処理としてもよい。この場合、文字認識領域Ｗ２を罫線作成領域Ｗ１として動作させると共に、図６の文字の認識処理ルーチンにおけるステップＳ１１２ないしＳ１１６の処理を省くことができる。こうすれば、容易に文字の認識まで行なうことができる。なお、このように、罫線作成処理と文字の認識処理とを一連の処理とする場合には、罫線位置を設定した段階で文字認識および区切り文字の発生を行ない得るから、実際に罫線を作成しなくてもよい。
【００６７】
実施例の文字認識装置では、罫線作成領域Ｗ１内の画像データの黒ドットをｙ軸あるいはｘ軸に沿ってカウントした数値に基づいて作成されるヒストグラムをｘ軸射影ＳＸあるいはｙ軸射影ＳＹとしたが、罫線作成領域Ｗ１内の画像データの単なるｘ軸あるいはｙ軸への射影をｘ軸射影ＳＸおよびｙ軸射影ＳＹとしてもよい。すなわち、ｘ軸あるいはｙ軸に沿ったライン上に１以上の黒ドットがあるか否かによる射影をｘ軸射影ＳＸおよびｙ軸射影ＳＹとするのである。こうして作成されたｘ軸射影ＳＸおよびｙ軸射影ＳＹの一例を図１０に示す。図示するように、ｘ軸射影ＳＸおよびｙ軸射影ＳＹは、その軸に対して垂直なライン上に黒ドットがあるか否かの２つの状態（例えばハイレベルとローレベル）とにより表わされる。こうすれば、ライン上の黒ドットの数に拘わらず射影を生成するから、例えば、漢字の「一」のようにｙ軸に沿ってカウントされる黒ドットが僅かしかなく空白部分との判定が困難なものでも、容易に空白部分との判定をすることができる。
【００６８】
実施例の文字認識装置では、罫線作成領域Ｗ１内の画像データの黒ドットをｙ軸あるいはｘ軸に沿ってカウントしたが、罫線作成領域Ｗ１内の画像データに対して文字の認識処理で説明した切出処理を行ない、切り出された枠全体を黒ドットとしてｙ軸あるいはｘ軸に沿ってカウントし、このカウントされた数値に基づいて作成されるヒストグラムをｘ軸射影ＳＸあるいはｙ軸射影ＳＹとするものとしてもよい。この場合、図３の罫線作成処理ルーチンに代えて図１１の罫線作成処理ルーチンを実行すればよい。この図１１の罫線作成処理ルーチンでは、図３のルーチンのステップＳ１０２の射影の作成処理に代えて、連続する黒ドットの矩形の切り出し枠の作成処理（ステップＳ１０１）と、作成された切り出し枠による射影の生成処理（ステップＳ１０３）を行なう。このルーチンにより作成されるｘ軸射影ＳＸおよびｙ軸射影ＳＹの一例を図１２に示す。このように切り出し枠により射影を生成すれば、射影のコントラストがより明確になるから、文字部分と空白部分との判定をより適切に行なうことができる。
【００６９】
次に、本発明の第２の実施例である文字認識装置について説明する。図１３は、第２実施例の文字認識装置の概略構成図である。図示するように、第２実施例の文字認識装置は、第１実施例の文字認識装置（図１参照）の構成と比して、罫線作成部ＬＰＭに代えてマトリックスデータ認識部ＭＤＪを備える点および文字認識部ＣＣＭが罫線判定部Ｃ３に代えてマトリックス認識結果読出部Ｃ７を備える点を除いて同一の構成をしている。したがって、同一の構成については同一の符号を付しその説明は省略する。なお、構成部材および機能などに付した符号は、特筆しない限り同じ意味として用いる。
【００７０】
第２実施例の文字認識装置が備えるマトリックスデータ認識部ＭＤＪは、マトリックス状の配置された画像データを行と列とにより配列されたマトリックスデータとして認識する領域を設定する領域設定部Ｍ１と、領域設定部Ｍ１により設定された領域内の画像データのｘ軸およびｙ軸への射影を生成するよう射影生成部ＳＰＭに指示を出す射影生成指示部Ｍ２と、射影生成部ＳＰＭにより作成された射影から画像データ間の空白を判定する空白判定部Ｍ３と、空白判定部Ｍ３により判定された空白の基づいて領域内に行と列とを設定する行列設定部Ｍ４と、行列設定部Ｍ４により設定された行および列のデータと画像データとの関連付けを一時的に格納する認識結果格納部Ｍ５とを備える。
【００７１】
第２実施例の文字認識装置が備える文字認識部ＣＣＭは、前述の領域設定部Ｃ１，射影生成指示部Ｃ２，文字認識処理部Ｃ４，区切り文字生成部Ｃ５および認識結果格納部Ｃ６の他、マトリックスデータ認識部ＭＤＪにより認識されたマトリックスの結果を読み出すマトリックス認識結果読出部Ｃ７を備える。なお、第２実施例の区切り文字生成部Ｃ５は、マトリックス認識結果読出部Ｃ７により読み出したマトリックス認識結果に基づいて、文字認識処理部Ｃ４による文字の認識の際に列の異なる文字間に区切り文字を発生させる。
【００７２】
次に、こうして構成された第２実施例の文字認識装置におけるマトリックスデータの認識処理について、図１４のマトリックスデータ認識処理ルーチンに基づき説明する。本ルーチンは、例えば、図示しないメニューバーから「マトリックスデータの認識」のコマンドを選択したときや、機能バーの「マトリックスデータの認識」を示すアイコンを２ボタンマウス７３でクリックしたときに実行される。
【００７３】
本ルーチンが実行されると、ＣＰＵ２１は、まず画像中にマトリックスデータとして認識する矩形の領域（マトリックスデータ認識領域）Ｗ３を設定する処理を行なう（ステップＳ２００）。この処理は、具体的には、操作者に対して画像中にマトリックスデータ認識領域Ｗ３を設定するようカラーＣＲＴ７６の最下欄に図示しないメッセージボックスを表示する処理と、操作者が画像中に設定すべきマトリックスデータ認識領域Ｗ３の対角の２点を２ボタンマウス７３やキーボード７２により画像中に指定することで指定された２点によって特定される矩形の領域をマトリックスデータ認識領域Ｗ３として設定する処理とからなる。
【００７４】
マトリックスデータ認識領域Ｗ３が設定されると、設定された領域のｘ軸射影ＳＸとｙ軸射影ＳＹとを生成する処理を行ない（ステップＳ２０２）、生成されたｘ軸射影ＳＸおよびｙ軸射影ＳＹに基づいてｘ軸方向およびｙ軸方向の文字部分と空白部分とを認識する処理を行なう（ステップＳ２０４）。そして、ｘ軸方向およびｙ軸方向の認識された文字部分と空白部分に基づいてマトリックスデータ認識領域Ｗ３内の画像データの文字部分に対して行と列とを設定する（ステップＳ２０６）。この様子を図１５に例示する。図示するように、ｘ軸射影ＳＸに基づく文字部分に対しては左から順に列ｃ１〜ｃ４を設定し、ｙ軸射影ＳＹに基づく文字部分に対しては上から順に行ｒ１〜ｒ４を設定するのである。
【００７５】
行および列の設定を行なうと、画像データの位置と設定された行および列のデータとの関連を認識結果として認識結果格納部Ｍ５に格納して本ルーチンを終了する。
【００７６】
次に、こうしてマトリックスデータとして認識された領域における文字の認識処理について図１６の文字認識処理ルーチンに基づいて説明する。本ルーチンは、例えば、図示しないメニューバーから「文字の認識」のコマンドを選択したときや、機能バーの「文字の認識」を示すアイコンを２ボタンマウス７３でクリックしたときに実行される。
【００７７】
本ルーチンが設定されると、ＣＰＵ２１は、図６の文字認識処理ルーチンのステップＳ１１０およびＳ１１２と同様の処理である画像中に文字の認識処理を行なう領域（文字認識領域）Ｗ２の設定処理（ステップＳ２１０）および設定された領域のｘ軸射影ＳＸとｙ軸射影ＳＹとを生成する処理を行なう（ステップＳ２１２）。続いて、マトリックスデータ認識処理により認識した結果を認識結果格納部Ｍ５から読み込む処理を行なう（ステップＳ２１４）。そして、文字認識領域Ｗ２内の画像データに対して前述の切出処理，行抽出処理，文字抽出処理，認識処理および認識後処理などからなる文字の認識処理を行なうと共に（ステップＳ２１６）、列の異なる文字間に区切り文字「，」を付加する（ステップＳ２１８）。なお、図示の都合上、文字の認識と区切り文字「，」の付加とを異なるステップとして記載したが、この区切り文字「，」の付加は、文字の認識処理の最中に列の異なる文字が現われる毎に行なわれるものである。
【００７８】
こうして文字の認識がなされると、その認識結果、すなわちコード化された文字により形成される文書ファイルをカラーＣＲＴ７６などに出力して本ルーチンを終了する。なお、こうして出力される文書ファイルは、図９に例示した文書ファイルと同様に、列の異なる文字間に区切り文字「，」が付加され、空白は左に詰めて出力される。
【００７９】
以上説明した第２実施例の文字認識装置によれば、マトリックス状に配置された画像データを行と列とを概念とするマトリックスデータとして認識することができる。また、第２実施例の文字認識装置によれば、罫線がなくマトリックス状に配置された画像データを区切り文字「，」により区切られたコード化された文字として認識することができる。この結果、罫線がなくマトリックス状に配置された画像データを、表計算ソフトやグラフ作成ソフト等によって入力しやすいデータとすることができ、画像として表示された文字資源をより有効に用いることができる。
【００８０】
第２実施例の文字認識装置では、マトリックスデータの認識処理と文字の認識処理とを別々に行なうものとしたが、マトリックスデータの認識処理に続けて文字の認識処理を行なう一連の処理としてもよい。この場合、文字認識領域Ｗ２をマトリックスデータ認識領域Ｗ３として動作させればよい。この場合、図１６の文字の認識処理ルーチンにおけるステップＳ２１０ないしＳ２１４の処理を省くことができる。こうすれば、マトリックス状に配置された画像データを容易に区切り文字を含む文字として認識することができる。
【００８１】
また、第２実施例の文字認識装置でも第１実施例の文字認識装置と同様に、画像データの黒ドットをｙ軸あるいはｘ軸に沿ってカウントした数値に基づいて作成されるヒストグラムをｘ軸射影ＳＸおよびｙ軸射影ＳＹとしたが、画像データの単なるｘ軸あるいはｙ軸への射影をｘ軸射影ＳＸおよびｙ軸射影ＳＹとしてもよく、あるいは、画像データに対して文字の認識処理で説明した切出処理を行ない、切り出された枠全体を黒ドットとしてｙ軸あるいはｘ軸に沿ってカウントし、このカウントされた数値に基づいて作成されるヒストグラムをｘ軸射影ＳＸあるいはｙ軸射影ＳＹとするものとしてもよい。
【００８２】
第１実施例および第２実施例の文字認識装置では、前述したように、ハードウェアにより実現されている部分とソフトウェアにより実現されている部分とを含み、そのソフトウェアのうちハードウェアに依存しない部分についてはアプリケーションソフトとしてハードディスク８４に記憶しており、必要に応じて読み込まれるが、記憶する媒体は、ハードディスク８４に限られず、フレキシブルディスクや光磁気ディスク，ＣＤＲＯＭ等、コンピュータ１０に接続可能な入出力機器に使用可能な記憶媒体であればいかなる記憶媒体であってもかまわない。この場合、記憶媒体に記憶されるアプリケーションソフトを、コンピュータ１０が直接記憶媒体（ＣＤＲＯＭやフレキシブルディスク等）から読み込むことができず、所定の方法によりハードディスク８４にインストールした後にのみ読み込むことできるものとしてもよい。
【００８３】
第１実施例および第２実施例の文字認識装置では、「ＷＩＮＤＯＷＳ」というオペレーションシステム上で動作するものとして説明したが、他のオペレーションシステムに読み込まれて文字認識装置として動作するものとしてもよい。
【００８４】
以上、本発明の実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、例えば、罫線作成装置やマトリックスデータ認識装置を文字認識装置に組み込まず単独で用いる構成や、画像データを扱う文字認識装置以外の装置に罫線作成装置やマトリックスデータ認識装置を組み込む構成、文字以外の画像データに対して罫線を作成する罫線作成装置に適用する構成、文字以外の画像データをマトリックスデータとして認識するマトリックスデータ認識装置に適用する構成など、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。
【図面の簡単な説明】
【図１】本発明の一実施例である罫線作成装置を備える文字認識装置の概略構成図である。
【図２】実施例の文字認識装置が実現されるコンピュータの概略構成図である。
【図３】実施例のＣＰＵ２１により実行される罫線作成処理ルーチンを例示するフローチャートである。
【図４】マトリックス状に配置された画像データのｘ軸射影ＳＸおよびｙ軸射影ＳＹが生成された際の状態を例示する説明図である。
【図５】マトリックス状に配置された画像データに罫線が作成された際の状態を例示する説明図である。
【図６】実施例のＣＰＵ２１により実行される文字認識処理ルーチンを例示するフローチャートである。
【図７】罫線付きの画像を文字認識領域Ｗ２として設定した際のｘ軸射影ＳＸの一例を示す説明図である。
【図８】罫線付きの画像を文字認識領域Ｗ２として設定した際のｙ軸射影ＳＹの一例を示す説明図である。
【図９】罫線付きの画像を文字認識領域Ｗ２として認識した結果出力される文書ファイルの一例を示す説明図である。
【図１０】ｘ軸射影ＳＸおよびｙ軸射影ＳＹの変形例を示す説明図である。
【図１１】罫線作成処理ルーチンの変形例の一部を例示するフローチャートである。
【図１２】ｘ軸射影ＳＸおよびｙ軸射影ＳＹの変形例を示す説明図である。
【図１３】第２実施例の文字認識装置の概略構成図である。
【図１４】第２実施例のＣＰＵ２１により実行されるマトリックスデータ認識処理ルーチンを例示するフローチャートである。
【図１５】マトリックス状に配置された画像データのｘ軸射影ＳＸおよびｙ軸射影ＳＹが生成された際の状態を例示する説明図である。
【図１６】第２実施例のＣＰＵ２１により実行される文字認識処理ルーチンを例示するフローチャートである。
【符号の説明】
１０…コンピュータ
２０…演算処理部
２１…ＣＰＵ
２２…ローカルバス
２３…キャッシュメモリ
２４…キャッシュコントローラ
２５…メインメモリ
３０…ＰＣＩブリッジ
３２…ＰＣＩバス
４０…コントローラ部
４２…ＩＳＡバス
４４…ＣＲＴＣ
４６…ＳＣＳＩコントローラ
４８…ＩＳＡブリッジ
５４…複合Ｉ／Ｏポート
５６…サウンドＩ／Ｏ
６０…Ｉ／Ｏ部
６２…ＩＳＡスロット
６８…タイマ
７２…キーボード
７４…スピーカ
７６…カラーＣＲＴ
８２…フロッピディスク装置
８４…ハードディスク
８６…パラレルポート
８８…プリンタ
９０…シリアルポート
９２…モデム
９３…スキャナインタフェース
９４…スキャナ
９６…マイクロフォン
ＣＣＭ…文字認識部
Ｃ１…領域設定部
Ｃ２…射影生成指示部
Ｃ３…罫線判定部
Ｃ４…文字認識処理部
Ｃ５…文字生成部
Ｃ６…認識結果格納部
Ｃ７…マトリックス認識結果読出部
ＤＰＬ…表示部
ＥＣＵ…制御部
ＧＤＭ…画像データ格納部
ＩＰＢ…入力部
ＬＰＭ…罫線作成部
Ｌ１…領域設定部
Ｌ２…射影生成指示部
Ｌ３…空白判定部
Ｌ４…罫線位置設定部
Ｌ５…罫線出力部
ＭＤＪ…マトリックスデータ認識部
Ｍ１…領域設定部
Ｍ２…射影生成指示部
Ｍ３…空白判定部
Ｍ４…行列設定部
Ｍ５…認識結果格納部
ＳＰＭ…射影生成部
Ｓ１…ｘ軸射影生成部
Ｓ２…ｙ軸射影生成部
Ｓ３…射影格納部
【図１】
0004087911.tif 000002
【図２】
0004087911.tif 000003
【図３】
0004087911.tif 000004
【図４】
0004087911.tif 000005
【図５】
0004087911.tif 000006
【図７】
0004087911.tif 000007
【図８】
0004087911.tif 000008
【図６】
0004087911.tif 000009
【図９】
0004087911.tif 000010
【図１０】
0004087911.tif 000011
【図１１】
0004087911.tif 000012
【図１２】
0004087911.tif 000013
【図１３】
0004087911.tif 000014
【図１４】
0004087911.tif 000015
【図１５】
0004087911.tif 000016
【図１６】
0004087911.tif 000017