(57)【特許請求の範囲】
【請求項１】
画像から一の表領域を抽出する抽出部と、
前記表領域に含まれる文字画像から文字列を認識する文字認識部と、
認識した文字列のうち、数字からなる文字列を数値データに変換する変換部と、
認識した文字列のうち、演算の種類を特定する文字列に基づいて演算式を定義する定義部と、
前記数値データと前記演算式とに基づいて演算する演算部と、
前記演算部での演算値と前記数値データとを比較する比較部と、
前記演算値と前記数値データとが一致しない場合にその旨を報知する報知部と、を有する画像認識装置。
【請求項２】
前記報知部は、認識した文字列の色属性を変更し、または、認識した文字列を文字修飾して、一致しない旨を報知する請求項１に記載の画像認識装置。
【請求項３】
表の構造および演算の種類を特定する文字列を含んでいる、複数の表フォーマットを記憶する第１記憶部と、
各表フォーマットの演算式を記憶する第２記憶部と、
前記表領域における矩形枠相互の位置関係および認識された文字列に基づいて、表の構造および演算の種類を特定する文字列が合致する表フォーマットを選択する選択部と、をさらに有し、
前記定義部は、前記選択部により選択された表フォーマットに対応する演算式を前記第２記憶部から呼び出して定義する請求項１に記載の画像認識装置。
【請求項４】
表の構造および演算の種類を特定する文字列を含んでいる、複数の表フォーマットを設定する第１設定部と、
各表フォーマットの演算式を設定する第２設定部と、をさらに有する請求項３に記載の画像認識装置。
【請求項５】
演算の種類を特定する文字列を記憶する第１記憶部と、
演算の種類を特定する文字列に応じた演算式を記憶する第２記憶部と、
認識された文字列に基づいて、演算の種類を特定する文字列が合致する演算式を選択する選択部と、をさらに有し、
前記定義部は、前記選択部により選択された演算式を前記第２記憶部から呼び出して定義する請求項１に記載の画像認識装置。
【請求項６】
演算の種類を特定する文字列を設定する第１設定部と、
演算の種類を特定する文字列に応じた演算式を設定する第２設定部と、をさらに有する請求項５に記載の画像認識装置。
【請求項７】
演算の種類を特定する文字列が存在する位置を識別する識別部、をさらに有し、
前記演算部は、表における行の項目名を示す行ラベルに前記文字列が存在するときには定義された演算式にしたがって列方向に演算し、列の項目名を示す列ラベルに前記文字列が存在するときには定義された演算式にしたがって行方向に演算する請求項５に記載の画像認識装置。
【請求項８】
演算の種類を特定する文字列は、「平均」、「合計」、「小計」または「計」の文字を含んでいる請求項３〜請求項７の何れか一つに記載の画像認識装置。
【請求項９】
原稿を読み取る読み取り部と、
画像から一の表領域を抽出する抽出部と、
前記表領域に含まれる文字画像から文字列を認識する文字認識部と、
認識した文字列のうち、数字からなる文字列を数値データに変換する変換部と、
認識した文字列のうち、演算の種類を特定する文字列に基づいて演算式を定義する定義部と、
前記数値データと前記演算式とに基づいて演算する演算部と、
前記演算部での演算値と前記数値データとを比較する比較部と、
前記演算値と前記数値データとが一致しない場合にその旨を報知する画像を形成する形成部と、
前記形成部により形成した画像を出力する出力部と、を有する画像形成装置。
【請求項１０】
前記出力部から出力された画像を印刷する印刷部、をさらに有する請求項９に記載の画像形成装置。
【請求項１１】
画像から一の表領域を抽出するステップと、
前記表領域に含まれる文字画像から文字列を認識するステップと、
認識した文字列のうち、数字からなる文字列を数値データに変換するステップと、
認識した文字列のうち、演算の種類を特定する文字列に基づいて演算式を定義するステップと、
前記数値データと前記演算式とに基づいて演算するステップと、
前記演算部での演算値と前記数値データとを比較するステップと、
前記演算値と前記数値データとが一致しない場合にその旨を報知するステップと、を有する画像認識方法。
【請求項１２】
画像から一の表領域を抽出する手順と、
前記表領域に含まれる文字画像から文字列を認識する手順と、
認識した文字列のうち、数字からなる文字列を数値データに変換する手順と、
認識した文字列のうち、演算の種類を特定する文字列に基づいて演算式を定義する手順と、
前記数値データと前記演算式とに基づいて演算する手順と、
前記演算部での演算値と前記数値データとを比較する手順と、
前記演算値と前記数値データとが一致しない場合にその旨を報知する手順と、を有する画像認識プログラムを記憶したコンピュータ読取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像を文字認識し、表内の数値データの検算を行う画像認識技術に関する。
【０００２】
【従来の技術および発明が解決しようとする課題】
原稿をスキャナにより読み取り、読み取った画像から文字列を認識したり、表レイアウトを認識したりする、光学式文字読取（ＯＣＲ）技術が知られている。例えば、特開平２−６１７７５号公報には、画像から表領域を抽出したり、罫線で囲まれた矩形枠を抽出したりする画像認識技術が記載されている。また、特許第２９２６０６６号公報には、画像から文字ブロックを抽出し、抽出した文字ブロック相互の位置関係に基づいて表の構造を認識する画像認識技術が記載されている。
【０００３】
ところで、文字認識の精度は、高くなってきているものの、誤認識することなく完全に文字を認識する程度には至っていない。
【０００４】
認識された文字列が漢字、ひらがな、カタカナ、アルファベットなどの文字からなる場合には、ユーザは、文章の前後関係や単語の知識により、誤認識された文字を比較的簡単に見つけ出して修正することができる。
【０００５】
一方、認識された文字列が数字からなる場合には、数字が前後の数字と無関係に並ぶため、ユーザは、数字が誤認識されているか否かを判断することが困難である。表における数字が１箇所でも誤認識されると、当該表の中には似たような数字が列挙されるため、ユーザは、数字が誤認識されていることに気付き難い。数字からなる文字列では、原稿と認識結果とを対比しながら誤認識の個所を探し出しているのが実情である。この作業は、煩雑で、時間を要する作業である。このため、数字の認識結果の正誤のチェックを簡単にし、事務作業の効率化を高めることが強く要求されている。
【０００６】
また、原稿に記載された数字そのものが誤って記載されている虞もある。原稿をコピーするときや、ＯＣＲ処理を行うアプリケーションソフトを使用するときに、表における数字の誤記をチェックできれば、事務作業上、ひじょうに便利である。
【０００７】
しかしながら、従来技術には、数字の認識結果の正誤をチェックしたり、原稿作成時の数字の誤記をチェックしたりする点を考慮したものはない。
【０００８】
そこで、本発明は、数字の認識結果の正誤や、原稿作成時の数字の誤記を簡単にチェックし得る画像認識技術を提供することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するための本発明は、各請求項ごとに次のように構成される。
【００１０】
（１）画像から一の表領域を抽出する抽出部と、
前記表領域に含まれる文字画像から文字列を認識する文字認識部と、
認識した文字列のうち、数字からなる文字列を数値データに変換する変換部と、
認識した文字列のうち、演算の種類を特定する文字列に基づいて演算式を定義する定義部と、
前記数値データと前記演算式とに基づいて演算する演算部と、
前記演算部での演算値と前記数値データとを比較する比較部と、
前記演算値と前記数値データとが一致しない場合にその旨を報知する報知部と、を有する画像認識装置である。
【００１１】
（２）前記報知部は、認識した文字列の色属性を変更し、または、認識した文字列を文字修飾して、一致しない旨を報知する上記（１）に記載の画像認識装置である。
【００１２】
（３）表の構造および演算の種類を特定する文字列を含んでいる、複数の表フォーマットを記憶する第１記憶部と、
各表フォーマットの演算式を記憶する第２記憶部と、
前記表領域における矩形枠相互の位置関係および認識された文字列に基づいて、表の構造および演算の種類を特定する文字列が合致する表フォーマットを選択する選択部と、をさらに有し、
前記定義部は、前記選択部により選択された表フォーマットに対応する演算式を前記第２記憶部から呼び出して定義する上記（１）に記載の画像認識装置である。
【００１３】
（４）表の構造および演算の種類を特定する文字列を含んでいる、複数の表フォーマットを設定する第１設定部と、
各表フォーマットの演算式を設定する第２設定部と、をさらに有する上記（３）に記載の画像認識装置である。
【００１４】
（５）演算の種類を特定する文字列を記憶する第１記憶部と、
演算の種類を特定する文字列に応じた演算式を記憶する第２記憶部と、
認識された文字列に基づいて、演算の種類を特定する文字列が合致する演算式を選択する選択部と、をさらに有し、
前記定義部は、前記選択部により選択された演算式を前記第２記憶部から呼び出して定義する上記（１）に記載の画像認識装置である。
【００１５】
（６）演算の種類を特定する文字列を設定する第１設定部と、
演算の種類を特定する文字列に応じた演算式を設定する第２設定部と、をさらに有する上記（５）に記載の画像認識装置である。
【００１６】
（７）演算の種類を特定する文字列が存在する位置を識別する識別部、をさらに有し、
前記演算部は、表における行の項目名を示す行ラベルに前記文字列が存在するときには定義された演算式にしたがって列方向に演算し、列の項目名を示す列ラベルに前記文字列が存在するときには定義された演算式にしたがって行方向に演算する上記（５）に記載の画像認識装置である。
【００１７】
（８）演算の種類を特定する文字列は、「平均」、「合計」、「小計」または「計」の文字を含んでいる上記（３）〜（７）の何れか一つに記載の画像認識装置である。
【００１８】
（９）原稿を読み取る読み取り部と、
画像から一の表領域を抽出する抽出部と、
前記表領域に含まれる文字画像から文字列を認識する文字認識部と、
認識した文字列のうち、数字からなる文字列を数値データに変換する変換部と、
認識した文字列のうち、演算の種類を特定する文字列に基づいて演算式を定義する定義部と、
前記数値データと前記演算式とに基づいて演算する演算部と、
前記演算部での演算値と前記数値データとを比較する比較部と、
前記演算値と前記数値データとが一致しない場合にその旨を報知する画像を形成する形成部と、
前記形成部により形成した画像を出力する出力部と、を有する画像形成装置である。
【００１９】
（１０）前記出力部から出力された画像を印刷する印刷部、をさらに有する上記（９）に記載の画像形成装置である。
【００２０】
（１１）画像から一の表領域を抽出するステップと、
前記表領域に含まれる文字画像から文字列を認識するステップと、
認識した文字列のうち、数字からなる文字列を数値データに変換するステップと、
認識した文字列のうち、演算の種類を特定する文字列に基づいて演算式を定義するステップと、
前記数値データと前記演算式とに基づいて演算するステップと、
前記演算部での演算値と前記数値データとを比較するステップと、
前記演算値と前記数値データとが一致しない場合にその旨を報知するステップと、を有する画像認識方法である。
【００２１】
（１２）画像から一の表領域を抽出する手順と、
前記表領域に含まれる文字画像から文字列を認識する手順と、
認識した文字列のうち、数字からなる文字列を数値データに変換する手順と、
認識した文字列のうち、演算の種類を特定する文字列に基づいて演算式を定義する手順と、
前記数値データと前記演算式とに基づいて演算する手順と、
前記演算部での演算値と前記数値データとを比較する手順と、
前記演算値と前記数値データとが一致しない場合にその旨を報知する手順と、を有する画像認識プログラムを記憶したコンピュータ読取り可能な記録媒体である。
【００２２】
【発明の実施の形態】
以下、本発明の実施の形態を、図面を参照しつつ説明する。
【００２３】
図１は、画像形成システムの構成を示す構成図である。
【００２４】
画像形成システム１０は、ネットワーク１１を介して、原稿を読み取るスキャナ１２と、画像を印刷するプリンタ１３と、デジタル複写機１４とが相互に接続されている。スキャナ１２で読み取った画像は、プリンタ１３で印刷できるほか、デジタル複写機１４においても印刷できる。デジタル複写機１４は、原稿の読み取りおよび画像の印刷を行うほか、ネットワーク１１を介して、読み取った画像をプリンタ１３や図示しないパソコンに出力することができる。本発明は、デジタル複写機１４に適用されている。
【００２５】
図２は、デジタル複写機１４の概略構成を示すブロック図である。
【００２６】
デジタル複写機１４は、原稿を読み取る読み取り部２１と、読み取った画像を処理する画像処理部２２と、処理された画像を印刷する印刷部２３と、ユーザがキー操作する操作パネル部２４と、記憶部２５と、各部を制御する制御部２６と、を有する。
【００２７】
読み取り部２１は、自動原稿搬送装置（ＡＤＦ）２７を備える。ＡＤＦ２７上に積載された複数枚の原稿は、一枚ずつ、所定の読み取り位置まで搬送される。
操作パネル部２４には、種々の画面が表示される液晶タッチパネルと、コピー枚数などを設定するテンキーと、動作の停止を指示するスタートキーと、動作の停止を指示するストップキーと、が設けられている。ユーザは、操作パネル部２４を操作し、表示画面やコピーモードを切り替えたり、コピー枚数などを入力したりする。
【００２８】
画像処理部２２は、ＯＣＲ部３１と、領域判別部３２と、表領域抽出部３３と、表演算部３４、検算部３５と、コピー処理部３６と、２値化部３７と、を有する。
【００２９】
ＯＣＲ部３１は、読み取った画像から文字画像を順次切り出し、当該文字画像を認識して文字コードデータに変換する。ＯＣＲ部３１は、テキスト領域および表領域に含まれる文字画像を文字認識の対象とする。認識可能な文字には、文字コードデータが割り振られている文字、数字および記号のすべてが含まれ、さらに、ユーザがパターン登録した外字も含まれる。ＯＣＲ部３１はまた、フォントおよびフォントサイズを認識する。
【００３０】
領域判別部３２は、画像に含まれるテキスト領域、図形領域および表領域を判別し、前記画像を各領域ごとに分離する。テキスト領域は、文字列のみを含む領域である。図形領域は、文字認識が不可能な図形や写真を含む領域である。表領域は、罫線に囲まれた矩形枠と、矩形枠の中に配置された文字列とを含む領域である。
【００３１】
表領域抽出部３３は、表領域の罫線を認識し、表を構成する個々の矩形枠を抽出する。
【００３２】
表演算部３４は、表領域内で認識された文字列のうち、数字からなる文字列を数値データに変換する。表演算部３４は、認識した文字列のうち、特定の文字列に基づいて演算式を定義する。表演算部３４はさらに、変換した数値データと、定義された演算式とに基づいて、所定の演算処理を実行する。
【００３３】
検算部３５は、表演算部３４で処理された演算値と、検算対象の数値データとを比較し、演算値と数値データとが一致しているか否かを判断する。
【００３４】
コピー処理部３６は、スムージングやエッジ強調等のコピー画像処理を行い、２値化部３７は、入力された画像に対して２値化処理を行う。
【００３５】
記憶部２５は、画像処理に必要なパラメータを記憶する。
【００３６】
図３は、ＯＣＲ処理により認識された表４１の例を示す図である。
【００３７】
図３に示すように、認識された表４１は、７行×６列の表構造を有する。なお、説明上、最も上側の先頭行を第１行とし、下に向けて順次、第２行、第３行…第７行とする。また、最も左側の先頭列を列「Ａ」とし、右に向けて順次、列「Ｂ」、列「Ｃ」…列「Ｆ」とする。表の各セルは、列の名前と、行の番号とによって位置が特定され、「セルＢ２」のように呼ばれる。セルＢ２では、文字列「７０」が認識されている。
【００３８】
表４１の先頭列（列「Ａ」）は行の項目名を示す行ラベルに割り当てられ、先頭行（第１行）は列の項目名を示す列ラベルに割り当てられている。
【００３９】
先頭列（列「Ａ」）の第２行〜第６行では、行の項目名を示す文字列「国語」「算数」「理科」「社会」および「英語」が認識されている。セルＡ７では、演算の種類を特定する文字列「合計」が認識されている。演算の種類を特定する文字列を、以下、「特定文字列」という。
【００４０】
先頭行（第１行）の列「Ｂ」〜列「Ｅ」では、列の項目名を示す文字列「ａ」「ｂ」「ｃ」および「ｄ」が認識されている。セルＦ１では、特定文字列「平均」が認識されている。
【００４１】
その他のセルでは、図示するように、数字からなる文字列が認識されている。
【００４２】
図４（Ａ）は、原稿に記載されている表４２ａの例を示し、同図（Ｂ）は、同図（Ａ）に示される表４２ａをＯＣＲ処理により認識した表４２ｂを示す図であり、合計欄の数字に関し、千の位の数字が「８」と誤認識されている例を示している。
【００４３】
図４（Ｂ）に示すように、認識された表４２ｂは、１１行×２列の表構造を有する。先頭列（列「Ａ」）の第２行〜第１０行では、行の項目名を示す文字列「電車」「バス」…「宿泊費」が認識されている。セルＡ１１では、特定文字列「合計」が認識されている。先頭行（第１行）の列「Ｂ」では、列の項目名を示す文字列「旅費」が認識されている。列ラベルには、特定文字列は存在しない。
【００４４】
図５は、ＯＣＲ処理により認識された表４３の他の例を示す図である。
【００４５】
図５に示すように、認識された表４３は、３行×６列の表構造を有する。先頭列（列「Ａ」）の第２行および第３行では、行の項目名を示す文字列「電気」および「ガス」が認識されている。行ラベルには、特定文字列は存在しない。先頭行（第１行）の列「Ｂ」〜列「Ｅ」では、列の項目名を示す文字列「１９９９年４月」…「１９９９年７月」が認識されている。セルＦ１では、特定文字列「合計」が認識されている。
【００４６】
図６は、表フォーマット５１の一例を示す図、図７は、演算テーブル５２の一例を示す図、図８は、検算テーブル５３の一例を示す図、図９は、演算式テーブル５４の一例を示す図である。
【００４７】
記憶部２５は、図６に一例が示されるような表フォーマット５１を複数個記憶する。表フォーマットは、表の構造および特定文字列を含んだものである。特定文字列は、「平均」、「合計」、「小計」または「計」の文字を含んでいる。
【００４８】
図６に示す表フォーマット５１は、７行×６列の表構造を有する。先頭列（列「Ａ」）の第２行〜第６行は、任意の文字が配置される第１〜第５の文字領域とされている。セルＡ７には、特定文字列「合計」がセットされている。先頭行（第１行）の列「Ｂ」〜列「Ｅ」は、任意の文字が配置される第６〜第９の文字領域とされている。セルＦ１には、特定文字列「平均」がセットされている。その他のセルは、図示するように、任意の数値データが配置される第１〜第２９の数値領域とされている。したがって、図３に示される表４１と、図６に示される表フォーマット５１とは、表の構造が合致し、特定文字列も合致する。
【００４９】
なお、本実施形態では、図４（Ｂ）および図５に示される表４２ｂ、４３に合致する表フォーマットは記憶部２５に記憶されていない。
【００５０】
記憶部２５はさらに、図７に一例が示されるような演算テーブル５２を記憶する。演算テーブル５２は、各表フォーマットごとの演算式を記述したものである。図７は、演算テーブル５２のうち、表フォーマット５１用の演算式が記述された部分を示している。
【００５１】
表フォーマット５１のセルＡ７には特定文字列「合計」が存在する。これに対応して、演算テーブル５２には、列方向に演算を行う演算式が記述されている。つまり、第１〜第５の数値領域の各数値データを加算した演算値を、変数ＳＵＭ１にセットする演算式が記述されている。ＳＵＭ２、３および４についても同様である。表フォーマット５１のセルＦ１には特定文字列「平均」が存在する。これに対応して、演算テーブル５２には、行方向に演算を行う演算式が記述されている。つまり、第１、７、１３および１９の数値領域の各数値データの和を個数４で除算した演算値を、変数ＡＶＥ１にセットする演算式が記述されている。ＡＶＥ２、３、４および５についても同様である。
【００５２】
記憶部２５はさらに、図８に一例が示されるような検算テーブル５３を記憶する。検算テーブル５３は、各表フォーマットごとの検算式を記述したものである。図８は、検算テーブル５３のうち、表フォーマット５１用の検算式が記述された部分を示している。
【００５３】
列「Ｂ」については、変数ＳＵＭ１にセットされた演算値と、第６数値領域の数値データとを比較する検算式が記述されている。列「Ｃ」「Ｄ」および「Ｅ」についても同様である。第２行については、変数ＡＶＥ１にセットされた演算値と、第２５数値領域の数値データとを比較する検算式が記述されている。第３、４、５および６行についても同様である。
【００５４】
記憶部２５はさらに、図９に一例が示されるような演算式テーブル５４を記憶する。演算式テーブル５４は、特定文字列と、その文字列に応じた演算式とを記述したものである。特定文字列は、前述したように、「平均」、「合計」、「小計」または「計」の文字または文字列を含んでいる。図示するように、特定文字列「合計」や「計」に対しては、加算を行う演算式「＋」が記述されている。また、特定文字列「平均」に対しては、合計を個数Ｎで除算する演算式「合計÷Ｎ」が記述されている。
【００５５】
図１０〜図１２は、本実施形態の作用を説明するフローチャートである。図１０は、メインフローチャートを示している。
【００５６】
デジタル複写機１４は、まず原稿を読み取り、読み取った画像の全体をＯＣＲ処理する（Ｓ１１）。次いで、読み取った画像に含まれるテキスト領域、図形領域および表領域が判別される（Ｓ１２）。
【００５７】
表領域が存在しない場合には（Ｓ１３「Ｎｏ」）、出力処理される（Ｓ２０）。印刷出力するときには、読み取った画像は、エッジ強調やスムージングなどの通常のコピー画像処理が施され、２値化処理され、印刷される。
【００５８】
表領域が存在する場合には（Ｓ１３「Ｙｅｓ」）、画像から表領域を抽出する処理が実行される（Ｓ１４）。この処理において、罫線で囲まれた矩形枠が表領域から抽出される。それぞれの矩形枠に含まれる文字画像は、順次切り出され、当該文字画像が認識されて文字コードデータに変換される。認識した文字列のうち数字（例えば、アラビア数字）からなる文字列は、数値データに変換される。
【００５９】
複数の表フォーマットの中に、認識された表と一致するフォーマットが存在するか否かが判断される（Ｓ１５）。この判断は、表領域における矩形枠相互の位置関係に基づいて定まる表の構造を各表フォーマットの構造と比較し、さらに、認識された文字列に基づいて定まる特定文字列を表フォーマットにセットされている文字列と比較することにより、行われる。
【００６０】
認識された表に合致する表フォーマットが記憶部２５に記憶されている場合には、認識された表と表フォーマットとが一致すると判断され（Ｓ１５「Ｙｅｓ」）、第１の表演算処理が実行される（Ｓ１６）。認識された表に合致する表フォーマットが記憶部２５に記憶されていない場合には、一致しないと判断され（Ｓ１５「Ｎｏ」）、第２の表演算処理が実行される（Ｓ１７）。
【００６１】
第１の表演算処理（Ｓ１６）では、一致した表フォーマットが選択される。選択された表フォーマットに対応する演算式が、演算テーブル５２から呼び出され、定義される。数値データは、定義された演算式にしたがって演算される。さらに、選択された表フォーマットに対応する検算式が、検算テーブル５３から呼び出され、定義される。
【００６２】
第２の表演算処理（Ｓ１７）では、認識された表に含まれる特定文字列に合致する演算式が、演算式テーブル５４から呼び出され、定義される。数値データは、定義された演算式にしたがって演算される。検算式は、特定文字列の位置に応じて、定義される。
【００６３】
次いで、検算処理が実行される（Ｓ１８）。検算処理では、演算値と検算対象の数値データとが比較される（Ｓ１８）。その後、出力処理される（Ｓ１９）。
【００６４】
表領域の判別処理（Ｓ１２）および矩形枠の抽出処理（Ｓ１４）の手順を説明する。
【００６５】
表領域の判別や罫線で囲まれた矩形枠を抽出する方式には、黒画素の分布を用いる方式（例えば、特開平２−６１７７５号公報を参照）や、表を構成する罫線をベクトル線分に変換する方式など、種々の方式が知られている。本実施形態では、前者の、黒画素の分布を使用する方式により、表領域を判別し、矩形枠を抽出している。
【００６６】
図１３は、原稿に記載された表６１の一例を、水平方向および垂直方向の黒画素の分布を表すヒストグラムとともに示す図である。同図において、水平方向に黒画素の分布をとった結果のヒストグラムは符号「６２」で示され、垂直方向に黒画素の分布をとった結果のヒストグラムは符号「６３」で示される。また、図１４および図１５は、表領域を判別すると共に矩形枠を抽出する手順の説明に供する図である。これらの図において、罫線候補は破線で示され、決定した罫線は実線で示される。
【００６７】
まず、画像全体に対して水平・垂直方向に黒画素の周辺分布をとる。図１３に示すように、黒画素が多く存在する位置ではヒストグラムの山が高くなる。また、罫線の幅は文字の大きさに比べ十分に狭いことから、ヒストグラムの山の幅が大きな位置には文字が存在し、山の幅が小さい位置には罫線が存在すると推定できる。したがって、周辺分布のヒストグラムにおいて所定のしきい値以上の高さを持つ山の位置から、縦罫線および横罫線の位置が推定され、罫線候補が抽出される。図１４（Ａ）は、抽出された罫線候補を示している。
【００６８】
次いで、図１４（Ｂ）に示すように、抽出された罫線候補に基づいて外枠罫線６４を決定する。この外枠罫線６４で囲まれる範囲が表領域であると判別される。
【００６９】
次いで、図１４（Ｃ）に示すように、抽出された罫線候補の中から、その両端が外枠罫線６４と接する罫線候補を罫線６５として求める。図１５（Ｄ）に示すように、これまでに求めた罫線６４、６５で囲まれるブロックを抽出する。
【００７０】
抽出したブロックに対して上記の処理を繰り返すことにより、罫線で囲まれるブロックを順次分割していく。そして、ブロック内に罫線候補が抽出されなくなるまで分割されたならば、そのブロックを、罫線で囲まれた矩形枠として採用する。図１５（Ｅ）は、図１３に示される表を読み取った画像から抽出されたそれぞれの矩形枠６６を示している。
【００７１】
図３に示される表４１を例に挙げつつ、第１の表演算処理（Ｓ１６）および検算処理（Ｓ１８）を具体的に説明する。図１１は、検算処理の手順を示すフローチャートである。
【００７２】
図３に示される表４１の場合には、図６に示した表フォーマット５１に一致すると判断され（Ｓ１５「Ｙｅｓ」）、第１の表演算処理が実行される（Ｓ１６）。表フォーマット５１の演算式は、図７の演算テーブル５２に記述された演算式が使用される。演算式にしたがって演算される。例えば、ＳＵＭ１については、第１〜第５の数値領域に配置された数字からなる文字列が数値データに変換され、第１数値領域の数値データ＋第２数値領域の数値データ＋第３数値領域の数値データ＋第４数値領域の数値データ＋第５数値領域の数値データが演算される。
つまり、
ＳＵＭ１←７０＋８５＋７８＋７５＋８１
と演算される。以下、同様に、
ＳＵＭ２←８３＋７６＋７３＋９１＋８８
ＳＵＭ３←７７＋６８＋６４＋７９＋９３
ＳＵＭ４←６１＋６０＋６５＋６６＋６９
ＡＶＥ１←（７０＋８３＋７７＋６１）／４
ＡＶＥ２←（８５＋７６＋６８＋６０）／４
ＡＶＥ３←（７８＋７３＋６４＋６５）／４
ＡＶＥ４←（７５＋９１＋７９＋６６）／４
ＡＶＥ５←（８１＋８８＋９３＋６９）／４
と演算される。
【００７３】
表フォーマット５１の検算式は、図８の検算テーブル５３に記述された検算式が使用される。検算式にしたがって次の比較がなされる。ＳＵＭ１については、第６数値領域に配置された数字からなる文字列が数値データに変換され、ＳＵＭ１にセットされた演算値と第６数値領域の数値データとが比較される（図１１のＳ２１）。つまり、
ＳＵＭ１と３８９
とが比較される。以下、同様に、
ＳＵＭ２と４１１
ＳＵＭ３と３８１
ＳＵＭ４と３２１
ＡＶＥ１と７２．７５
ＡＶＥ２と７２．２５
ＡＶＥ３と７０
ＡＶＥ４と７７．７５
ＡＶＥ５と８２．７５
とが比較される。
【００７４】
比較の結果、ＳＵＭ１にセットされた演算値と、第６数値領域の数値データとが等しいと判断される。ＳＵＭ２〜ＡＶＥ５についても、演算値と数値データとが等しいと判断される。演算値と数値データとがすべて一致する場合には（Ｓ２１「Ｙｅｓ」）、ＯＣＲ処理において数字が誤認識されることなく正しく認識されている、あるいは、原稿に数字が正しく記載されている、と言える。このように、「正しい」という検算結果が得られると、文字認識の結果は、そのまま出力される（Ｓ１９）。
【００７５】
仮に、ＳＵＭ１にセットされた演算値と第６数値領域の数値データとが等しくないとする。演算値と数値データとが一致しない場合としては、（１）数字を認識する段階において誤認識が生じた、あるいは、（２）原稿自体を作成した段階で数字の記載ミスがあった、の何れかであると考えられる。
【００７６】
そこで、演算値と検算対象の数値データとが一致しない場合は（Ｓ２１「Ｎｏ」）、演算値と数値データとが一致しない旨がユーザに報知される（Ｓ２２）。具体的には、第６数値領域に配置される文字列の色属性を変更したり、文字列を文字修飾したりして、出力する。列「Ｂ」に配置されるすべての文字列の色属性を変更したり、文字列を文字修飾したりしてもよい。エラーメッセージを操作パネル部２４に表示することにより、一致しない旨を報知することもできる。
【００７７】
この報知により、ユーザは、誤認識あるいは原稿の作成ミスがあることを、一目見るだけで、簡単かつ迅速に把握できる。しかも、チェックすべき列や行を把握できるため、その後の修正作業を簡単かつ迅速に行い得る。
【００７８】
図４（Ｂ）および図５に示される表４２ｂ、４３を例に挙げつつ、第２の表演算処理（Ｓ１７）および検算処理（Ｓ１８）を具体的に説明する。図１２は、第２の表演算処理の手順を示すフローチャートである。
【００７９】
まず、認識した表内の文字列に、演算式テーブル５４に格納されている文字列と一致する文字列が存在するか否かが判断される（Ｓ３１「Ｎｏ」、Ｓ３２）。一致する文字列が存在する場合には（Ｓ３２「Ｙｅｓ」）、演算式テーブル５４から、特定文字列が合致する演算式を選択し、当該演算式を呼び出して定義する。
【００８０】
図４（Ｂ）や図５に示される表４２ｂ、４３では、「合計」という文字列が、演算式テーブル５４に格納されている文字列と一致する。特定文字列「合計」に対応して、加算を行う演算式「＋」が定義される。
【００８１】
次いで、特定文字列が存在する表内の位置が識別される（Ｓ３３、３５）。表４２ｂでは、特定文字列「合計」が先頭列の一番下の行（セルＡ１１）に存在すると識別される。表４３では、特定文字列「合計」が先頭行の列「Ｆ」（セルＦ１）に存在すると識別される。
【００８２】
特定文字列が先頭列（列「Ａ」）に存在する場合には（Ｓ３３「Ｙｅｓ」）、定義された演算式にしたがって、列方向に演算する（Ｓ３４）。列方向への演算は、特定文字列が存在する行の一つ前の行まで繰り返される。表４２ｂでは、数値データを加算する演算を列方向に繰り返す。つまり、列「Ｂ」に関して、「２３００＋２００＋３５０＋７８０＋１５００＋２４０＋９８０＋４８０＋１００００」が演算される。
【００８３】
特定文字列が先頭行（第１行）に存在する場合には（Ｓ３３「Ｎｏ」、Ｓ３５「Ｙｅｓ」）、定義された演算式にしたがって、行方向に演算する（Ｓ３６）。行方向への演算は、特定文字列が存在する列の一つ前の列まで繰り返される。表４３では、数値データを加算する演算を行方向に繰り返す。つまり、第２行について、「３４２０＋３１５０＋３８６０＋４０７０」が演算される。
【００８４】
検算処理（Ｓ１８）では、演算値と、次のセルにおける数値データとが比較される。
【００８５】
表４２ｂでは列方向に演算されているため、「次のセル」とは、セルＢ１１である。列「Ｂ」の第２行から第１０行までの数値データを加算した演算値と、セルＢ１１の数値データ「１８８３０」とが比較される。図示例では文字認識処理において「１８８３０」と誤認識されているため、演算値と数値データとが一致しない。このため、セルＢ１１に配置される文字列は、色属性が変更されるなどして出力され、一致しない旨がユーザに報知される（Ｓ２２）。ユーザは、誤認識あるいは原稿の作成ミスがあることを、一目見るだけで、簡単かつ迅速に把握できる。しかも、チェックすべき個所を把握できるため、その後の修正作業を簡単かつ迅速に行い得る。
【００８６】
表４３では行方向に演算されているため、「次のセル」とは、セルＦ２である。第２行の列「Ｂ」から列「Ｅ」までの数値データを加算した演算値と、セルＦ２の数値データ「１４５００」とが比較される。演算値と数値データとが一致するので、文字認識の結果は、そのまま出力される（Ｓ１９）。
【００８７】
上述したように、実施形態のデジタル複写機１４では、表が記載された原稿をコピーするときに同時に、演算値と検算対象の数値データとが比較され、一致しない場合にはその旨が報知される。このため、表内の数字の誤認識や原稿作成時の数字の誤記を簡単かつ迅速に見つけ出すことができ、ひじょうに便利なデジタル複写機１４を提供できる。さらに、原稿と文字認識結果とを対比しながら数字の誤認識の個所を探し出す作業が不要となる。このため、ユーザは数字の文字認識結果の正誤を簡単にチェックでき、ユーザの手間を省いて、事務作業の効率化を高めることができる。
【００８８】
なお、本発明は、上述した実施形態に限られるものではなく、以下のように改変できる。
【００８９】
演算値と検算対象の数値データとが一致しない場合において、その旨を報知し、さらに、当該数値データが配置されるセルに、演算値を文字列に再変換して配置してもよい。このようにすれば、特定文字列が存在する行や列の数字の間違いを、自動的に訂正することができる。
【００９０】
検算対象の数値データが正しいにも拘わらず、演算に用いた文字列が誤認識または誤記された結果として、演算値と検算対象の数値データとが一致しなくなる場合も考えられる。そこで、数字の自動訂正を行うか否かをユーザに問い合わせ、ユーザからの指示を待って、上記の訂正を実行するのがよい。また、訂正するセルおよび数字を、ユーザが指定できるようにしてもよい。
【００９１】
表計算アプリケーションを使用して表を作成した場合、通常、合計や平均などは自動計算される。したがって、検算した結果、演算値と数値データとが一致しない場合は、演算に用いた文字列が誤認識された確率が高い。このような場合には、一致しない旨の報知に加えて、一致していない個所およびこれに関連する個所の画像を、読み取った画像から切り出し、切り出した画像を対応する出力領域に貼り付けて出力してもよい。これにより、誤認識のまま出力されることを未然に防ぐことができる。
【００９２】
表フォーマットや演算式などが自動的に選択され設定される形態を示したが、操作パネル部２４を操作することにより、使用すべき表フォーマットなどを、ユーザが選択し、設定できるようにしてもよい。
【００９３】
記憶部２５に予め保存されている表フォーマット５１を使用する形態を示したが、ユーザが、パソコンなどで表フォーマットを作成し、ネットワークなどを介して、作成した表フォーマットを記憶部２５にダウンロードできる構成にしてもよい。演算テーブル５２、検算テーブル５３および演算式テーブル５４に関しても、同様に、ユーザが作成し、記憶部２５にダウンロードできる構成に改変できる。ユーザが操作パネル部２４を操作して、新規な表フォーマットなどを設定できるようにしてもよい。
【００９４】
出力処理としてデジタル複写機１４で印刷する形態を示したが、印刷とともに、または印刷するのに代えて、認識結果を例えばＰＤＦファイル形式などで記憶媒体に出力し保存してもよい。この場合、記憶媒体に保存した認識結果は、ユーザからの使用要求に応じ、当該ユーザに対してメールなどで送信される。これにより、ユーザは、認識結果を後編集できる。
【００９５】
さらに、本発明を適用するのはデジタル複写機１４に限られない。例えば、ＯＣＲ処理を行うアプリケーションソフトに、本発明による画像認識技術を搭載することも可能である。
【００９６】
【発明の効果】
以上説明した本発明によれば、請求項ごとに以下のような効果を奏する。
【００９７】
請求項１〜８に記載の画像認識装置によれば、演算値と検算対象の数値データとが一致しない場合にはその旨が報知されるため、表内の数字の誤認識や原稿作成時の数字の誤記を簡単かつ迅速に見つけ出すことができる。さらに、原稿と文字認識結果とを対比しながら数字の誤認識の個所を探し出す作業が不要となるため、ユーザは数字の文字認識結果の正誤を簡単にチェックでき、ユーザの手間を省いて、事務作業の効率化を高めることができる。
【００９８】
請求項９および１０に記載の画像形成装置によれば、演算値と検算対象の数値データとが一致しない場合に、その旨を報知する画像を、出力したり、印刷したりすることができる。
【００９９】
請求項１１に記載の画像認識方法によれば、表内の数字の誤認識や原稿作成時の数字の誤記を簡単かつ迅速に見つけ出すことができ、ユーザの手間を省いて、事務作業の効率化を高めることができる。
【０１００】
請求項１２に記載の画像認識プログラムを記憶したコンピュータ読取り可能な記録媒体によれば、この記録媒体に記憶されたプログラムをコンピュータにより読取って実行することで、表内の数字の誤認識や原稿作成時の数字の誤記を簡単かつ迅速に見つけ出すことができ、ユーザの手間を省いて、事務作業の効率化を高めることができる。
【図面の簡単な説明】
【図１】  画像形成システムの構成を示す構成図である。
【図２】  デジタル複写機の概略構成を示すブロック図である。
【図３】  ＯＣＲ処理により認識された表の例を示す図である。
【図４】  図４（Ａ）は、原稿に記載されている表の例を示し、同図（Ｂ）は、同図（Ａ）に示される表をＯＣＲ処理により認識した表を示す図であり、合計欄の数字に関し、千の位の数字が「８」と誤認識されている例を示す図である。
【図５】  ＯＣＲ処理により認識された表の他の例を示す図である。
【図６】  表フォーマットの一例を示す図である。
【図７】  演算テーブルの一例を示す図である。
【図８】  検算テーブルの一例を示す図である。
【図９】  演算式テーブルの一例を示す図である。
【図１０】  本実施形態の作用を説明するメインフローチャートである。
【図１１】  検算処理の手順を示すフローチャートである。
【図１２】  第２の表演算処理の手順を示すフローチャートである。
【図１３】  原稿に記載された表の一例を、水平方向および垂直方向の黒画素の分布を表すヒストグラムとともに示す図である。
【図１４】  表領域を判別すると共に矩形枠を抽出する手順の説明に供する図である。
【図１５】  表領域を判別すると共に矩形枠を抽出する手順の説明に供する図である。
【符号の説明】
１４…デジタル複写機（画像認識装置、画像形成装置）
２１…読み取り部
２２…画像処理部
２３…印刷部
２４…操作パネル部（第１設定部、第２設定部）
２５…記憶部（第１記憶部、第２記憶部）
２６…制御部（報知部）
３１…ＯＣＲ部（文字認識部）
３２…領域判別部
３３…表領域抽出部（抽出部）
３４…表演算部（変換部、定義部、演算部、選択部、識別部）
３５…検算部（比較部）
３６…コピー処理部（形成部）
４１、４２ｂ、４３…認識された表４１
５１…表フォーマット
５２…演算テーブル
５３…検算テーブル
５４…演算式テーブル
【図１】
0004742404.tif 000002
【図２】
0004742404.tif 000003
【図３】
0004742404.tif 000004
【図４】
0004742404.tif 000005
【図５】
0004742404.tif 000006
【図６】
0004742404.tif 000007
【図７】
0004742404.tif 000008
【図８】
0004742404.tif 000009
【図９】
0004742404.tif 000010
【図１０】
0004742404.tif 000011
【図１１】
0004742404.tif 000012
【図１２】
0004742404.tif 000013
【図１３】
0004742404.tif 000014
【図１４】
0004742404.tif 000015
【図１５】
0004742404.tif 000016