(57)【特許請求の範囲】
【請求項１】
読取位置の基準となる基準マークが付された帳票を光学的に読み取り、読み取った帳票の画像イメージから基準マークを検出する基準マーク検出方法において、
読取手段が帳票を読み取り、
検出手段が、前記読取手段により読み取られた帳票の画像イメージを斜め方向の走査線で走査して基準マークを検出することを特徴とする基準マーク検出方法。
【請求項２】
読取位置の基準となる基準マークが付された帳票を光学的に読み取り、読み取った帳票の画像イメージから基準マークを検出する基準マーク検出装置において、
帳票を読み取る読取手段と、
前記読取手段により読み取られた帳票の画像イメージを斜め方向の走査線で走査して基準マークを検出する検出手段とを、
有することを特徴とする基準マーク検出装置。
【請求項３】
読取位置の基準となる基準マークが付された帳票を光学的に読み取り、読み取った帳票の画像イメージ中の基準マークの位置に基づいて所定の位置に記載された文字を読み取る光学式文字読取装置において、
帳票を横及び縦方向の画素に分解して光学的に読み取り、読み取った画像イメージを画像メモリに格納する読取手段と、
前記画像メモリに格納された帳票の画像イメージを斜め方向の走査線で走査して基準マークを検出する検出手段と、
前記検出手段により検出された基準マークの位置に基づいて、所定の位置に記載された文字を認識する文字認識手段とを、
有することを特徴とする光学式文字読取装置。
【請求項４】
読取位置の基準となる基準マークが複数付された帳票を光学的に読み取り、読み取った帳票の画像イメージから基準マークを検出する基準マーク検出方法において、
読取手段が帳票を読み取り、
検出手段が、前記読取手段により読み取られた帳票の画像イメージを斜め方向の走査線で走査して基準マークの一角を検出し、検出した基準マークの一角の位置を基準にして、更に他の基準マークを検出することを特徴とする基準マーク検出方法。
【請求項５】
読取位置の基準となる基準マークが複数付された帳票を光学的に読み取り、読み取った帳票の画像イメージから基準マークを検出する基準マーク検出装置において、
帳票を読み取る読取手段と、
前記読取手段により読み取られた帳票の画像イメージを斜め方向の走査線で走査して基準マークの一角を検出し、検出した基準マークの一角の位置を基準にして、更に他の基準マークを検出する検出手段とを、
有することを特徴とする基準マーク検出装置。
【請求項６】
読取位置の基準となる基準マークが複数付された帳票を光学的に読み取り、読み取った帳票の画像イメージ中の基準マークの位置に基づいて所定の位置に記載された文字を読み取る光学式文字読取装置において、
帳票を横及び縦方向の画素に分解して光学的に読み取り、読み取った画像イメージを画像メモリに格納する読取手段と、
前記画像メモリに格納された帳票の画像イメージを斜め方向の走査線で走査して基準マークの一角を検出し、検出した基準マークの一角の位置を基準にして、更に他の基準マークを検出する検出手段と、
前記検出手段により検出された基準マークの位置に基づいて、所定の位置に記載された文字を認識する文字認識手段とを、
有することを特徴とする光学式文字読取装置。
【請求項７】
読取位置の基準となる基準マークが複数付された帳票を光学的に読み取り、読み取った帳票の画像イメージ中の基準マークの位置に基づいて所定の位置に記載された文字を読み取る光学式文字読取装置において、
帳票を横及び縦方向の画素に分解して光学的に読み取り、読み取った画像イメージを画像メモリに格納する読取手段と、
帳票における基準マークの位置情報に基づいて、前記画像メモリに格納された帳票の画像イメージから基準マークを検出する第１の検出手段と、
前記画像メモリに格納された帳票の画像イメージを斜め方向の走査線で走査して基準マークの一角を検出し、検出した基準マークの一角の位置を基準にして、更に他の基準マークを検出する第２の検出手段と、
前記第１または第２の検出手段を選択する選択手段と、
前記第１または第２の検出手段により検出された基準マークの位置に基づいて、所定の位置に記載された文字を認識する文字認識手段とを、
有することを特徴とする光学式文字読取装置。
【請求項８】
前記選択手段は、予め与えられた前記読取手段の読取位置の許容範囲の情報に基づいて、前記第１または第２の検出手段のいずれか一方を選択することを特徴とする請求項７に記載の光学式文字読取装置。
【請求項９】
前記選択手段は、最初に前記第１の検出手段を選択し、該第１の検出手段で前記基準マークが検出できない場合に、前記第２の検出手段を選択することを特徴とする請求項７に記載の光学式文字読取装置。
【請求項１０】
読取位置の基準となる基準マークが付された帳票を光学的に読み取り、読み取った帳票の画像イメージから基準マークを検出する基準マーク検出方法において、
基準マークの形状情報を記憶手段に予め記憶させておき、
読取手段が帳票を読み取り、
検出手段が、前記読取手段により読み取られた帳票の画像イメージを斜め方向の走査線で走査して、前記記憶手段に記憶された基準マーク形状情報に類似するマークを検出することを特徴とする基準マーク検出方法。
【請求項１１】
前記検出手段は、走査範囲を限定し、その範囲内を対象にして基準マーク形状情報に類似するマークを検出することを特徴とする請求項１０に記載の基準マーク検出方法。
【請求項１２】
前記検出手段は、帳票の角を基準にして走査範囲を限定することを特徴とする請求項１１に記載の基準マーク検出方法。
【請求項１３】
前記検出手段は、走査範囲内における黒の連結領域の中から基準マークの形状に最も類似した領域をマークとして検出することを特徴とする請求項１０に記載の基準マーク検出方法。
【請求項１４】
更に、基準マーク同士の位置関係を示す基準マーク位置情報を前記記憶手段に予め記憶させておき、
前記検出手段が、前記記憶手段に記憶された基準マーク位置情報に基づいて、検出した基準マークの一角を基準にして、更に他の基準マークを検出することを特徴とする請求項１０に記載の基準マーク検出方法。
【請求項１５】
読取位置の基準となる基準マークが付された帳票を光学的に読み取り、読み取った帳票の画像イメージから基準マークを検出する基準マーク検出装置において、
基準マークの形状情報が予め記憶された記憶手段と、
帳票を読み取る読取手段と、
前記読取手段により読み取られた帳票の画像イメージを斜め方向の走査線で走査して、前記記憶手段に記憶された基準マーク形状情報に類似するマークを検出する検出手段とを、
有することを特徴とする基準マーク検出装置。
【請求項１６】
前記記憶手段は、更に、基準マーク同士の位置関係を示す基準マーク位置情報が予め記憶されており、
前記検出手段は、前記記憶手段に記憶された基準マーク位置情報に基づいて、検出した基準マークの一角を基準にして、更に他の基準マークを検出することを特徴とする請求項１５に記載の基準マーク検出装置。
【請求項１７】
読取位置の基準となる基準マークが付された帳票を光学的に読み取り、読み取った帳票の画像イメージ中の基準マークの位置に基づいて所定の位置に記載された文字を読み取る光学式文字読取装置において、
帳票を横及び縦方向の画素に分解して光学的に読み取り、読み取った画像イメージを画像メモリに格納する読取手段と、
前記画像メモリに格納された帳票の画像イメージを斜め方向の走査線で走査して、前記記憶手段に記憶された基準マーク形状情報に類似するマークを検出する検出手段と、
前記検出手段により検出された基準マークの位置に基づいて、所定の位置に記載された文字を認識する文字認識手段とを、
有することを特徴とする光学式文字読取装置。
【請求項１８】
前記記憶手段は、更に、基準マーク同士の位置関係を示す基準マーク位置情報が予め記憶されており、
前記検出手段は、前記記憶手段に記憶された基準マーク位置情報に基づいて、検出した基準マークの一角を基準にして、更に他の基準マークを検出することを特徴とする請求項１７に記載の光学式文字読取装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、光学式文字読取装置（以下、「ＯＣＲ」という）やファクシミリ等に用いられる、読取位置の基準とするために帳票に予め印刷された基準マークを検出する基準マーク検出技術に関するものである。
【０００２】
【従来の技術】
図８は、従来のＯＣＲの構成を示すブロック図である。以下に、図８を用いて、ＯＣＲを一例にして従来技術の構成を説明する。
【０００３】
図８において、２００は、ＯＣＲに入力される画像データを格納する画像メモリである。２０１は、ＯＣＲに入力されるフォーマット情報を格納するフォーマット情報メモリである。フォーマット情報は、例えばＯＣＲで処理する画像についての基準マークの位置情報や読み取りとなる文字の領域に関する情報等である。２０２は、フォーマット情報メモリ２０１に格納されている基準マークの位置情報に基づいて、画像メモリ２００に格納された帳票の画像イメージから基準マークを検出する基準マーク検出部である。２０３は、基準マーク検出部２０２により検出された基準マークの位置に基づいて、帳票の傾きを検出したり、帳票の向きを検出し、画像に回転処理等の補正を行う必要がある場合に、画像を補正する画像補正部である。
【０００４】
２０４は、フォーマット情報メモリ２０１に格納されている読み取り対象となる文字の領域に関する情報に基づいて、画像メモリ２００に格納された画像イメージから文字を切り出す文字切出部である。２０５は、後述の文字認識辞書メモリ２０６に格納された文字認識辞書を用いて、文字切出部２０４で切り出された文字を文字認識し、その結果を外部に出力する文字認識部である。２０６は、ＯＣＲに入力される文字認識辞書データを格納する文字認識辞書である。
【０００５】
図９は基準マーク検出部２０２の動作の概要を示すフローチャートである。上述の構成において、基準マーク検出部２０２は、以下のようにして帳票の画像イメージから基準マークを検出する。
【０００６】
図９のステップＳ１０１において、基準マーク検出部２０２は、画像メモリ２００から帳票の画像イメージを取得するとともに、フォーマット情報メモリ２０１から基準マークの位置情報を取得する。次に、ステップＳ１０２において、画像イメージに対して、基準マークの位置情報に基づいて、基準マークを検出するための検出領域を設定する。次に、ステップＳ１０３において、検出領域内の画像を走査して黒の連結領域を検出し、ステップＳ１０４において、予め定められた基準マークの形状および大きさに最も類似する黒の連結領域を抽出して、この領域を基準マークと見なす。ステップＳ１０５において、基準マークの位置座標を識別して、その位置座標を文字切出部２０４に出力する。
【０００７】
【発明が解決しようとする課題】
帳票は、基準マークと帳票の辺の間の領域に書込みや汚れ、マーク等が付されている場合がある。従来のＯＣＲは、垂直方向又は水平方向に走査するため、これらを検出しやすく、これらを検出した時点で基準マークか否かを判定する処理を行なうことになる。そのため、処理時間がかかってしまう。
【０００８】
また、従来のＯＣＲは、基準マークの位置が不明な場合（即ち、基準マークの位置情報が画像メモリ２００に格納されていない場合）に、基準マークを検出できなかった。また、帳票を傾けて搬送して読み取った場合に、帳票の画像イメージの基準マークは、画像メモリ２００に格納された基準マークの位置情報と異なる位置に存在することになり、基準マークを検出できなかった。
【０００９】
本発明は、前記従来技術が持っていた課題を解決し、基準マークを確実に検出する基準マーク検出方法、基準マーク検出装置及びＯＣＲを提供するものである。
【００１０】
【課題を解決するための手段】
前記課題を解決するために、第１の発明は、読取位置の基準となる基準マークが付された帳票を光学的に読み取り、読み取った帳票の画像イメージから基準マークを検出する基準マーク検出方法において、読取手段が帳票を読み取り、検出手段が、前記読取手段により読み取られた帳票の画像イメージを斜め方向の走査線で走査して基準マークを検出する構成となっている。また、第２の発明と第３の発明は、第１の発明を実現する基準マーク読取装置及びＯＣＲの構成となっている。
【００１１】
第１の発明から第３の発明によれば、次のような作用が行われる。
【００１２】
読取手段によって帳票の画像イメージが光学的に読み取られ、画像メモリに格納される。画像メモリに格納された画像イメージは、検出手段によって斜め方向の走査線で走査されて、基準マークが検出される。そして、画像イメージ中のこれらの基準マークの位置に基づいて、所定の位置に記載された文字が読み取られる。
【００１３】
第４の発明は、読取位置の基準となる基準マークが複数付された帳票を光学的に読み取り、読み取った帳票の画像イメージから基準マークを検出する基準マーク検出方法において、読取手段が帳票を読み取り、検出手段が、前記読取手段により読み取られた帳票の画像イメージを斜め方向の走査線で走査して基準マークの一角を検出し、検出した基準マークの一角の位置を基準にして、更に他の基準マークを検出する構成となっている。また、第５の発明と第６の発明は、第４の発明を実現する基準マーク読取装置及びＯＣＲの構成となっている。
【００１４】
第５の発明から第６の発明によれば、次のような作用が行われる。
【００１５】
読取手段によって帳票の画像イメージが光学的に読み取られ、画像メモリに格納される。画像メモリに格納された画像イメージは、検出手段によって斜め方向の走査線で走査されて、基準マークの一角が検出され、その位置に基づいて画像イメージ中の他の基準マークの位置が検出される。そして、画像イメージ中のこれらの基準マークの位置に基づいて、所定の位置に記載された文字が読み取られる。
【００１６】
第７の発明は、読取位置の基準となる基準マークが複数付された帳票を光学的に読み取り、読み取った帳票の画像イメージ中の基準マークの位置に基づいて所定の位置に記載された文字を読み取るＯＣＲにおいて、帳票を横及び縦方向の画素に分解して光学的に読み取り、読み取った画像イメージを画像メモリに格納する読取手段と、帳票における基準マークの位置情報に基づいて、前記画像メモリに格納された帳票の画像イメージから基準マークを検出する第１の検出手段と、前記画像メモリに格納された帳票の画像イメージを斜め方向の走査線で走査して基準マークの一角を検出し、検出した基準マークの一角の位置を基準にして、更に他の基準マークを検出する第２の検出手段と、前記第１または第２の検出手段を選択する選択手段と、前記第１または第２の検出手段により検出された基準マークの位置に基づいて、所定の位置に記載された文字を認識する文字認識手段とを有している。
【００１７】
第７の発明によれば、次のような作用が行われる。
【００１８】
選択手段によって第１または第２の検出手段が選択される。第１の検出手段が選択されたときには、帳票における基準マークの位置情報に基づいて画像イメージ中の基準マークの位置が検出される。また、第２の検出手段が選択されたときには、画像メモリに格納された画像イメージが斜め方向の走査線で走査されて基準マークの一角が検出される。そして、検出された基準マークの一角の位置に基づいて画像イメージ中の他の基準マークの位置が検出される。文字認識手段では、第１または第２の検出手段で検出されたこれらの基準マークの位置に基づいて所定の位置に記載された文字が認識される。
【００１９】
第８の発明は、第７の発明のＯＣＲにおける選択手段を、予め与えられた前記読取手段の読取位置の許容範囲の情報に基づいて、前記第１または第２の検出手段のいずれか一方を選択するように構成している。
【００２０】
第８の発明によれば、選択手段において次のような作用が行われる。
【００２１】
予め与えられた読取手段の読取位置の許容範囲の情報に基づいて、第１または第２の検出手段のいずれか一方が選択される。
【００２２】
第９の発明は、第７の発明のＯＣＲにおける選択手段を、最初に前記第１の検出手段を選択し、該第１の検出手段で前記基準マークが検出できない場合に、前記第２の検出手段を選択するように構成している。
【００２３】
第９の発明によれば、選択手段において次のような作用が行われる。
【００２４】
最初に第１の検出手段が選択される。そして、第１の検出手段で基準マークが検出できない場合に、第２の検出手段が選択される。
【００２５】
第１０の発明は、マークが付された帳票を光学的に読み取り、読み取った帳票の画像イメージからマークを検出するマーク検出方法において、マークの形状情報を記憶手段に予め記憶させておき、読取手段が帳票を読み取り、検出手段が、前記読取手段により読み取られた帳票の画像イメージを斜め方向の走査線で走査して、前記記憶手段に記憶されたマーク形状情報に類似するマークを検出する構成となっている。
【００２６】
第１０の発明によれば、次のような作用が行われる。
【００２７】
記憶手段には検出するマークの形状に関する情報（マーク形状情報）が予め記憶されている。読取手段によって帳票の画像イメージが光学的に読み取られ、画像メモリに格納される。画像メモリに格納された画像イメージは、検出手段によって斜め方向の走査線で走査されて、マーク形状に類似するマークが検出される。
【００２８】
第１１の発明は、第１０の発明の検出手段を、走査範囲を限定し、その範囲内を対象にしてマーク形状情報に類似するマークを検出するように構成している。更に、第１２の発明は、走査範囲を帳票の角を基準にして限定している。
【００２９】
第１３の発明は、第１０の発明の検出手段を、走査範囲内における黒の連結領域の中からマークの形状に最も類似した領域をマークとして検出するように構成している。
【００３０】
第１４の発明は、第１０の発明の記憶手段に、更に、マーク同士の位置関係を示すマーク位置情報を予め記憶させておき、前記検出手段が、前記記憶手段に記憶されたマーク位置情報に基づいて、検出したマークの一角を基準にして、更に他のマークを検出するように構成している。
【００３１】
第１４の発明によれば、次のような作用が行われる。
【００３２】
記憶手段には検出するマークの形状に関する情報（マーク形状情報）とマーク同士の位置関係を示す情報（マーク位置情報）が予め記憶されている。読取手段によって帳票の画像イメージが光学的に読み取られ、画像メモリに格納される。画像メモリに格納された画像イメージは、検出手段によって斜め方向の走査線で走査されて、マーク形状に類似するマークの一角が検出され、その位置に基づいて画像イメージ中の他の基準マークの位置が検出される。そして、画像イメージ中のこれらの基準マークの位置に基づいて、所定の位置に記載された文字が読み取られる。
【００３３】
第１５の発明は第１０の発明を実現するマーク読取装置の構成となっている。更に、第１６の発明は第１４の発明を実現するマーク読取装置の構成となっている。
【００３４】
第１７の発明は第１０の発明を実現するＯＣＲの構成となっている。更に、第１８の発明は第１４の発明を実現するＯＣＲの構成となっている。
【００３５】
【発明の実施の形態】
第１の実施形態
帳票は帳票の四隅の角付近には書込みや汚れ、マーク等が付されている場合がほとんどない。そこで、本発明は、帳票の四隅の角付近に基準マークを設けるようにし、帳票を斜め方向に走査する。これにより、本発明は、基準マークと帳票角の間の領域に書込みや汚れ、マーク等がほとんど付されていないので、これらを検出する場合が少なくなる。そのため、これらを基準マークか否かを判定する処理を行なう場合が従来構成よりも少なくなり、処理効率が従来構成よりも高くするようにした。
【００３６】
図１は、本発明の第１の実施形態を示すＯＣＲの概略構成図である。
【００３７】
このＯＣＲは、読み取り対象となる帳票１を、横及び縦方向の白黒２値の画素に分解して光学的に読み取り、画像イメージを生成する読取手段（例えば、イメージスキャナ）１０、この画像イメージを格納するための画像メモリ２０、及び帳票１の様式を定義したフォーマット情報が格納されたフォーマット情報メモリ３０を有している。フォーマット情報は、例えば、基準マークがどのような形をしており、その寸法がどれ程かを示す基準マークの形状に関する情報や、基準マークの位置情報、読み取り対象となる文字の領域に関する情報等で構成されている。また、このＯＣＲは、次のような第１の検出手段（例えば、マーク領域算出部）４０、第２の検出手段（例えば、基準マーク検出部）５０、基準マーク判定部６０、画像補正部７０、読取領域検出部８０、文字切出部９０、文字認識手段（例えば、文字認識部）１００、及び選択手段（例えば、制御部）１１０を有している。
【００３８】
マーク領域算出部４０は、矩形の帳票１の四隅に予め印刷された一定寸法の基準マークが、画像メモリ２０中のどの領域に格納されるかを、フォーマット情報メモリ３０中のフォーマット情報に基づいて算出するものである。
【００３９】
一方、基準マーク検出部５０は、画像メモリ２０に格納された画像イメージを走査して読み取り、基準マークの存在位置を検出するものである。基準マーク検出部５０は、画像メモリ２０中の画像イメージを斜め方向の走査線に沿って順次走査し、基準マークの一角の黒画素を検出するマーク角検出部５１と、検出された基準マークの一角の位置に基づいて、その基準マークが存在すると推定される画像イメージの領域を算出するマーク領域算出部５２とで構成されている。
【００４０】
基準マーク判定部６０は、マーク領域算出部４０または基準マーク検出部５０によって算出された基準マークの存在領域に従って、画像メモリ２０中の画像イメージを切り出して、基準マークが存在するか否かを判定するものである。
【００４１】
画像補正部７０は、基準マーク判定部６０で検出された複数の基準マークの位置データに基づいて、画像メモリ２０に格納された画像イメージの傾きや伸縮等を補正して、正しい形状の画像イメージに変換するものである。
【００４２】
読取領域検出部８０は、フォーマット情報メモリ３０中のフォーマット情報に基づいて、帳票１上の読取領域に対応する画像イメージの存在位置を検出するものである。
【００４３】
文字切出部９０は、読取領域検出部８０で検出された読取領域に対応する画像メモリ２０内の画像イメージの文字を、１文字単位で切り出すものである。
【００４４】
文字認識部１００は、文字切出部９０で１文字単位に切り出された画像イメージを文字辞書１０１を参照して文字認識し、その認識した文字に対応する文字コードを認識結果として出力するものである。
【００４５】
図２は、図１のＯＣＲにおける基準マークの検出方法の説明図であり、図３は、図１のＯＣＲの動作の概要を示すフローチャートである。以下、この図２及び図３を参照しつつ、図１のＯＣＲの動作を説明する。
【００４６】
図３のステップＳ１において、読み取り対象となる帳票１は、図１中のイメージスキャナ１０によって光学的に読み取られ、白黒の２値の画素データで構成される画像イメージが生成されて、画像メモリ２０に格納される。ステップＳ１の後、ステップＳ２へ進む。
【００４７】
ステップＳ２において、図示しないキーボード等の入力装置から、制御部１１０に基準マークの検出モードの入力が行われ、ステップＳ３へ進む。
【００４８】
ステップＳ３では、制御部１１０において、入力された検出モードに基づいて基準マーク検出動作の選択が行われる。即ち、例えばイメージスキャナ１０の読取位置の精度が高い場合等に、フォーマット情報メモリ３０に格納されたフォーマット情報に基づいて基準マークを検出する第１の動作が選択されると、ステップＳ４へ進む。また、イメージスキャナ１０の読取位置の精度が低い場合等に、画像イメージ全体から基準マークを検出するために第２の動作が選択されると、ステップＳ６へ進む。
【００４９】
ステップＳ４では、マーク領域算出部４０が起動され、このマーク領域算出部４０によって、フォーマット情報メモリ３０中のフォーマット情報が読み取られ、ステップＳ５へ進む。
【００５０】
ステップＳ５において、読み取られたフォーマット情報メモリ３０に基づいて、帳票１に予め印刷された基準マークが画像メモリ２０中のどの領域に格納されるかが算出される。マーク領域算出部４０によるマーク領域算出処理の後、ステップＳ８へ進む。
【００５１】
一方、ステップＳ３で第２の動作が選択されてステップＳ６に進んだ場合には、基準マーク検出部５０が起動される。そして、マーク角検出部５１において、後述する方法によって基準マークの一角の存在する位置の検出が行われる。ステップＳ６におけるマーク角検出処理の後、ステップＳ７へ進む。
【００５２】
ステップＳ７では、マーク領域算出部５２が起動され、ステップＳ６で検出された基準マークの一角の位置に基づいて、帳票１に予め印刷された基準マークが画像メモリ２０中のどの領域に格納されるかが算出される。ステップＳ７におけるマーク領域算出処理の後、ステップＳ８へ進む。
【００５３】
ステップＳ８において、ステップＳ５，Ｓ７で算出された基準マークの存在領域の情報が、基準マーク判定部６０に与えられ、この基準マーク判定部６０によって、画像メモリ２０中の画像イメージが切り出される。そして、基準マーク判定部６０において、切り出された画像イメージ中に基準マークが存在するか否かの判定が行われ、基準マークが存在すれば、その位置が検出される。
【００５４】
基準マークの判定方法は、図２に示すように、切り出された領域２１ａの画像イメージを、横及び縦方向に走査して黒画素の個数をカウントすることにより、横方向ヒストグラムＨｘ、及び縦方向ヒストグラムＨｙが生成される。次に、横方向ヒストグラムＨｘの黒画素数が一定の値Ｘ以上となっている領域の高さＨ、及び縦方向ヒストグラムＨｙの黒画素数が一定の値Ｙ以上となっている領域の幅Ｗが算出される。そして、算出された高さＨ及び幅Ｗが予め印刷された基準マークの寸法にほぼ一致していれば、これが基準マークであると判定される。更に、基準マークの存在位置が検出される。ステップＳ８における基準マーク位置検出処理の後、ステップＳ９へ進む。
【００５５】
ステップＳ９において、画像補正部７０が起動され、この画像補正部７０によって、基準マーク判定部６０で検出された複数の基準マークの位置データに基づいて、画像メモリ２０に格納された画像イメージの傾きや伸縮等が補正され、正しい形状の画像イメージが生成される。画像メモリ２０中の画像イメージの補正が終了すると、ステップＳ１０へ進む。
【００５６】
ステップＳ１０において、読取領域検出部８０が起動され、フォーマット情報メモリ３０中のフォーマット情報に基づいて、帳票１上の読取領域に対応する画像イメージの存在位置が検出される。ステップＳ１０の読み取り領域検出処理の後、ステップＳ１１へ進む。
【００５７】
ステップＳ１１において、読取領域検出部８０で検出された読取領域に対応する画像メモリ２０内の画像イメージが、文字切出部９０によって1文字単位で切り出され、ステップＳ１２へ進む。
【００５８】
ステップＳ１２において、文字認識部１００が起動され、この文字認識部１００によって文字辞書１０１が参照されて１文字単位で切り出された画像イメージの文字が認識される。そして、その認識された文字に対応する文字コードが認識結果として出力される。
【００５９】
図４は、図１中の基準マーク検出部５０における基準マークの検出方法の説明図である。また、図５は、図１中の基準マーク検出部５０の動作の一例を示すフローチャートである。
【００６０】
基準マーク検出部５０は、図４に示すように、画像メモリ２０に格納された帳票１の画像イメージから、四隅の基準マーク２ａ，２ｂ，２ｃ，２ｄの位置を検出するものである。
【００６１】
例えば、図４における左上の基準マーク２ａを検出する場合、画像メモリ２０の左上隅から下に等間隔に、右上がりの斜めの走査線ＳＬＡ１，ＳＬＡ２，ＳＬＡ３，…を設定し、これらの走査線ＳＬＡ１，ＳＬＡ２，ＳＬＡ３，…によって、この画像メモリ２０中の画像イメージの画素を順次走査する。そして、例えば走査線ＳＬＡ５の中間で、最初に検出した黒画素の位置が基準マーク２ａの角として検出される。
【００６２】
また、右上の基準マーク２ｂを検出する場合は、画像メモリ２０の右上隅から下に等間隔に、右下がりの斜めの走査線ＳＬＢ１，ＳＬＢ２，ＳＬＢ３，…を設定し、これらの走査線ＳＬＢ１，ＳＬＢ２，ＳＬＢ３，…によって、画像イメージの画素を順次走査する。左下の基準マーク２ｃを検出する場合は、画像メモリ２０の左下隅から上に等間隔に、右下がりの斜めの走査線ＳＬＣ１，ＳＬＣ２，ＳＬＣ３，…を設定し、これらの走査線ＳＬＣ１，ＳＬＣ２，ＳＬＣ３，…によって、画像イメージの画素を順次走査する。更に、右下の基準マーク２ｄを検出する場合は、画像メモリ２０の右下隅から上に等間隔に、右上がり斜めの走査線ＳＬＤ１，ＳＬＤ２，ＳＬＤ３，…を設定し、これらの走査線ＳＬＤ１，ＳＬＤ２，ＳＬＤ３，…によって、画像イメージの画素を順次走査する。そして、これらの走査によって最初に検出した黒画素の位置が、基準マーク２ｂ，２ｃ，２ｄの角として検出される。
【００６３】
このような基準マーク検出処理は、図５のフローチャートに従って行われる。
【００６４】
マーク角検出部５１の処理が開始されると、ステップＳ２１において、例えば基準マーク２ａを検出するために、第１の走査線ＳＬＡ１が設定され、ステップＳ２２へ進む。
【００６５】
ステップＳ２２において、走査線ＳＬＡ１の走査開始位置の設定が行われる。この場合は、例えば走査線ＳＬＡ１の左端が走査開始位置に設定される。
【００６６】
ステップＳ２３において、設定された開始位置の画素が黒画素であるか否かが判定される。黒画素であればステップＳ２４へ進み、黒画素でなければステップＳ２５へ進む。
【００６７】
ステップＳ２４では、ステップＳ２３で検出された黒画素が基準マーク２ａの左上の角であると見なされ、マーク領域検出部５２が起動される。そして、黒画素の位置に基づいて基準マーク２ａが存在すると推定される領域が算出され、基準マーク検出処理は終了する。
【００６８】
一方、ステップＳ２３の判定結果、黒画素ではない場合には、ステップＳ２５において、走査線ＳＬＡ１上の画素位置が右上に移動させられ、ステップＳ２６へ進む。
【００６９】
ステップＳ２６において、移動された画素位置が画像イメージの領域内にあるか否かが判定される。領域内にあればステップＳ２３へ進み、その画素位置の画素が黒画素か否かが判定される。領域内から外れた場合には、ステップＳ２７へ進む。
【００７０】
ステップＳ２７において、すべての走査線ＳＬＡ１，ＳＬＡ２，ＳＬＡ３，…について走査を完了したか否かが判定される。すべての走査線ＳＬＡ１，ＳＬＡ２，ＳＬＡ３，…の走査が完了していれば、基準マークが存在しなかったとしてこの基準マーク検出処理は終了する。一方、未走査の走査線ＳＬＡ２，ＳＬＡ３，…が存在すれば、ステップＳ２８へ進む。
【００７１】
ステップＳ２８において、次に走査すべき走査線（例えば、走査線ＳＬＡ２）が設定され、ステップＳ２２へ戻る。
【００７２】
このような走査により、ステップＳ２３で、帳票１の画像イメージ中の四隅の黒画素が検出され、ステップＳ２４で、これを基準マークの角として基準マークの存在領域が算出されるようになっている。この後、ＯＣＲは、基準マークの存在領域から四隅の基準マークを検出し、四隅の基準マークの間隔から読み取った帳票の画像イメージの歪みを算出する。そして、歪みの量に応じて画像イメージに回転や伸張等の補正を加え、文字を切出して認識を行なう。
【００７３】
以上のように、この第１の実施形態のＯＣＲは、画像イメージを斜め方向の走査線に沿って順次走査し、基準マークの一角の黒画素を検出するマーク角検出部５１と、検出された基準マークの一角の位置に基づいて、その基準マークが存在すると推定される画像イメージの領域を算出するマーク領域算出部５２とを有している。これにより、帳票１の読取位置のずれに影響されず、基準マークを確実に検出することができるという利点がある。
【００７４】
第２の実施形態
図６は、本発明の第２の実施形態を示すＯＣＲの動作の概要を示すフローチャートであり、図３中の要素と共通の要素には共通の符号が付されている。また、このＯＣＲの構成は図１と同様であり、制御部１１０における全体的な動作制御が若干相異するだけである。
【００７５】
このＯＣＲでは、図３中のステップＳ２，Ｓ３におけるマーク検出モード入力処理と入力された検出モードによる動作選択処理とを削除している。そして、従来技術として説明したような第１のマーク検出処理であるステップＳ４，Ｓ５を行い、続いて基準マーク位置を検出するステップＳ５ａと、マーク検出位置に基準マークが存在するか否かを判定するステップＳ５ｂの処理を行うようにしている。
【００７６】
ステップＳ５ｂの判定処理で、基準マークが検出できないと判断されると、ステップＳ６へ進み、このステップＳ６のマーク角検出処理、ステップＳ７のマーク領域算出処理、及びステップＳ８の基準マーク位置検出処理で構成される第２の基準マーク検出処理が行われる。そしてステップＳ８の後、ステップＳ９の画像補正処理へ進む。
【００７７】
一方、ステップＳ５ｂの判定処理で、基準マークが検出できたと判定されると、直ちに、ステップＳ９の画像補正処理へ進む。ステップＳ９以降の処理は、図３と同様である。
【００７８】
以上のように、この第２の実施形態のＯＣＲは、最初にステップＳ４〜Ｓ５ａの従来の方法による基準マークの検出を行い、従来の方法で検出ができなかった場合にのみ、ステップＳ６〜Ｓ８による基準マークの検出を行うようにしている。これにより、第１の実施形態の利点に加えて、操作が簡略化でき、かつ帳票が正常に読み取られた場合の処理時間の短縮が可能になるという利点がある。
【００７９】
第３の実施形態
図７は、本発明の第３の実施形態を示すＯＣＲの動作の概要を示すフローチャートであり、図３中の要素と共通の要素には共通の符号が付されている。また、このＯＣＲの構成は図１と同様であり、制御部１１０における全体的な動作制御が若干相違するだけである。
【００８０】
このＯＣＲでは、図３中のステップＳ５の後に、ステップＳ５ａの基準マーク判定処理を追加している。
【００８１】
ステップＳ５ａは、ステップＳ２のマーク検出モード入力によって従来と同様の第１の基準マーク検出動作が選択されたときに、ステップＳ５のマーク領域算出処理で算出された領域中の基準マーク位置を検出する処理である。ステップＳ５ｂは、ステップＳ５ａで検出されたマーク検出位置に基準マークが存在するか否かを判定する処理である。そして、このステップＳ５ａで基準マークが検出されないと判定されると、ステップＳ６〜Ｓ８において、第２の方法による基準マーク検出処理を行うようにしている。一方、ステップＳ５ａで基準マークが検出されたと判定されると、直ちに、ステップＳ９の画像補正処理へ進むようになっている。ステップＳ９以降の処理は、図３と同様である。
【００８２】
以上のように、この第３の実施形態のＯＣＲは、従来の方法による第１の基準マーク検出処理を選択して基準マークが検出できなかった時に、ステップＳ６〜Ｓ８による第２の基準マーク検出処理を行うようにしている。これにより、第１の実施形態の利点に加えて、オペレータの選択誤りによって読み取り動作が中断するというおそれがなくなるという利点がある。
【００８３】
第４の実施形態
第４の実施形態は、基準マークが必ず帳票領域内にあることに着目して、まず帳票領域を検出し、検出した帳票領域内（更には帳票角から特定の範囲内）に走査範囲を限定して、予め記憶させておいた基準マークの形状に関する情報（以下、基準マークの形状情報と称する）と一致する画素の集合を検出するようにしたものである。これにより、基準マークの位置情報を用いることなく基準マークを検出できるようにし、特に、基準マークの位置がフォーマット情報における位置から大きくズレた場合でも検出できるようにした。
【００８４】
図１０は第４の実施形態における基準マーク検出部５０の動作の概要を示すフローチャートである。
【００８５】
基準マーク検出部５０は、ステップＳ４１において、画像メモリ２０から帳票の画像イメージを取得するとともに、フォーマット情報メモリ３０から基準マークの形状情報を取得する。なお、基準マークの形状情報には基準マークの大きさの情報を含めるようにしてもよい。次に、ステップＳ４２において帳票を検出し、ステップＳ４３において基準マークの角を検出する。次に、ステップＳ４４において、ステップＳ４３で検出した基準マークの角に基づいて、画像イメージに対して基準マークを検出するための検出領域を設定する。
【００８６】
次に、ステップＳ４５において検出領域内の画像を走査して黒の連結領域を検出し、ステップＳ４６において予め定められた基準マークの形状および大きさに最も類似する黒の連結領域を抽出して、この領域を基準マークと見なす。そして、ステップＳ４７において、基準マークの位置座標を識別し、その位置座標を文字切出部９０に出力する。
【００８７】
以上により、図１０の動作が終了する。
【００８８】
以下に、上述の各ステップについて補足する。
【００８９】
まず、ステップＳ４２について補足する。
【００９０】
基準マーク検出部５０は、画像イメージを斜め方向の走査線に沿って走査する。以下、図１１〜図１８を用いて、走査について説明する。
【００９１】
図１１は帳票角の検出方法を示す図である。
【００９２】
図１１中、１は帳票であり、１Ａは帳票領域、１Ｂは背景領域、１ａ〜１ｄは帳票の角、２ａ〜２ｄは基準マーク、２０は画像メモリに記憶されている領域、ＳＬＡ１〜ＳＬＡ５は左上の帳票の角１ａを検出するための走査線、ＳＬＢ１〜ＳＬＢ５は右上の帳票の角１ｂを検出するための走査線、ＳＬＣ１〜ＳＬＣ５は左下の帳票の角１ｃ、ＳＬＤ１〜ＳＬＤ５は右下の帳票の角１ｄを検出するための走査線である。
【００９３】
図１２は帳票領域検出処理の流れを示す図である。
【００９４】
図１２に示すように、本実施例では、左上（ステップＳ５１）、右上（ステップＳ５２）、右下（ステップＳ５３）、左下（ステップＳ５４）の順で帳票の角１ａ〜１ｄを検出し、帳票の角１ａ〜１ｄを上下左右の隣接するもの同士で結び、これにより形成される領域を帳票領域１Ａとして設定する。以下、図１３〜図１８を用いて、帳票の角を検出する方法について補足する。
【００９５】
図１３は領域２１ａを拡大した図である。
【００９６】
図１３中、ＳＬＡ１〜ＳＬＡ５は走査線であり、２ａは左上の基準マーク、６２は走査線ＳＬＡ１上の背景領域１Ｂの左端に位置する点、６３は走査線ＳＬＡ１上の背景領域１Ｂ内に位置する点、６４は走査線ＳＬＡ１上の背景領域１Ｂの右端に位置する点、６５は走査線ＳＬＡ５上の帳票領域１Ａ内に位置する点、６６は走査線ＳＬＡ２上の背景領域１Ｂの左端に位置する点、６７は走査線ＳＬＡ２上の背景領域１Ｂの右端に位置する点である。
【００９７】
図１４は帳票の角の検出処理の動作を示すフローチャートである。
【００９８】
基準マーク検出部５０は、ステップＳ６１において走査線ＳＬＡ１を第一走査線として設定し、ステップＳ６２において走査線ＳＬＡ１上の点６２を走査の開始位置として設定し、点６４を走査の終了位置と設定する。
【００９９】
次に、基準マーク検出部５０は、ステップＳ６３において、点６２付近の画像が帳票領域１Ａ内の画像であるのか、背景画像１Ｂ内の画像であるのかを判定する。この判定は、例えば、走査線上の点の座標を注目画素とし、注目画素から水平方向に８ビット、垂直方向に３ビットのブロック（以下、注目画素から８×３で作成される画像のブロックを画像ブロックと称する）に対して行う。
【０１００】
図１５は背景と判定される場合の画像ブロックの例である。図１５（ａ）は画像ブロックの全画素が黒の場合を示しており、図１５（ｂ）は画像ブロックに白画素が混在している場合を示している。図１５中、７１と７５は左上の帳票の角１ａ近辺の画像ブロックの注目画素である。基準マーク検出部５０は、画像ブロックが図１５（ａ）のような場合に、画像ブロックが背景領域内にあると判定する。また、画像ブロックが図１５（ｂ）のような場合にも、黒画素の割合が白画素の割合よりも高いので、白画素を微少なゴミと見なして、画像ブロックが背景領域内にあると判定する。
【０１０１】
図１６は帳票と判定される場合の画像ブロックの例である。図１６は画像ブロックの全画素が白である場合を示している。図１６中、８１は左上の帳票の角１ａ近辺の画像ブロックの注目画素である。基準マーク検出部５０は、画像ブロックが図１６のような場合に、画像ブロックが帳票領域内にあると判定する。なお、図１６に示す画像に若干の黒画素が含まれる場合にも、画像ブロックが帳票領域内にあると判定するようにすることができるが、本実施形態では、図１６に示すように、画像ブロックの全画素が白である場合に、画像ブロックが帳票領域内にあるもとのして説明する。
【０１０２】
基準マーク検出部５０は、ステップＳ６４において、点６２の画像ブロックが帳票領域内でなければ、走査線上の次の走査位置に座標を移動させる。図１３では点６２の次の走査位置を点６３としている。
【０１０３】
基準マーク検査部５０は、次の走査位置である点６３に座標を移動させた後、ステップＳ６５において、走査線上の画像ブロックの判定がすべて終了したかどうか、つまり、点６３の座標が走査線ＳＬＡ１における走査の終了位置である点６４を超えているかどうかを判定する。点６３は点６４を超えていないので、動作はステップＳ６３に戻り、基準マーク５０は、点６３の画像ブロックが帳票領域内にあるかどうかを判定する。
【０１０４】
点６３の画像ブロックが帳票領域内になければ、動作は再びステップＳ６４に進み、基準マーク検出部５０は走査線上の次の走査位置に座標を移動させる。以後、走査線上の走査位置を移動させて、移動させた走査位置が点６４に達するまで、走査位置の画像ブロックが帳票領域内にあるかどうかの判定を繰り返す。すなわち、ステップＳ６３〜Ｓ６５を繰り返し行う。
【０１０５】
なお、走査位置が点６４を越える場合は、走査位置を一旦点６４の座標に移動させ、ステップＳ６３において、点６４の画像ブロックについて判定する。このときも点６４の画像ブロックが背景領域内にあった場合は、基準マーク検出部５０は走査位置を点６４を越えた座標に移動させる。これにより、ステップＳ６５において、判定はＹｅｓとなり、動作はステップＳ６６に進み、基準マーク検査部５０は、次の走査線であるＳＬＡ２に走査線を移動する。
【０１０６】
基準マーク検出部５０は、ステップＳ６７において、画像内の走査がすべて終了したどうかを判定する。Ｎｏの場合は、動作はステップＳ６２に戻り、基準マーク検出部５０は走査線ＳＬＡ２上での走査を開始する。すなわち、走査線ＳＬＡ２上の点６６を走査の開始位置として設定し、点６７を走査の終了位置と設定する。
【０１０７】
以後、走査線ＳＬＡ２においても走査線ＳＬＡ１で行ったのと同じ要領で走査位置を移動させながら画像ブロックの判定を行い、画像ブロックが帳票領域内にあると判定される座標を探す。なお、帳票領域内にあると判定される走査位置が走査線ＳＬＡ２上にない場合は、他の走査線ＳＬＡ３、ＳＬＡ４、ＳＬＡ５について同様の方法で順次帳票領域内にあると判定される走査位置を探す。
【０１０８】
なお、帳票領域内にあると判定される走査位置がない場合は、ステップＳ６７において、判定はＹｅｓとなり、動作はステップＳ６８に進む。そしてステップＳ６８において、帳票角なしと判定される。帳票領域内にあると判定される走査位置がある場合は、ステップＳ６３において、判定はＹｅｓとなり、動作はステップＳ６９に進む。図１３では走査線ＳＬＡ５上の点６５が帳票領域と交わっており、点６５の画像ブロックが帳票領域内にあると判定される。基準マーク検出部５０は、ステップＳ６９において、点６５の画像ブロックの座標位置を左上の帳票角の座標位置として内部に保持し、左上の帳票角を検出する処理を終了する。なお、このとき検出された点６５は左上の帳票角１ａに相当するものと見なされる。
【０１０９】
以上に説明したように、本実施形態は、斜めの走査線を画像イメージの外側から順次設定してゆき、走査線上の走査位置の座標を注目画素として画像ブロックを作成する。そして、画像ブロックが帳票領域内にあると判定される走査位置が検出されるまで、走査位置の移動と走査線の設定を繰り返し行って帳票角を検出するようにしたものである。本実施形態は、他の帳票角１ｂ〜１ｄについても同様の方法で検出できる。
【０１１０】
なお、画像イメージ中に背景領域がない場合は、以下のようにして帳票角を設定する。
【０１１１】
図１７は背景画像がない場合における左上の帳票角付近の拡大図である。
【０１１２】
図１７中、ＳＬＡ１は走査線であり、２ａは左上の基準マーク、１７２は走査線ＳＬＡ１上の左端に位置する点、１７３は走査線ＳＬＡ１上の点１７３と点１７４の中点、１７４は走査線ＳＬＡ１上の右端に位置する点である。なお、点１７２は第一走査線ＳＬＡ１上の走査の開始位置とし、点１７４を第一走査線ＳＬＡ１上の走査の終了位置とする。
【０１１３】
図１７のように、背景画像がない場合は、第一走査線上の走査において、画像ブロックがすべて白となる。その場合は、走査の開始位置である点１７２と走査の終了位置である点１７４の中点に相当する点１７３を左上の帳票角と見なす。点１７３は、実際の帳票角１ａとは相違するものであるが、基準マーク角検出処理には影響しないので、これを仮の帳票角と見なす。
【０１１４】
なお、本実施形態は、図１８に示すように、走査線の設定の仕方によっては、走査線が帳票角から大きくズレる場合がある。図１８は領域２１ａの拡大図である。図中、ＳＬＡ６は第六の走査線、点１８１は走査線ＳＬＡ５上の帳票角１ａに最接近する点、点１８２は走査線ＳＬＡ６上の左端に位置する点である。
【０１１５】
図１８は帳票角として点１８２を検出したことを示している。しかしながら、帳票角１ａは点１８２よりも点１８１の方に近い。この様なズレは、走査線同士の間隔を狭ばめることにより、小さくすることができる。
【０１１６】
次に、図１０におけるステップＳ４３について補足する。
【０１１７】
基準マーク検出部５０は、ステップＳ４２と同様に、画像イメージを斜め方向の走査線に沿って走査する。以下、図１９〜図２４を用いて、走査について説明する。
【０１１８】
図１９は基準マーク角の検出方法を示す図である。
【０１１９】
図１９中、１は帳票であり、１Ａは帳票領域、１Ｂは背景領域、１ａ〜１ｄは帳票の角、２ａ〜２ｄは基準マーク、２０は画像メモリに記憶されている領域、１９１ａ〜１９１ｄは基準マークの角、ＳＬＡ１〜ＳＬＡ５は左上の基準マークの角１９１ａを検出するための走査線、ＳＬＢ１〜ＳＬＢ５は右上の基準マークの角１９１ｂを検出するための走査線、ＳＬＣ１〜ＳＬＣ５は左下の基準マークの角１９１ｃ、ＳＬＤ１〜ＳＬＤ５は右下の基準マークの角１９１ｄを検出するための走査線である。
【０１２０】
図２０は基準マーク角の検出処理の流れを示す図である。
【０１２１】
図２０に示すように、本実施例では、左上（ステップＳ８１）、右上（ステップＳ８２）、右下（ステップＳ８３）、左下（ステップＳ８４）の順で基準マークの角１９１ａ〜１９１ｄを検出する。以下、図２１〜図２４を用いて、基準マークの角を検出する方法について以下に補足する。
【０１２２】
図２１は領域２１ａを拡大した図である。
【０１２３】
図２１中、ＳＬＡ１〜ＳＬＡ５は走査線であり、２ａは左上の基準マーク、１９１ａは基準マークの角、２１２は走査線ＳＬＡ１上の帳票領域１Ａの左端に位置する点、２１３は走査線ＳＬＡ１上の帳票領域１Ａ内に位置する点、２１４は走査線ＳＬＡ１上の帳票領域１Ａの右端に位置する点、２１５は走査線ＳＬＡ５上の基準マーク２ａと交差する点、２１６は走査線ＳＬＡ２上の帳票領域１Ａの左端に位置する点、２１７は走査線ＳＬＡ２上の帳票領域１Ａの右端に位置する点である。
【０１２４】
図２２は基準マークの角の検出処理の動作を示すフローチャートである。
【０１２５】
基準マーク検出部５０は、ステップＳ９１において走査線ＳＬＡ１を第一走査線として設定し、ステップＳ９２において走査線ＳＬＡ１上の点２１２を走査の開始位置として設定し、点２１４を走査の終了位置と設定する。
【０１２６】
次に、基準マーク検出部５０は、ステップＳ９３において、点２１２付近の画像ブロックが基準マーク２ａ内の画像であるのか、帳票領域１Ａ内の画像であるのかを判定する。
【０１２７】
図２３は帳票と判定される場合の画像ブロックの例である。図２３（ａ）は画像ブロックの全画素が白の場合を示しており、図２３（ｂ）は画像ブロックに黒画素が混在している場合を示している。図２３中、２３１と２３５は左上の基準マークの角１９１ａ近辺の画像ブロックの注目画素である。基準マーク検出部５０は、画像ブロックが図２３（ａ）のような場合に、画像ブロックが帳票領域内にあると判定する。また、画像ブロックが図２３（ｂ）のような場合にも、白画素の割合が黒画素の割合よりも高いので、黒画素を微少なゴミと見なして、画像ブロックが帳票領域内にあると判定する。
【０１２８】
図２４は基準マークと判定される場合の画像ブロックの例である。図２４は画像ブロックの全画素が黒である場合を示している。図２４中、２４１は左上の基準マークの角１９１ａ近辺の画像ブロックの注目画素である。基準マーク検出部５０は、画像ブロックが図２４のような場合に、画像ブロックが基準マーク内にあると判定する。なお、図２４に示す画像に若干の白画素が含まれる場合にも、画像ブロックが基準マーク内にあると判定するようにすることができるが、本実施形態では、図２４に示すように、画像ブロックの全画素が黒である場合に、画像ブロックが基準マーク内にあるもとのして説明する。
【０１２９】
基準マーク検出部５０は、ステップＳ９４において、点２１２の画像ブロックが基準マーク内でなければ、走査線上の次の走査位置に座標を移動させる。図２１では点２１２の次の走査位置を点２１３としている。
【０１３０】
基準マーク検査部５０は、次の走査位置である点２１３に座標を移動させた後、ステップＳ９５において、走査線上の画像ブロックの判定がすべて終了したかどうか、つまり、点２１３の座標が走査線ＳＬＡ１における走査の終了位置である点２１４を超えているかどうかを判定する。点２１３は点２１４を超えていないので、動作はステップＳ２１３に戻り、基準マーク５０は、点２１３の画像ブロックが基準マーク内にあるかどうかを判定する。
【０１３１】
点２１３の画像ブロックが基準マーク内になければ、動作は再びステップＳ２１４に進み、基準マーク検出部５０は走査線上の次の走査位置に座標を移動させる。以後、走査線上の走査位置を移動させて、移動させた走査位置が点２１４に達するまで、走査位置の画像ブロックが基準マーク内にあるかどうかの判定を繰り返す。すなわち、ステップＳ９３〜Ｓ９５を繰り返し行う。
【０１３２】
なお、走査位置が点２１４を越える場合は、走査位置を一旦点２１４の座標に移動させ、ステップＳ９３において、点２１４の画像ブロックについて判定する。このときも点２１４の画像ブロックが基準マーク内にあった場合は、基準マーク検出部５０は走査位置を点２１４を越えた座標に移動させる。これにより、ステップＳ９５において、判定はＹｅｓとなり、動作はステップＳ９６に進み、基準マーク検査部５０は、次の走査線であるＳＬＡ２に走査線を移動する。
【０１３３】
基準マーク検出部５０は、ステップＳ９７において、画像内の走査がすべて終了したどうかを判定する。Ｎｏの場合は、動作はステップＳ９２に戻り、基準マーク検出部５０は走査線ＳＬＡ２上での走査を開始する。すなわち、走査線ＳＬＡ２上の点２１６を走査の開始位置として設定し、点２１７を走査の終了位置と設定する。
【０１３４】
以後、走査線ＳＬＡ２においても走査線ＳＬＡ１で行ったのと同じ要領で走査位置を移動させながら画像ブロックの判定を行い、画像ブロックが基準マーク内にあると判定される座標を探す。なお、基準マーク内にあると判定される走査位置が走査線ＳＬＡ２上にない場合は、他の走査線ＳＬＡ３、ＳＬＡ４、ＳＬＡ５について同様の方法で順次基準マーク内にあると判定される走査位置を探す。
【０１３５】
なお、基準マーク内にあると判定される走査位置がない場合は、ステップＳ９７において、判定はＹｅｓとなり、動作はステップＳ９８に進む。そしてステップＳ９８において、基準マーク角なしと判定される。基準マーク内にあると判定される走査位置がある場合は、ステップＳ９３において、判定はＹｅｓとなり、動作はステップＳ９９に進む。図２１では走査線ＳＬＡ５上の点２１５が基準マークと交わっており、点２１５の画像ブロックが基準マーク内にあると判定される。基準マーク検出部５０は、ステップＳ９９において、点２１５の画像ブロックの座標位置を左上の基準マーク角の座標位置として内部に保持し、左上の基準マーク角を検出する処理を終了する。なお、このとき検出された点２１５は左上の基準マーク角１９１ａに相当するものと見なされる。
【０１３６】
以上に説明したように、本実施形態は、斜めの走査線を画像イメージの外側から順次設定してゆき、走査線上の走査位置の座標を注目画素として画像ブロックを作成する。そして、画像ブロックが基準マーク内にあると判定される走査位置が検出されるまで、走査位置の移動と走査線の設定を繰り返し行って基準マーク角を検出するようにしたものである。本実施形態は、他の基準マーク角１９１ｂ〜１９１ｄについても同様の方法で検出できる。
【０１３７】
次に、図１０におけるステップＳ４４について補足する。
【０１３８】
基準マーク検出部５０は、従来技術で参照していたフォーマットの基準マーク位置情報ではなく、上述の基準マーク角の検出処理（ステップＳ４３）で検出された基準マーク角を用いて、各基準マークの検出領域を算出し、基準マークの検出領域を設定する。
【０１３９】
図２５は左上基準マーク付近における基準マーク検出領域例を示す図である。
【０１４０】
図２５中、２ａは基準マークであり、２１５はステップＳ４３で検出された基準マーク角、２５１は基準マークの垂直方向の大きさ、２５２は基準マークの水平方向の大きさ、２５３は左上の基準マーク検出領域、２５４は検出領域上端から基準マーク上端までの距離、２５５は検出領域下端から基準マーク下端までの距離、２５６は検出領域の左端から基準マーク左端までの距離、２５７は検出領域右端から基準マーク右端までの距離である。なお、基準マークの端から検出領域端までの距離２５４〜２５７は任意の値にすることが可能である。
【０１４１】
基準マーク検出部５０は、上述のステップＳ４３で検出された基準マーク角に対し、基準マークの垂直方向の大きさ２５１と基準マークの水平方向の大きさ２５２を割り当てて、基準マーク２ａの領域を設定する。更に、基準マーク２ａの領域に、検出領域上端から基準マーク上端までの距離２５４と検出領域下端から基準マーク下端までの距離２５５、検出領域の左端から基準マーク左端までの距離２５６、検出領域右端から基準マーク右端までの距離２５７を割り当てて、左上の基準マーク検出領域２５３を設定する。その後、基準マーク検出部５０は、基準マーク検出領域２５３の中から、従来技術と同様に、黒の連結領域を検出して形状および大きさが基準マークに最も類似する図形を基準マークと判定し、基準マークの位置座標を検出する。そして、基準マークの位置座標を文字切出部９０に出力する。
【０１４２】
以上に説明したように、第４の実施形態は、基準マークの形状および大きさに関する情報のみを用いることによって、基準マークの位置情報を用いることなく基準マークを検出することが可能となる。また、第４の実施形態は、基準マークの位置がフォーマット情報における位置から大きくズレても、検出することが可能である。そのため、文字切出しの精度を高めることができる。
【０１４３】
なお、基準マークの形状や大きさ、数、位置等は本実施形態に限定されるものではなく、適宜変更可能である。例えば、本実施形態では、背景及び基準マークの画像を黒、帳票領域の画像白と限定して説明したが、適宜変更可能である。また、走査の開始位置や画像ブロックの設定の仕方等も適宜変更可能である。更に、走査線の設定方法や設定位置、走査線同士の間隔等も適宜変更可能である。
【０１４４】
また、ステップＳ５１〜ステップＳ５４に示す帳票角を検出する順序やステップＳ８１〜ステップＳ８４に示す基準マーク角を検出する順序も適宜変更可能である。特に、これらは、常に４つ検出しなくても、必要な角のみ検出するようにすることができる。
【０１４５】
なお、第４の実施形態は、文字切出しのために設定した基準マークに限らず、マーク全般の検出にも有効である。
【０１４６】
第５の実施形態
第５の実施形態は、帳票に複数の基準マークが設定されている場合に、各基準マーク同士の位置関係を規定し、規定された基準マークの位置情報を用いて１つの基準マークから他の基準マークを検出できるようにした。
【０１４７】
図２６は基準マークの位置関係の例を示す図である。
【０１４８】
図２６中、１は帳票であり、２ａ〜２ｄは基準マーク、２６１〜２６４は上下左右に隣接する基準マーク２ａ〜２ｄの中心座標同士を結ぶ線と線の間の角度である。なお、本実施形態では角度２６１〜２６４を９０度に設定したものとする。
【０１４９】
図２７は第５の実施形態における基準マーク検出部５０の動作の概要を示すフローチャートである。
【０１５０】
基準マーク検出部５０は、ステップＳ１１１において、画像メモリ２０から帳票の画像イメージを取得するとともに、フォーマット情報メモリ３０から基準マークの形状情報と基準マークの位置情報を取得する。
【０１５１】
次に、基準マーク検出部５０は、ステップＳ１１２において帳票を検出し、ステップＳ１１３において基準マークの角を検出する。次に、ステップＳ１１４において、ステップＳ１１３で検出した基準マークの角に基づいて、画像イメージに対して基準マークを検出するための検出領域を設定する。次に、ステップＳ１１５において検出領域内の画像を走査して黒の連結領域を検出し、ステップＳ１１６において予め定められた基準マークの形状および大きさに最も類似する黒の連結領域を抽出して、この領域を基準マークと見なす。なお、ステップＳ１１２〜Ｓ１１６の動作は第４の実施形態のステップＳ４２〜Ｓ４６の動作と同じである。
【０１５２】
次に、基準マーク検出部５０は、ステップＳ１１７において、ステップＳ１１６で検出された基準マークの位置座標とフォーマット情報メモリ３０から取得した基準マークの位置情報とを比較し、検出した基準マークの位置座標が妥当か否かを判定する。判定は、画像イメージから検出された各基準マークの中心座標を算出し、これらを上下左右に隣接するもの同士で線を結び、これによって形成される線と線の間の角度を測定し、測定された角度をフォーマット情報メモリ３０から取得した基準マークの位置情報とを比較し、両者が所定の閾値内に収まっているか否かを識別することによって行われる。本実施形態では、全ての角度が約９０度であれば、検出した基準マークの位置座標が妥当であると判断される。
【０１５３】
ステップＳ１１７において、妥当であると判定されると、動作はステップＳ１１８に進み、検出した基準マークの位置座標を文字切出部９０に出力する。妥当でないと判定されると、ステップＳ１１２に戻り、ステップＳ１１２以降の動作を繰り返す。なお、再び、ステップＳ１１７で妥当でないと判定されると、基準マーク検出部５０は、基準マークの位置検出が不能である旨を文字切出部９０に出力する。
【０１５４】
なお、基準マーク検出部５０は、帳票１に付着した汚れ等を基準マークとして検出する場合がある。この場合においても、本実施形態では、以下のように、基準マークの妥当性を判定することによって正しい基準マークを検出することができる。
【０１５５】
図２８は基準マークの妥当性を判定する例を示す図である。図２８は、基準マーク検出部５０が５つの基準マークを検出したことを示している。図２８中、１は帳票であり、２ａ〜２ｄ及び２ｃ’は検出した基準マーク、２８１〜６８４は上下左右に隣接する基準マーク２ａ〜２ｄの中心座標同士を結ぶ線と線の間の角度、２８５〜２８７は上下左右に隣接する基準マーク２ａ，２ｂ，２ｃ’，２ｄの中心座標同士を結ぶ線と線の間の角度である。なお、基準マーク２ｃと基準マーク２ｃ’は同じ左下の帳票角付近に設定された検出領域において検出されたものとする。
【０１５６】
本実施形態において、基準マークは各帳票角付近の検出領域に１つづつ設定されているので、２ｃと２ｃ’のどちらかが妥当であり、どちらかが妥当でないものとなる。この場合、基準マーク検出部５０は、角度２８３と角度２８７を比較し、フォーマット情報メモリ３０から取得した基準マークの位置情報に近い方を妥当なものと見なす。本実施形態では、フォーマット情報メモリ３０から取得した基準マークの位置情報における角度２６３が９０度に設定されているので角度２８３の方を近いものと判定し、２ｃが基準マークとして妥当であると判断する。
【０１５７】
なお、第５の実施形態を文字読取装置に適用した場合は、以下のような構成になる。
【０１５８】
図２９は第５の実施形態を適用した文字読取装置の構成を示す図である。
【０１５９】
２０は、画像メモリであり、入力される画像データを格納する。
【０１６０】
３０は、フォーマット情報メモリであり、入力される画像の読取対象となる文字の領域の情報ならびに基準マークの形状および大きさに関する情報が格納されている。
【０１６１】
５０は、基準マーク検出部であり、画像メモリ２０に格納された帳票の画像イメージに対し、フォーマット情報メモリ３０に格納されている基準マークの形状情報や基準マークの位置情報を用いて基準マークを検出する。
【０１６２】
７０は、画像処理部であり、基準マーク検出部５０により検出された基準マークの位置に基づいて画像の傾きや帳票の方向を検出し、回転処理等を行って画像を補正する。
９０は、文字切出部であり、基準マーク検出部５０により検出した基準マーク位置座標を用いて画像メモリ２０から取得した画像イメージから文字を切出す。
【０１６３】
１００は、文字認識部であり、文字切出部９０で切出された文字に対して文字認識を行なう。
【０１６４】
１０１は、文字認識部１００が文字認識する際に用いられる文字認識辞書メモリである。
【０１６５】
このような構成において、文字読取装置は、以下のように動作する。
【０１６６】
まず、文字読取装置は、読取対象の画像データが入力されると、画像メモリ２０に画像データを格納する。
【０１６７】
その後、基準マーク検出部５０は、画像メモリ２０から画像イメージを取得するとともに、フォーマット情報メモリ３０から基準マークの形状情報および基準マークの位置情報を取得して、画像イメージから基準マークを検出する。このとき、画像補正部７０が基準マーク検出部５０にて検出された基準マーク位置座標に基づいて画像の傾きや帳票の方向を検出し、回転処理等を行って画像を補正する。その後、基準マーク検出部５０は、検出した基準マークの位置座標を文字切出部９０に出力する。
【０１６８】
文字切出部９０は、フォーマット情報メモリ３０に格納されている文字領域の座標を取得し、文字領域内の文字を切出して文字認識部１００に出力する。
【０１６９】
文字認識部１００は、文字切出部９０で切出された文字に対して認識処理を行い、認識結果を外部に出力する。
【０１７０】
以上に説明したように、第５の実施形態は、第４の実施形態の効果に加え、基準マークの位置情報の入手が困難な場合でも、画像の傾きや帳票の方向の検出が可能となる。また、基準マーク同士の間隔から文字領域の歪みを算出することができるので、これに合わせて文字領域の補正が可能となる。これにより、文字切出しや文字認識の精度も向上する。また、基準マークに類似した図形が検出された場合にも適正な基準マークを選択することが可能となり、これによっても文字切出しの精度が向上する。
【０１７１】
なお、本実施形態は、基準マークの検出に限定されるものではなき、マーク全般の検出に用いることができる。また、本実施形態の基準マークの位置情報は、角度に限定されるものではなく、適宜変更可能である。また、妥当性の判定における閾値は任意に設定可能である。また、基準マークの数や基準マークの位置も適宜変更可能である。但し、基準マークの位置情報を用いるので、２点以上が必要となる。
【０１７２】
なお、本発明は、上記実施形態に限定されず、種々の変形が可能である。この変形例としては、例えば、次の（ａ）〜（ｅ）のようなものがある。
（ａ）  図１のＯＣＲは、マーク領域算出部４０、及び基準マーク検出部５０等の個別の処理部を有しているが、これらの各処理部における処理をコンピュータを用いてプログラム制御で行うようにしても良い。
（ｂ）  図４に示したマーク検出方法では、白地に黒色の基準マーク２ａ等が付された帳票１について説明したが、黒地に白色の基準マークが付された帳票に対しても同様に適用可能である。
（ｃ）  基準マーク２ａ等は、必ずしも帳票１の四隅全部に付されている必要はなく、その数、形状、大きさ、及び位置等は変形可能である。
（ｄ）  基準マーク判定部６０における基準マークの検出方法は、ヒストグラムを用いた方法に限定されず、他の方法も同様に適用可能である。
（ｅ）  図３中のステップＳ２，Ｓ３，Ｓ４，Ｓ５を削除し、ステップＳ６，Ｓ７による基準マークの検出のみを行うようにしても良い。これにより、処理時間が増加する場合があるが、単純な処理で確実に基準マークを検出することができる。
【０１７３】
【発明の効果】
以上詳細に説明したように、第１から第３の発明によれば、以下のような効果を得ることができる。
【０１７４】
すなわち、帳票は帳票の四隅の角付近には書込みや汚れ、マーク等が付されている場合がほとんどない。そこで、本発明は、帳票の四隅の角付近に基準マークを設けるようにし、帳票を斜め方向に走査する。これにより、本発明は、基準マークと帳票角の間の領域に書込みや汚れ、マーク等がほとんど付されていないので、これらを検出する場合が少なくなる。そのため、これらを基準マークか否かを判定する処理を行なう場合が従来構成よりも少なくなり、処理効率が従来構成よりも高くなるという効果がある。
【０１７５】
第４から第６の発明によれば、画像メモリ中の画像イメージを斜め方向に順次走査して基準マークの一角を検出し、その位置に基づいて他の基準マークの位置を検出する検出手段を備えている。これにより、確実に基準マークを検出することができるという効果がある。
【０１７６】
第７の発明によれば、帳票の基準マークの位置情報に基づいて画像イメージ中の基準マークの位置を検出する第１の検出手段と、画像イメージを斜めに順次走査して基準マークの一角を検出し、これに基づいて基準マークの位置を検出する第２の検出手段と、第１または第２の検出手段を選択する選択手段とを備えている。これにより、読取手段の位置精度に応じて効率の良い検出手段を選択することができるという効果がある。
【０１７７】
第８の発明によれば、読取手段の読取位置の許容範囲の情報に基づいて、第１または第２の検出手段のいずれか一方を選択する選択手段を有している。これにより、効率的に検出手段を選択できるという効果がある。
【０１７８】
第９の発明によれば、最初に第１の検出手段を選択し、この第１の検出手段で基準マークが検出できない場合に、第２の検出手段を選択する選択手段を有している。これにより、確実に基準マークを検出することができるという効果がある。
【０１７９】
第１０から第１３の発明によれば、マーク形状情報に類似するマークを検出すればよいので、基準マーク位置情報を用いることなく基準マークを検出することが可能になる。また、基準マークの位置がフォーマット情報における位置から大きくズレても、検出することが可能である。そのため、文字切出しの精度を高めることができる。
【０１８０】
第１４から第１８の発明によれば、第１０の発明の効果に加え、基準マークの位置情報の入手が困難な場合でも、画像の傾きや帳票の方向の検出が可能となる。また、基準マーク同士の間隔から文字領域の歪みを算出することができるので、これに合わせて文字領域の補正が可能となる。これにより、文字切出しや文字認識の精度も向上する。また、基準マークに類似した図形が検出された場合にも適正な基準マークを選択することが可能となり、これによっても文字切出しの精度が向上する。
【図面の簡単な説明】
【図１】本発明の第１の実施形態を示すＯＣＲの概略の構成図である。
【図２】図１のＯＣＲにおける基準マーク検出方法の説明図である。
【図３】図１のＯＣＲの動作の概要を示すフローチャートである。
【図４】図１中の基準マーク検出部５０における基準マークの検出方法の説明図である。
【図５】図１中の基準マーク検出部５０の動作の一例を示すフローチャートである。
【図６】本発明の第２の実施形態を示すＯＣＲの動作の概要を示すフローチャートである。
【図７】本発明の第３の実施形態を示すＯＣＲの動作の概要を示すフローチャートである。
【図８】従来のＯＣＲの構成を示す図である。
【図９】従来技術における基準マーク検出部の動作の概要を示すフローチャートである。
【図１０】第４の実施形態における基準マーク検出部の動作の概要を示すフローチャートである。
【図１１】帳票角の検出方法を示す図である。
【図１２】帳票領域検出処理の流れを示す図である。
【図１３】領域２１ａの拡大図である。
【図１４】帳票角検出の動作を示すフローチャートである。
【図１５】背景と判定される場合の画像ブロックの例を示す図である。
【図１６】帳票と判定される場合の画像ブロックの例を示す図である。
【図１７】背景領域がない場合の左上の帳票角付近の拡大図である。
【図１８】領域２１ａの拡大図である。
【図１９】基準マーク角の検出方法を示す図である。
【図２０】基準マーク角検出処理の流れを示す図である。
【図２１】領域２１ａの拡大図である。
【図２２】基準マーク角検出の動作を示すフローチャートである。
【図２３】帳票と判定される場合の画像ブロックの例を示す図である。
【図２４】基準マークと判定される場合の画像ブロックの例を示す図である。
【図２５】基準マークの検出領域の例を示す図である。
【図２６】基準マークの位置関係の例を示す図である。
【図２７】第５の実施形態における基準マーク検出部の動作の概要を示すフローチャートである。
【図２８】基準マークの妥当性を判定する例を示す図である。
【図２９】第５の実施形態を適用した文字読取装置の構成を示す図である。
【符号の説明】
１    帳票
２ａ，２ｂ，…    基準マーク
１０    イメージスキャナ
２０    画像メモリ
３０    フォーマット情報メモリ
４０，５２    マーク領域算出部
５０    基準マーク検出部
５１    マーク角検出部
６０    基準マーク判定部
１００    文字認識部
１０１    文字辞書
１１０    制御部
【図１】
0004329226.tif 000002
【図２】
0004329226.tif 000003
【図３】
0004329226.tif 000004
【図４】
0004329226.tif 000005
【図５】
0004329226.tif 000006
【図６】
0004329226.tif 000007
【図７】
0004329226.tif 000008
【図８】
0004329226.tif 000009
【図９】
0004329226.tif 000010
【図１０】
0004329226.tif 000011
【図１１】
0004329226.tif 000012
【図１２】
0004329226.tif 000013
【図１３】
0004329226.tif 000014
【図１４】
0004329226.tif 000015
【図１５】
0004329226.tif 000016
【図１６】
0004329226.tif 000017
【図１７】
0004329226.tif 000018
【図１８】
0004329226.tif 000019
【図１９】
0004329226.tif 000020
【図２０】
0004329226.tif 000021
【図２１】
0004329226.tif 000022
【図２２】
0004329226.tif 000023
【図２３】
0004329226.tif 000024
【図２４】
0004329226.tif 000025
【図２５】
0004329226.tif 000026
【図２６】
0004329226.tif 000027
【図２７】
0004329226.tif 000028
【図２８】
0004329226.tif 000029
【図２９】
0004329226.tif 000030