(57)【特許請求の範囲】
【請求項１】
帳票画像を取得し、
前記帳票画像から直線を抽出し、
前記直線に対する鮮明判定処理の結果に基づき前記帳票画像が鮮明か否かを判定し、
前記帳票画像から文字認識領域を抽出し、
前記文字認識領域に対する正立判定処理に基づき前記帳票画像が正立か否かを判定し、
前記帳票画像が鮮明であると判定された場合であり、かつ前記帳票画像が正立であると判定された場合に前記帳票画像の読み取りが正常であると判定する、
処理をコンピュータに実行させる帳票画像判定プログラム。
【請求項２】
前記鮮明判定処理は、
太さ鮮明判定処理と直線近傍鮮明判定処理とを含む、
請求項１記載の帳票画像判定プログラム。
【請求項３】
前記太さ鮮明判定処理は、
前記直線に対して所定の間隔で点を設定し、
それぞれの前記点における前記直線の太さを算出し、
それぞれの前記太さが予め定められた範囲内である場合に前記直線が鮮明であると判定する処理を含む、
請求項２記載の帳票画像判定プログラム。
【請求項４】
前記直線近傍鮮明判定処理は、
前記帳票画像をグレースケール変換した濃度値を取得し、
前記直線に対して所定の間隔で点を設定し、
それぞれの前記点を囲む所定の領域における白色部分の濃度値の平均値である白色平均濃度値と黒色部分の濃度値の平均値である黒色平均濃度値を算出し、
前記白色平均濃度値と前記黒色平均濃度値の差が予め定められた濃度値よりも大きい場合に前記直線が鮮明であると判定する処理を含む、
請求項２記載の帳票画像判定プログラム。
【請求項５】
前記帳票画像が鮮明か否かを判定するとは、
前記太さ鮮明判定処理において前記直線が鮮明であると判定した場合、かつ、前記直線近傍鮮明判定処理において前記直線が鮮明であると判定した場合に、前記帳票画像が鮮明であると判定する処理を含む、
請求項３および請求項４記載の帳票画像判定プログラム。
【請求項６】
前記正立判定処理は、
文字認識領域のサイズが上位の順に予め定められた個数の前記文字認識領域を取得し、
前記文字認識領域それぞれについて角度を変更して文字認識し、
前記角度が０度で文字認識できた前記文字認識領域の個数が前記予め定められた個数に対して所定の割合以上である場合に前記帳票画像を正立であると判定する処理を含む、
請求項１記載の帳票画像判定プログラム。
【請求項７】
記憶部と制御部とを含む帳票画像判定装置における帳票画像判定方法であって、
前記記憶部は、
帳票画像を記憶し、
前記制御部は、
前記記憶部から前記帳票画像を取得し、
前記帳票画像から直線を抽出し、
前記直線に対する鮮明判定処理の結果に基づき前記帳票画像が鮮明か否かを判定し、
前記帳票画像から文字認識領域を抽出し、
前記文字認識領域に対する正立判定処理に基づき前記帳票画像が正立か否かを判定し、
前記帳票画像が鮮明であると判定された場合であり、かつ前記帳票画像が正立であると判定された場合に前記帳票画像の読み取りが正常であると判定する、
帳票画像判定方法。
【請求項８】
帳票画像読取装置と帳票画像判定装置とを含む帳票画像判定システムにおいて、
前記帳票画像読取装置は、
帳票画像を読み取る読取部と、
前記帳票画像を前記帳票画像判定装置に送信する送信部とを含み、
前記帳票画像判定装置は、
前記帳票画像読取装置から送信された前記帳票画像を記憶する記憶部と、
前記記憶部から前記帳票画像を取得し、
前記帳票画像から直線を抽出し、
前記直線に対する鮮明判定処理の結果に基づき前記帳票画像が鮮明か否かを判定し、
前記帳票画像から文字認識領域を抽出し、
前記文字認識領域に対する正立判定処理に基づき前記帳票画像が正立か否かを判定し、
前記帳票画像が鮮明であると判定された場合であり、かつ前記帳票画像が正立であると判定された場合に前記帳票画像の読み取りが正常であると判定する制御部とを含む、
帳票画像判定システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帳票画像判定プログラム、帳票画像判定方法および帳票画像判定システムに関する。
【背景技術】
【０００２】
保険会社や金融機関等では、顧客が記入した帳票や伝票を画像イメージとして帳票読取装置に取り込み、文字認識して帳票の処理を行う。オペレータは、帳票をイメージスキャナやＯＣＲ（Optical Character Recognition）等で読み取ることで、手入力を行うよりも早く帳票に記載された内容を帳票読取装置に取り込むことができる。
【０００３】
なお、帳票読取装置において、読み取った帳票の画像情報から方向識別の対象となる横方向に長い文字を構成する画素群を検出し、検出した画素群を正方向、逆方向、右９０度、左９０度の４方向に向きを変えて複数の文字を認識し、帳票画像が正しい方向で読み取られたか否かを判定（正立判定）する技術が知られている。また、帳票を撮像して得られた画像情報から文字認識を行う技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２４２８２５号公報
【特許文献２】特開２０１３−３００４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術では、方向識別の対象となる文字が存在しない帳票画像に対しては、有効な正立判定ができなかった。
また、従来は、帳票画像に滲みやぼけが生じたか否かをオペレータが目視で判定していたため、オペレータによって滲みやぼけの判定基準が異なっていたため、帳票画像の品質が統一されていなかった。また、帳票画像が正しく読み取られたか否かについてオペレータが目視で判定していたため、オペレータの労力が費やされていた。
【０００６】
一側面では、本発明は、帳票画像を判定する処理を改善できる帳票画像判定プログラム、帳票画像判定方法および帳票画像判定システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、以下に示すような帳票画像判定プログラムを提供する。帳票画像判定プログラムは、帳票画像を取得し、帳票画像から直線を抽出し、直線に対する鮮明判定処理の結果に基づき帳票画像が鮮明か否かを判定し、帳票画像から文字認識領域を抽出し、文字認識領域に対する正立判定処理に基づき帳票画像が正立か否かを判定し、帳票画像が鮮明であると判定された場合であり、かつ帳票画像が正立であると判定された場合に帳票画像の読み取りが正常であると判定する処理をコンピュータに実行させる。
【発明の効果】
【０００８】
一態様によれば、帳票画像を判定する処理を改善できる帳票画像判定プログラム、帳票画像判定方法および帳票画像判定システムを提供できる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態の帳票画像判定装置の一例を示す図である。
【図２】第２の実施形態の帳票画像判定システムの一例を示す図である。
【図３】第２の実施形態の帳票読取装置のハードウェア構成の一例を示す図である。
【図４】第２の実施形態の帳票セットの一例を示す図である。
【図５】第２の実施形態の帳票管理テーブルの一例を示す図である。
【図６】第２の実施形態の帳票画像判定処理のフローチャートを示す図である。
【図７】第２の実施形態の画像鮮明判定処理のフローチャートを示す図である。
【図８】第２の実施形態の太さ鮮明判定処理のイメージの一例を示す図である。
【図９】第２の実施形態の太さ鮮明判定処理のフローチャートを示す図である（その１）。
【図１０】第２の実施形態の太さ鮮明判定処理のフローチャートを示す図である（その２）。
【図１１】第２の実施形態の太さ鮮明判定処理のフローチャートを示す図である（その３）。
【図１２】第２の実施形態の直線近傍鮮明判定処理のイメージの一例を示す図である。
【図１３】第２の実施形態の直線近傍鮮明判定処理のフローチャートを示す図である（その１）。
【図１４】第２の実施形態の直線近傍鮮明判定処理のフローチャートを示す図である（その２）。
【図１５】第２の実施形態の直線近傍鮮明判定処理のフローチャートを示す図である（その３）。
【図１６】第２の実施形態の画像正立判定処理のイメージの一例を示す図である。
【図１７】第２の実施形態の画像正立判定処理のフローチャートを示す図である（その１）。
【図１８】第２の実施形態の画像正立判定処理のフローチャートを示す図である（その２）。
【図１９】第２の実施形態の画像正立判定処理のフローチャートを示す図である（その３）。
【発明を実施するための形態】
【００１０】
以下、図面を参照して実施の形態を詳細に説明する。
［第１の実施形態］
まず、第１の実施形態の帳票画像判定装置について図１を用いて説明する。図１は、第１の実施形態の帳票画像判定装置の一例を示す図である。
【００１１】
帳票画像判定装置１は、記憶部２と、制御部３を含む。帳票画像判定装置１は、帳票を撮像して得られた帳票画像４を取得し、帳票画像４が正しく読み取れたか否かの判定を行う装置であり、たとえば、コンピュータ等である。
【００１２】
記憶部２は、帳票画像４を記憶するユニットであり、たとえばＨＤＤ（Hard Disk Drive）等である。記憶部２は、他のコンピュータから受信した帳票画像４を記憶することや、イメージスキャナ等で帳票を撮像して得られた帳票画像４を記憶することができる。
【００１３】
ここで、帳票画像判定装置１が帳票画像４について正しく読み取れたか否かを判定する帳票画像判定処理について説明する。帳票画像判定処理は、帳票画像判定装置１で実行する帳票画像判定プログラムの処理として提供できる。
【００１４】
制御部３は、記憶部２に記憶された帳票画像４を取得し、帳票画像４から直線を抽出し、直線に対する鮮明判定処理５の結果に基づき帳票画像４が鮮明か否かを判定する。
鮮明判定処理５は、太さ鮮明判定処理と直線近傍鮮明判定処理とを含む。太さ鮮明判定処理は、直線に対して所定間隔で点を設定し、それぞれの点における直線の太さを算出し、それぞれの太さが予め定められた範囲内である場合に直線が鮮明であると判定する処理を含む。直線近傍鮮明判定処理は、帳票画像４をグレースケール変換した濃度値を取得し、直線に対して所定の間隔で点を設定し、それぞれの点を囲む所定の領域における白色部分の濃度値の平均値である白色平均濃度値と黒色部分の濃度値の平均値である黒色平均濃度値を算出し、白色平均濃度値と黒色平均濃度値の差が予め定められた濃度値よりも大きい場合に直線が鮮明であると判定する処理を含む。
【００１５】
制御部３は、太さ鮮明判定処理において直線が鮮明であると判定した場合、かつ、直線近傍鮮明判定処理において直線が鮮明であると判定した場合に、帳票画像４が鮮明であると判定する。言い換えると、制御部３は、鮮明判定処理５の結果が鮮明である場合、帳票画像４に滲みやぼけがなく、帳票画像４が鮮明であると判定できる。
【００１６】
制御部３は、帳票画像４から文字認識領域７ａ，７ｂ，７ｃを抽出し、文字認識領域７ａ，７ｂ，７ｃに対する正立判定処理６に基づき帳票画像４が正立か否かを判定する。正立判定処理６は、文字認識領域７ａ，７ｂ，７ｃのサイズが上位の順に予め定められた個数の文字を取得し、文字認識領域７ａ，７ｂ，７ｃそれぞれについて角度を変更して文字認識し、角度が０度で文字認識できた文字の個数が予め定められた個数に対し所定の割合以上である場合に帳票画像４を正立であると判定する処理を含む。帳票画像４に含まれる複数の文字のうち、文字認識領域７ａ，７ｂ，７ｃの大きさが上位３つの領域について正立判定処理の対象とした例を示している。
【００１７】
制御部３は、帳票画像４が鮮明であると判定された場合であり、かつ帳票画像４が正立であると判定された場合に、帳票画像４が滲みやぼけがなく正立に撮像された画像であり読み取りが正常であると判定する。制御部３は、帳票画像４の読み取りが正常であるか否かの判定結果を記憶部２に記憶する。
【００１８】
このように、帳票画像判定装置１は、帳票画像４の読み取りが正常であるか否かを判定できるため、オペレータが帳票のチェックに要する労力を軽減できる。また、帳票画像判定装置１は、帳票画像４の滲みやぼけの判定基準を一定に保つため、帳票画像４の品質を保持することができる。こうして、帳票画像判定装置１は、帳票画像を判定する処理を改善できる。
【００１９】
［第２の実施形態］
次に、第２の実施形態として、帳票画像判定装置をサーバ装置として適用した帳票画像判定システムについて図２を用いて説明する。図２は、第２の実施形態の帳票画像判定システムの一例を示す図である。
【００２０】
帳票画像判定システム３００は、図２に示すように、複数の帳票読取装置１００（図２ではその内の１台を図示）が備えられ、帳票読取装置１００はサーバ装置２００とネットワーク１０を介して接続されている。たとえば、帳票画像判定システム３００は、保険会社や金融機関やデータセンタ等に設けられてもよい。なお、保険会社や金融機関やデータセンタ等は一例であり、その他のものであってもよい。
【００２１】
帳票読取装置１００は、帳票の読み取りや帳票画像の表示をする情報処理装置である。帳票読取装置１００は、帳票を撮像して取得された帳票の画像情報（以下、帳票画像とも記載する）をサーバ装置２００に送信する。また、帳票読取装置１００は、サーバ装置２００に記憶された帳票画像を受信し、表示する。
【００２２】
サーバ装置２００は、帳票画像および帳票に関する情報を管理する情報処理装置である。サーバ装置２００は、帳票読取装置１００が読み取った帳票画像を取得し、帳票画像が正しく読み取れたか否かを判定し、判定した結果に応じて帳票画像を記憶する。たとえば、サーバ装置２００は、滲みやぼけや読み取り方向間違い等の不備が存在する帳票画像と、不備の無い正しく読み取った帳票画像とを区別して記憶する。サーバ装置２００は、帳票画像および帳票に関する情報をサーバ装置２００が備えるＨＤＤ等の記憶部に記憶してもよいし、サーバ装置２００がアクセス可能なデータベースに記憶してもよい。サーバ装置２００は、帳票画像が正しく読み取れたか否かを判定する処理に用いる閾値や上限値等を環境定義パラメータとしてＨＤＤに保持する。
【００２３】
次に、第２の実施形態の帳票読取装置のハードウェア構成について図３を用いて説明する。図３は、第２の実施形態の帳票読取装置のハードウェア構成の一例を示す図である。
帳票読取装置１００は、制御部１１０を含む。制御部１１０は、プロセッサ１１１、ＲＡＭ（Random Access Memory）１１２、ＨＤＤ１１３、入出力信号インタフェース１１４、記憶媒体インタフェース１１５、通信インタフェース１１６を含む。帳票読取装置１００は、プロセッサ１１１によって装置全体が制御されている。プロセッサ１１１には、バス１１７を介してＲＡＭ１１２と複数の周辺機器が接続されている。プロセッサ１１１は、マルチプロセッサであってもよい。プロセッサ１１１は、たとえば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、又はＰＬＤ（Programmable Logic Device）である。また、プロセッサ１１１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００２４】
ＲＡＭ１１２は、帳票読取装置１００の主記憶装置として使用される。ＲＡＭ１１２には、プロセッサ１１１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１１２には、プロセッサ１１１による処理に必要な各種データが格納される。
【００２５】
バス１１７に接続されている周辺機器としては、ＨＤＤ１１３、入出力信号インタフェース１１４、記憶媒体インタフェース１１５および通信インタフェース１１６がある。
ＨＤＤ１１３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読出しを行う。ＨＤＤ１１３は、帳票読取装置１００の補助記憶装置として使用される。ＨＤＤ１１３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリ等の半導体記憶装置を使用することもできる。
【００２６】
入出力信号インタフェース１１４には、入力デバイスや出力デバイスが接続されている。入力デバイスの一例として、キーボード１１９や、マウス１２０や、イメージスキャナ１２１や、タッチパネル等がある。また、出力デバイスの一例には、モニタ１１８や、液晶表示や、各種パネル表示装置等がある。
【００２７】
入出力信号インタフェース１１４は、キーボード１１９やマウス１２０等から送られてくる信号をプロセッサ１１１に送信する。なお、マウス１２０は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボール等がある。
【００２８】
出力デバイスは、プロセッサ１１１からの命令にしたがって、画像をモニタ画面に表示させる。モニタ１１８としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置等がある。
【００２９】
記憶媒体インタフェース１１５は、磁気やレーザ等を利用して記憶媒体１２２に記録されたデータの読み取りや書き込みを行う。また、記憶媒体インタフェース１１５は、半導体メモリ等の記憶媒体に記録されたデータの読み取りを行うものであってもよい。記憶媒体１２２とは、たとえば、光ディスクや、フラッシュメモリ等の半導体メモリ等を含む。光ディスクは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスクには、ＤＶＤ（Digital Versatile Disk）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc - Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等がある。
【００３０】
記憶媒体インタフェース１１５は、帳票読取装置１００に周辺機器を接続するための通信インタフェースとしても用いることができる。たとえば、記憶媒体インタフェース１１５には、メモリ装置やメモリリーダライタを接続することができる。メモリ装置は、記憶媒体インタフェース１１５との通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのデータの書き込み、又はメモリカードからのデータの読出しを行う装置である。メモリカードは、カード型の記録媒体である。
【００３１】
通信インタフェース１１６は、ネットワーク１０に接続されている。通信インタフェース１１６は、ネットワーク１０を介して、他のコンピュータ又は通信機器との間でデータの送受信を行う。なお、ネットワーク１０は、有線ネットワークでもよいし、無線ネットワークでもよい。
【００３２】
以上のようなハードウェア構成によって、第２の実施形態の帳票読取装置１００の機能を実現することができる。なお、第１の実施形態に示した帳票画像判定装置１も、図３に示した帳票読取装置１００と同様のハードウェア構成によって実現できる。なお、サーバ装置２００も図２に示した帳票読取装置１００と同様のハードウェア構成によって実現できる。
【００３３】
サーバ装置２００は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施形態の処理機能を実現する。サーバ装置２００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、サーバ装置２００に実行させるプログラムをＨＤＤ１１３に格納しておくことができる。プロセッサ１１１は、ＨＤＤ１１３内のプログラムの少なくとも一部をＲＡＭ１１２にロードし、プログラムを実行する。また、サーバ装置２００に実行させるプログラムを、光ディスク、メモリ装置、メモリカード等の可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ１１１からの制御により、ＨＤＤ１１３にインストールされた後、実行可能となる。またプロセッサ１１１が、可搬型記録媒体から直接プログラムを読出して実行することもできる。
【００３４】
次に、帳票セットについて図４を用いて説明する。図４は、第２の実施形態の帳票セットの一例を示す図である。
帳票セット４００は、オペレータが帳票読取装置１００を用いて読み取る帳票の一例である。帳票読取装置１００が読み取る帳票には、複数の種類が存在する。たとえば、予め定められたフォーマットの帳票である定型帳票や、フォーマットが定められていない非定型帳票が存在する。
【００３５】
帳票セット４００は、定型帳票４０１と、非定型帳票４０２，４０３とを含む。帳票セット４００に含まれる帳票は、帳票読取装置１００から読み取られ、読み取られた帳票画像は、サーバ装置２００に送信される。なお、図４に示した帳票セット４００は、３枚の帳票で一組の帳票セットを構成するが、これは一例であり、定型帳票と非定型帳票のいずれか一方のみを含むものであってもよい。
【００３６】
定型帳票４０１は、予め定められたフォーマットの帳票である。定型帳票４０１は、ＯＣＲ認識箇所４０４，４０５を含む。定型帳票４０１は、所定の座標位置に記載されたＯＣＲ認識箇所４０４，４０５を読み取ることにより、帳票が正立で読み取られたか否かを判定可能な帳票である。なお、ＯＣＲ認識箇所は、１枚の帳票につき１箇所含まれてもよいし、２箇所以上含まれてもよい。
【００３７】
非定型帳票４０２，４０３は、フォーマットが定められていない帳票である。非定型帳票４０２，４０３は、帳票画像を文字認識して帳票画像が正立か否かを判定することを要する帳票である。
【００３８】
帳票セット４００に含まれる各帳票は、印字部分の文字や項目欄の項目および記入された内容について、帳票読取装置１００に接続したイメージスキャナ１２１を介して帳票画像として読み取られる。
【００３９】
次に、帳票管理テーブルについて図５を用いて説明する。図５は、第２の実施形態の帳票管理テーブルの一例を示す図である。
帳票管理テーブル４５０は、帳票画像を管理するための管理情報を記憶したテーブルである。帳票管理テーブル４５０は、サーバ装置２００のＨＤＤ等の記憶部に記憶される。
【００４０】
帳票管理テーブル４５０は、案件番号と、証券番号と、帳票画像ファイル名と、帳票種別と、判定結果とを含む。サーバ装置２００は、帳票読取装置１００から帳票画像を受信する毎に、帳票管理テーブル４５０に受信した帳票画像を管理する案件番号、証券番号、帳票画像ファイル名を記録する。
【００４１】
案件番号は、帳票セットを識別する番号である。証券番号は、帳票セットに含まれる帳票を識別する番号である。帳票画像ファイル名は、帳票を読み取った帳票画像のファイル名である。なお、図示を省略するが、帳票画像ファイル名とともに、帳票画像が記憶された場所を示す情報（フォルダ情報、ディレクトリ情報等）を保持できる。
【００４２】
帳票種別は、定型帳票であるか、非定型帳票であるかを識別する情報である。サーバ装置２００は、帳票画像の読み取り判定を行い、帳票種別について「定型」又は「非定型」を記録する。帳票種別の初期値は「−（判定前）」である。サーバ装置２００は、帳票画像からＯＣＲ認識箇所を取得し定型帳票の画像であると判定した場合「定型」、帳票画像からＯＣＲ認識箇所を取得できず帳票画像が非定型帳票であると判定した場合「非定型」を記録する。
【００４３】
判定結果は、帳票画像について正しく読み取れたか否かを判定した結果を示す情報である。サーバ装置２００は、帳票画像について滲みやぼけや読み取り方向（正立か否か）の判定を行い、判定結果について「正常」又は「異常」を記録する。判定結果の初期値は「−（判定前）」である。サーバ装置２００は、帳票画像に滲みや読み取り方向間違い等の不備が存在しない場合「正常」、滲みや読み取り方向間違い等の不備が存在する場合「異常」を記録する。また、サーバ装置２００は、判定結果が「−（判定前）」の帳票画像を対象として、滲みやぼけや読み取り方向の判定を行う。
【００４４】
帳票管理テーブル４５０に記録された情報によって、どの帳票画像の判定結果が「異常」であるかが把握できるため、オペレータは、判定結果「異常」の帳票画像についてのみチェックを行うことが可能となる。また、判定結果「正常」の帳票画像については、オペレータによってチェックを行うことを要しないため、人手による目視検査の労力を軽減することが可能となる。
【００４５】
次に、第２の実施形態の帳票画像判定処理について図６を用いて説明する。図６は、第２の実施形態の帳票画像判定処理のフローチャートを示す図である。
帳票画像判定処理は、サーバ装置２００が、帳票読取装置１００によって読み取られた帳票画像を取得し、取得した帳票画像に対し画像鮮明判定および画像正立判定を行い、判定結果を記録する処理である。帳票画像判定処理は、サーバ装置２００の制御部１１０（プロセッサ１１１）が実行する処理である。
【００４６】
［ステップＳ１１］制御部１１０は、予め設定された環境定義パラメータをＨＤＤ１１３から取得する。環境定義パラメータは、後で説明する画像鮮明判定処理および画像正立判定処理において判定条件として用いる予め設定された閾値や上限数の総称である。環境定義パラメータに含まれる閾値等の詳細については、後で画像鮮明判定処理および画像正立判定処理において説明する。
【００４７】
［ステップＳ１２］制御部１１０は、帳票画像を取得する。より具体的には、制御部１１０は、帳票管理テーブル４５０を参照し、判定結果「−（判定前）」である帳票画像ファイルを取得する。
【００４８】
［ステップＳ１３］制御部１１０は、画像鮮明判定処理を実行する。画像鮮明判定処理は、帳票画像に含まれる直線の幅や直線の濃度値に基づいて帳票画像が鮮明であるか否かを判定する処理である。画像鮮明判定処理は、図７を用いて後で説明する。
【００４９】
［ステップＳ１４］制御部１１０は、画像鮮明判定処理の結果に基づき、帳票画像は鮮明か否かを判定する。制御部１１０は、画像鮮明判定処理の結果が鮮明である場合にステップＳ１５にすすみ、鮮明でない場合にステップＳ２０にすすむ。
【００５０】
［ステップＳ１５］制御部１１０は、帳票画像が定型帳票の画像であるか否かを判定する。制御部１１０は、帳票画像にＯＣＲ認識箇所が含まれる場合に、定型帳票であると判定する。制御部１１０は、定型帳票である場合にステップＳ１９にすすみ、定型帳票でない場合にステップＳ１６にすすむ。
【００５１】
［ステップＳ１６］制御部１１０は、画像正立判定処理を実行する。画像正立判定処理は、帳票画像に含まれる文字を抽出し、角度を変えて文字認識をすることで帳票画像が正立か否かを判定する処理である。画像正立判定処理は、図１７〜図１９を用いて後で説明する。
【００５２】
［ステップＳ１７］制御部１１０は、画像正立判定処理の結果に基づき、帳票画像が正立か否かを判定する。制御部１１０は、帳票画像が正立である場合にステップＳ１９にすすみ、帳票画像が正立でない場合にステップＳ１８にすすむ。
【００５３】
［ステップＳ１８］制御部１１０は、ステップＳ１２で取得し判定対象とした帳票画像を「異常」と判定し、帳票管理テーブル４５０の判定結果に「異常」を記録する。
［ステップＳ１９］制御部１１０は、ステップＳ１２で取得し判定対象とした帳票画像を「正常」と判定し、帳票管理テーブル４５０の判定結果に「正常」を記録する。
【００５４】
［ステップＳ２０］制御部１１０は、帳票管理テーブル４５０を参照し、判定結果が「−（判定前）」の帳票画像が存在するか否かを判定する。制御部１１０は、判定対象の帳票画像が存在する場合はステップＳ１２にすすみ、存在しない場合は帳票画像判定処理を終了する。
【００５５】
次に、第２の実施形態の画像鮮明判定処理について図７を用いて説明する。図７は、第２の実施形態の画像鮮明判定処理のフローチャートを示す図である。
画像鮮明判定処理は、帳票画像に含まれる直線の幅や直線の濃度値に基づいて帳票画像が鮮明であるか否かを判定する処理である。
【００５６】
画像鮮明判定処理は、帳票画像判定処理のステップ１３で、サーバ装置２００の制御部１１０（プロセッサ１１１）が実行する処理である。
［ステップＳ３１］制御部１１０は、帳票画像についてグレースケール変換値（濃度値）を取得する。グレースケール変換値は、取得した帳票画像を白黒の濃淡で表現した値であり、１画素毎に８ビットの明るさ情報で表した値である。グレースケール変換値「０」は黒を示し、グレースケース変換値「２５５」は白を示す。グレースケール変換値は、「０」に近い値ほど黒に近い明るさである。
【００５７】
［ステップＳ３２］制御部１１０は、帳票画像の解像度を取得する。なお、解像度は、１インチあたりのピクセル数を示す値（ｐｐｉ）等の単位で表す。
［ステップＳ３３］制御部１１０は、帳票画像から直線を抽出する。なお、帳票画像から直線を抽出する方法は、ハフ変換法（Hough変換法）等の既存技術を用いることができる。
【００５８】
［ステップＳ３４］制御部１１０は、帳票画像から直線を抽出できたか否かを判定する。制御部１１０は、直線を抽出できた場合はステップＳ３５にすすみ、直線を抽出できなかった場合はステップＳ４１にすすむ。
【００５９】
［ステップＳ３５］制御部１１０は、帳票画像から二値化閾値を算出する。なお、二値化閾値を算出する方法は、大津の二値化等の既存技術を用いることができる。二値化閾値は、ある対象点（ピクセル）についてグレースケール変換値（濃度値）が白色であるか又は黒色であるかを判定する基準となる値である。二値化閾値よりも少ない値である場合、制御部１１０は、対象点を黒色と判定する。
【００６０】
［ステップＳ３６］制御部１１０は、太さ鮮明判定処理を実行する。太さ鮮明判定処理は、帳票画像から抽出した直線の太さに基づいて、帳票画像が鮮明であるか否かを判定する処理である。太さ鮮明判定処理は、図９〜図１１を用いて後で説明する。
【００６１】
［ステップＳ３７］制御部１１０は、太さ鮮明判定処理の結果が鮮明であるか否かを判定する。制御部１１０は、太さ鮮明判定処理の結果が鮮明である場合はステップＳ３８にすすみ、鮮明でない場合はステップＳ４１にすすむ。
【００６２】
［ステップＳ３８］制御部１１０は、直線近傍鮮明判定処理を実行する。直線近傍鮮明判定処理は、帳票画像から抽出した直線の近傍の濃度値に基づいて、帳票画像が鮮明であるか否かを判定する処理である。直線近傍鮮明判定処理は、図１３〜図１５を用いて後で説明する。
【００６３】
［ステップＳ３９］制御部１１０は、直線近傍鮮明判定処理の結果が鮮明であるか否かを判定する。制御部１１０は、直線近傍鮮明判定処理の結果が鮮明である場合はステップＳ４０にすすみ、鮮明でない場合はステップＳ４１にすすむ。
【００６４】
［ステップＳ４０］制御部１１０は、帳票画像を鮮明と判定し、画像鮮明判定処理を終了する。
［ステップＳ４１］制御部１１０は、帳票画像を不鮮明と判定し、画像鮮明判定処理を終了する。
【００６５】
次に、第２の実施形態の太さ鮮明判定処理のイメージについて図８を用いて説明する。図８は、第２の実施形態の太さ鮮明判定処理のイメージの一例を示す図である。
太さ鮮明判定処理のイメージ５００は、帳票画像から抽出した直線の太さに基づいて、帳票画像が鮮明であるか否かを判定する処理の概念図である。直線の太さが所定の範囲内の場合は帳票画像が鮮明であり、直線の太さが異なる場合は帳票画像について歪みや滲みが生じて不鮮明であると判定する。
【００６６】
対象線Ｍ５０１は、帳票画像５２０に含まれる複数の直線（直線Ｌａ５３１，直線Ｌｂ５３２，直線Ｌｃ５３３，直線Ｌｄ５３４，直線Ｌｅ５３５等）のうち、太さ鮮明判定の対象とする線である。対象点Ｑ５０４は、対象線Ｍ５０１に所定の間隔で設けた点Ｐａ５０２〜点Ｐｎ５０３のうち、太さ鮮明判定の対象とする点である。対象線Ｍ５０１上の所定の間隔で設けたそれぞれの点Ｐａ５０２〜点Ｐｎ５０３における対象線Ｍの太さ５０８の値を求める。直線Ｎ５０５は、対象線Ｍの太さ５０８を求めるために用いる仮想的な直線である。直線Ｎ５０５は、対象点Ｑ５０４を通過し、かつ、対象線Ｍ５０１に対して垂直な直線である。
【００６７】
まず、対象線Ｍの太さ５０８を求めるために、対象線Ｍ５０１のＹ軸正方向の太さを求める。直線Ｎ５０５上の対象点Ｑ５０４を起点とし、１ピクセルＹ軸正方向に位置する点である対象点Ｒ５０７について、対象点Ｒ５０７の濃度値と二値化閾値とを比較して白色又は黒色の判定を行う（ア）。判定結果が黒色の場合、対象線Ｍ５０１のＹ軸正方向太さ５０９としてカウントし、さらに１ピクセルＹ軸正方向に位置する点を新たな対象点Ｒとし、同様に処理する（イ）。対象点Ｒについて判定結果が白色の場合、対象線Ｍ５０１のＹ軸正方向太さ５０９のカウントをせず、対象線Ｍ５０１についてＹ軸負方向の太さを求める。
【００６８】
次に、対象線Ｍ５０１についてＹ軸負方向の太さを求める。正方向の場合と同様に直線Ｎ上の対象点Ｑ５０４を起点とし、１ピクセルＹ軸負方向に位置する点について新たな対象点Ｒとして、対象点Ｒの濃度値と二値化閾値とを比較して白色又は黒色の判定を行う（ウ）。判定結果が黒色の場合、対象線Ｍ５０１のＹ軸負方向太さ５１０としてカウントし、さらに１ピクセルＹ軸負方向に位置する点を新たな対象点Ｒとし、同様に処理する（エ）。判定結果が白色の場合、対象線Ｍ５０１のＹ軸負方向太さ５１０のカウントをせず、対象線Ｍの太さ５０８を求める。
【００６９】
次に、対象線Ｍの太さ５０８を求める。対象線Ｍの太さ５０８は、Ｙ軸正方向太さ５０９とＹ軸負方向太さ５１０とを加算し、重複した対象点Ｑのピクセル数を減算した値として求めることができる。図８においては、Ｙ軸正方向太さ「２（ピクセル）」とＹ軸負方向太さ「２（ピクセル）」を加算し、対象点Ｑ「１（ピクセル）」を減算した値「３（ピクセル）」が対象線Ｍの太さ５０８として求められる。
【００７０】
このようにして、対象線Ｍ５０１の点Ｐａ５０２〜点Ｐｎ５０３それぞれにおいて、対象線Ｍの太さ５０８を求める。点Ｐａ５０２〜点Ｐｎ５０３それぞれの点における対象線Ｍ５０１の太さの値が、所定の範囲内である場合に対象線Ｍ５０１は鮮明であると判定する。
【００７１】
帳票画像５２０に含まれる直線が鮮明であると判定した場合、帳票画像５２０に対する太さ鮮明判定処理の結果が鮮明と判定する。
次に、図９から図１１を用いて第２の実施形態の太さ鮮明判定処理について説明する。図９は、第２の実施形態の太さ鮮明判定処理のフローチャートを示す図である（その１）。図１０は、第２の実施形態の太さ鮮明判定処理のフローチャートを示す図である（その２）。図１１は、第２の実施形態の太さ鮮明判定処理のフローチャートを示す図である（その３）。
【００７２】
太さ鮮明判定処理は、帳票画像から抽出した直線の太さに基づいて、帳票画像が鮮明であるか否かを判定する処理である。太さ鮮明判定処理は、画像鮮明判定処理のステップ３６で、サーバ装置２００の制御部１１０（プロセッサ１１１）が実行する処理である。
【００７３】
［ステップＳ５１］制御部１１０は、ステップＳ３３で帳票画像から抽出した直線のうち、長い順に所定数の直線Ｌａ〜Ｌｎを選定する。
所定数は、予めＨＤＤ１１３に格納されている値である。たとえば、所定数が「５」である場合、制御部１１０は、図８に示したとおり、長い順に５本の直線Ｌａ５３１〜直線Ｌｅ５３５を選定する。また、制御部１１０は、直線Ｌａ〜直線Ｌｅを選定する条件として長さのみに限らず、（１）抽出した直線のうち最長の直線を直線Ｌａとし、（２）直線Ｌａに平行し、かつ、直線Ｌａから最遠の直線を直線Ｌｂとし、（３）直線Ｌａに直交する角度であり、かつ、直線Ｌａから最遠の直線を直線Ｌｃとし、（４）直線Ｌｃに並行し、かつ、直線Ｌｃから最遠の直線を直線Ｌｄとし、（５）帳票画像の中心点から最短距離に位置する直線を直線Ｌｅとすることができる。また、制御部１１０は、直線Ｌａ〜Ｌｅを選定するに際し同一条件の直線が複数存在する場合、（Ａ）長さが長い直線、（Ｂ）帳票画像の原点（左上角）に近い直線、を優先して選定することができる。
【００７４】
なお、制御部１１０は、所定数の本数の直線を抽出できない場合であっても、抽出できた直線のみで太さ鮮明判定処理を実行できる。
［ステップＳ５２］制御部１１０は、直線Ｌａ〜Ｌｎから対象線Ｍを決定する。たとえば、制御部１１０は、直線Ｌａ〜Ｌｎのうち長い順に対象線Ｍを決定できる。
【００７５】
［ステップＳ５３］制御部１１０は、対象線Ｍについて点抽出間隔に基づき点Ｐａ〜Ｐｎの座標を決定する。点抽出間隔は、予め環境定義パラメータで設定する値であり、直線上の点を抽出する間隔（長さ）を指定する値である。たとえば、点抽出間隔は、「３００００」（μｍ）と指定できる。
【００７６】
［ステップＳ５４］制御部１１０は、点Ｐａ〜Ｐｎから対象点Ｑを決定する。
［ステップＳ５５］制御部１１０は、対象点Ｑの座標を取得する。
［ステップＳ５６］制御部１１０は、対象点Ｑが対象線Ｍ以外の線と交わっている点であるか否かを判定する。言い換えると、対象点Ｑが、対象線Ｍの太さを求める点として適切か否かを判定する。対象点Ｑが対象線Ｍ以外の線と交わっている点（交点や頂点等）である場合、対象線Ｍの太さが適切に判定できないためである。
【００７７】
制御部１１０は、対象点Ｑが対象線Ｍ以外の線と交わっている点である場合はステップＳ５７にすすみ、そうでない場合はステップＳ５８にすすむ。
［ステップＳ５７］制御部１１０は、既に対象点Ｑとした点を除き、点Ｐａ〜Ｐｎから次の対象点Ｑを決定し、ステップＳ５５にすすむ。
【００７８】
［ステップＳ５８］制御部１１０は、対象点Ｑを通り、かつ、対象線Ｍと直交する仮想的な直線Ｎを決定する。
［ステップＳ５９］制御部１１０は、対象線Ｍの太さを求めるための変数である正負両方向の太さカウンタ値を初期化する。言い換えると、制御部１１０は、正方向太さカウンタ値と負方向太さカウンタ値の値を「０」に設定する。
【００７９】
［ステップＳ６０］制御部１１０は、直線Ｎに応じて太さを算出する軸を決定する。たとえば、図８に示した例では、直線ＮがＹ軸の方向であるため、太さを算出する軸はＹ軸となる。
【００８０】
［ステップＳ６１］制御部１１０は、対象軸の正方向を対象方向とする。たとえば、図８に示した例では、まず、Ｙ軸正方向を対象方向とする。
［ステップＳ６２］制御部１１０は、対象点Ｑから直線Ｎ上の１ピクセル対象方向に位置する点を対象点Ｒとする。
【００８１】
［ステップＳ６３］制御部１１０は、対象点Ｒの濃度値と二値化閾値を比較する。
［ステップＳ６４］制御部１１０は、ステップＳ６３における比較結果、対象点Ｒは黒色か否かを判定する。たとえば、二値化閾値よりも対象点Ｒの濃度値が少ない場合は、対象点Ｒは黒色であると判定する。
【００８２】
制御部１１０は、比較した結果、対象点Ｒが黒色である場合はステップＳ６５にすすみ、対象点Ｒが黒色でない場合はステップＳ６７にすすむ。
［ステップＳ６５］制御部１１０は、対象方向の太さカウンタ値を加算する。たとえば、図８に示した点では、まず、Ｙ軸正方向太さカウンタ値を加算する。
【００８３】
［ステップＳ６６］制御部１１０は、対象点Ｒから直線Ｎ上の１ピクセル対象方向の点を次の対象点Ｒとし、ステップＳ６３にすすむ。
［ステップＳ６７］制御部１１０は、対象軸の正負両方向について対象方向としたか否かを判定する。制御部１１０は、対象軸の正負両方向について対象方向としていない場合にステップＳ６８にすすみ、両方向について対象とした場合にステップＳ６９にすすむ。
【００８４】
［ステップＳ６８］制御部１１０は、対象軸の負方向を対象方向とし、ステップＳ６２にすすむ。たとえば、図８に示した例では、対象軸がＹ軸であり、まずＹ軸正方向を対象方向とし、次にＹ軸負方向を対象方向とする。
【００８５】
［ステップＳ６９］制御部１１０は、正負両方向の太さカウンタ値を加算した値に基づき、対象点Ｑにおける対象線Ｍの太さの値を算出する。たとえば、図８に示したとおり、対象線Ｍの太さの値は、Ｙ軸正方向太さカウンタ値とＹ軸負方向太さカウンタ値を加算し、重複した対象点Ｑのピクセル数を減算した値として求める。
【００８６】
［ステップＳ７０］制御部１１０は、全ての点Ｐａ〜Ｐｎについて対象点Ｑとしたか否かを判定する。制御部１１０は、全ての点Ｐａ〜Ｐｎについて対象点Ｑとしていない場合にステップＳ７１にすすみ、全ての点Ｐａ〜Ｐｎについて対象点Ｑとした場合にステップＳ７２にすすむ。
【００８７】
［ステップＳ７１］制御部１１０は、既に対象点Ｑとした点を除き、点Ｐａ〜Ｐｎから次の対象点Ｑを決定し、ステップＳ５５にすすむ。
［ステップＳ７２］制御部１１０は、ステップＳ６９で算出した太さの値に基づき、点Ｐａ〜Ｐｎの太さ平均値を算出する。
【００８８】
［ステップＳ７３］制御部１１０は、算出した太さ平均値と各点Ｐａ〜Ｐｎの太さの値との差を算出する。
［ステップＳ７４］制御部１１０は、ステップＳ７３の算出結果、太さ閾値以上の差のある点を閾値外点とする。太さ閾値は、予め環境定義パラメータで設定する値であり、太さの値（μｍ）で指定する値である。たとえば、太さ閾値は「２００」（μｍ）のように指定できる。
【００８９】
［ステップＳ７５］制御部１１０は、閾値外点が直線判定閾値以上の割合で存在するか否かを判定する。直線判定閾値は、予め環境定義パラメータで設定する値である。直線判定閾値は、対象線Ｍに対して太さを測定するために設定した点（点Ｐａ〜Ｐｎ）の総数に対する閾値外点の数の割合を示す値である。たとえば、直線判定閾値は「１０」（％）のように指定できる。制御部１１０は、閾値外点が対象線Ｍ上の全ての点（点Ｐａ〜Ｐｎ）の総数に対して、直線判定閾値以上の割合で存在する場合、対象線Ｍの太さが均一でない（対象線Ｍの太さにバラツキがある）と判定できる。
【００９０】
制御部１１０は、閾値外点が直線判定閾値以上の割合で存在する場合はステップＳ７６にすすみ、所定の割合以上で存在しない場合はステップＳ７７にすすむ。
［ステップＳ７６］制御部１１０は、対象線Ｍを不鮮明と判定する。
【００９１】
［ステップＳ７７］制御部１１０は、対象線Ｍを鮮明と判定する。
［ステップＳ７８］制御部１１０は、全ての直線Ｌａ〜Ｌｎについて、対象線Ｍとしたか否かを判定する。制御部１１０は、全ての直線について対象線Ｍとしていない場合はステップＳ７９にすすみ、全ての直線について対象線Ｍとした場合はステップＳ８０にすすむ。
【００９２】
［ステップＳ７９］制御部１１０は、既に対象線Ｍとした直線を除き、直線Ｌａ〜Ｌｎから次の対象線Ｍを決定し、ステップＳ５３にすすむ。
［ステップＳ８０］制御部１１０は、全ての直線Ｌａ〜Ｌｎを鮮明と判定したか否かを判定する。制御部１１０は、全ての直線Ｌａ〜Ｌｎを鮮明と判定した場合はステップＳ８２にすすみ、全ての直線Ｌａ〜Ｌｎを鮮明と判定しなかった場合はステップＳ８１にすすむ。
【００９３】
［ステップＳ８１］制御部１１０は、太さ鮮明判定処理の結果を不鮮明とし、太さ鮮明判定処理を終了する。
［ステップＳ８２］制御部１１０は、太さ鮮明判定処理の結果を鮮明とし、太さ鮮明判定処理を終了する。
【００９４】
次に、第２の実施形態の直線近傍鮮明判定処理のイメージについて図１２を用いて説明する。図１２は、第２の実施形態の直線近傍鮮明判定処理のイメージの一例を示す図である。
【００９５】
直線近傍鮮明判定処理のイメージ６００は、帳票画像から抽出した直線の近傍の濃度値に基づいて、帳票画像が鮮明であるか否かを判定する処理の概念図である。
帳票画像６０５に含まれる対象線Ｍ６０１について、所定の間隔で設けた点のうち直線近傍鮮明判定処理で判定する対象の点を対象点Ｑ６０２とする。
【００９６】
対象点Ｑ６０２を中心として所定の大きさの正方形Ｆ６０３を設定し、正方形Ｆ６０３に含まれるそれぞれの点の濃度値について二値化閾値と比較して白色又は黒色の判定をする。たとえば、正方形Ｆ６０３に含まれる対象点Ｓ６０４の濃度値を二値化閾値と比較し、二値化閾値よりも大きい値であった場合、対象点Ｓ６０４は白色と判定される。
【００９７】
正方形Ｆ６０３に含まれるそれぞれの点について白色か黒色かを判定し、白色と判定された点の白色平均濃度値と黒色と判定された点の黒色平均濃度値を求める。
黒色と判定された点の濃度値と黒色平均濃度値との差が黒色閾値以上の差である場合、黒色部の濃度値が所定の範囲内に無いため、帳票画像が鮮明でないと判定する。黒色閾値は、予め環境定義パラメータで設定された値であり、黒色と判定された対象点の濃度値が所定の範囲内であるか否かを判定する値である。また、白色と判定された点の濃度値と白色平均濃度値との差が白色閾値以上の差である場合、白色部の濃度値が所定の範囲内に無いため、帳票画像が鮮明でないと判定する。白色閾値は、予め環境定義パラメータで設定された値であり、白色と判定された対象点の濃度値が所定の範囲内であるか否かを判定する値である。黒色と判定された点の濃度値と白色と判定された点の濃度値それぞれについて、黒色閾値および白色閾値の範囲内に無い場合（濃度値にバラツキがある場合）は、帳票画像６０５に滲みやぼけが発生している蓋然性が高い。このため、帳票画像６０５は、不鮮明であると判定される。
【００９８】
また、黒色平均濃度値と白色平均濃度値との差が白黒濃度閾値以下である場合、白色と黒色とのコントラストが少ないため、帳票画像が鮮明でないと判定する。白黒濃度閾値は、予め環境定義パラメータで設定された値であり、白色と判定された部分と黒色と判定された部分とのコントラストの差を判定する基準となる値である。
【００９９】
このように、帳票画像から抽出した直線の近傍の濃度値に基づいて、帳票画像が鮮明であるか否かを判定できる。
次に、図１３から図１５を用いて第２の実施形態の直線近傍鮮明判定処理について説明する。図１３は、第２の実施形態の直線近傍鮮明判定処理のフローチャートを示す図である（その１）。図１４は、第２の実施形態の直線近傍鮮明判定処理のフローチャートを示す図である（その２）。図１５は、第２の実施形態の直線近傍鮮明判定処理のフローチャートを示す図である（その３）。
【０１００】
直線近傍鮮明判定処理は、帳票画像から抽出した直線の近傍の濃度値に基づいて、帳票画像が鮮明であるか否かを判定する処理である。直線近傍鮮明判定処理は、画像鮮明判定処理のステップＳ３８で、サーバ装置２００の制御部１１０（プロセッサ１１１）が実行する処理である。
【０１０１】
［ステップＳ９１］制御部１１０は、ステップＳ５１で抽出した直線Ｌａ〜Ｌｎから対象線Ｍを決定する。
［ステップＳ９２］制御部１１０は、対象線Ｍ上の点Ｐａ〜Ｐｎから対象点Ｑを決定する。
【０１０２】
［ステップＳ９３］制御部１１０は、ステップＳ７０で求めた対象点Ｑの太さの値を取得する。
［ステップＳ９４］制御部１１０は、対象点Ｑを中心として囲む正方形Ｆの一辺の値を設定する。より具体的には、制御部１１０は、対象点Ｑの太さを上回る最小の奇数のピクセル数が正方形Ｆの一辺の値となるよう設定する。図１２の例では、対象線Ｍ６０１の太さは３ピクセルであり、正方形Ｆ６０３の一辺の値は５ピクセルと設定されている。
【０１０３】
［ステップＳ９５］制御部１１０は、正方形Ｆの内側領域から１ピクセル抽出し対象点Ｓを決定する。たとえば、制御部１１０は、正方形Ｆの内側領域の角に位置する点から順に対象点Ｓと決定できる。
【０１０４】
［ステップＳ９６］制御部１１０は、対象点Ｓの濃度値と二値化閾値を比較する。
［ステップＳ９７］制御部１１０は、ステップＳ９６における比較結果、対象点Ｓは黒色か否かを判定する。たとえば、二値化閾値よりも対象点Ｓの濃度値が少ない場合は、対象点Ｓは黒色であると判定する。
【０１０５】
制御部１１０は、比較した結果、対象点Ｓが黒色である場合はステップＳ９９にすすみ、対象点Ｓが黒色でない場合はステップＳ９８にすすむ。
［ステップＳ９８］制御部１１０は、対象点Ｓを白色対象点とする。
【０１０６】
［ステップＳ９９］制御部１１０は、対象点Ｓを黒色対象点とする。
［ステップＳ１００］制御部１１０は、正方形Ｆの内側領域の全ての点の濃度値について二値化閾値と比較済みか否かを判定する。
【０１０７】
制御部１１０は、全ての点の濃度値について比較済みである場合はステップＳ１０２にすすみ、比較済みでない場合はステップＳ１０１にすすむ。
［ステップＳ１０１］制御部１１０は、既に対象点Ｓとした点を除き、正方形Ｆの内側領域から次の対象点Ｓを決定し、ステップＳ９６にすすむ。
【０１０８】
［ステップＳ１０２］制御部１１０は、黒色対象点について、黒色平均濃度値を算出する。言い換えると、制御部１１０は、ステップＳ９９で黒色対象点とした全ての対象点Ｓの濃度値を加算し、加算した値を黒色対象点の個数で割ることで黒色平均濃度値を求める。
【０１０９】
［ステップＳ１０３］制御部１１０は、各黒色対象点の濃度値と黒色平均濃度値との差を算出する。
［ステップＳ１０４］制御部１１０は、ステップＳ１０３で算出した結果、黒色閾値以上の差のある黒色対象点が存在するか否かを判定する。黒色閾値は、予め環境定義パラメータで設定された値であり、黒色と判定された対象点の濃度値が所定の範囲内であるか否かを判定する値である。黒色閾値は、２５６段階のグレースケールで指定される値であり、たとえば「１０」と設定される。
【０１１０】
制御部１１０は、黒色閾値以上の差のある黒色対象点が存在する場合はステップＳ１１０にすすみ、存在しない場合はステップＳ１０５にすすむ。
［ステップＳ１０５］制御部１１０は、白色対象点について、白色平均濃度値を算出する。言い換えると、制御部１１０は、ステップＳ９８で白色対象点とした全ての対象点Ｓの濃度値を加算し、加算した値を白色対象点の個数で割ることで白色平均濃度値を求める。
【０１１１】
［ステップＳ１０６］制御部１１０は、各白色対象点の濃度値と白色平均濃度値との差を算出する。
［ステップＳ１０７］制御部１１０は、ステップＳ１０６で算出した結果、白色閾値以上の差のある白色対象点が存在するか否かを判定する。白色閾値は、予め環境定義パラメータで設定された値であり、白色と判定された対象点の濃度値が所定の範囲内であるか否かを判定する値である。白色閾値は、２５６段階のグレースケールで指定される値であり、たとえば「２０」と設定される。
【０１１２】
制御部１１０は、白色閾値以上の差のある白色対象点が存在する場合はステップＳ１１０にすすみ、存在しない場合はステップＳ１０８にすすむ。
［ステップＳ１０８］制御部１１０は、黒色平均濃度値と白色平均濃度値の差を算出する。
【０１１３】
［ステップＳ１０９］制御部１１０は、ステップＳ１０８で算出した結果、黒色平均濃度値と白色平均濃度値の差は白黒濃度閾値以下であるか否かを判定する。白黒濃度閾値は、予め環境定義パラメータで設定された値であり、白色と判定された部分と黒色と判定された部分とのコントラストの差を判定する基準となる値である。黒色平均濃度値と白色平均濃度値の差が白黒濃度閾値以下である場合は、帳票画像において白黒の差が明確でない場合であり制御部１１０が不鮮明と判定する。
【０１１４】
制御部１１０は、平均濃度値の差が白黒濃度閾値以下である場合はステップＳ１１０にすすみ、白黒濃度閾値以下でない場合はステップＳ１１１にすすむ。
［ステップＳ１１０］制御部１１０は、対象点Ｑを不鮮明と判定する。
【０１１５】
［ステップＳ１１１］制御部１１０は、対象点Ｑを鮮明と判定する。
［ステップＳ１１２］制御部１１０は、全ての点Ｐａ〜Ｐｎについて対象点Ｑとしたか否かを判定する。制御部１１０は、全ての点を対象点Ｑとしていない場合はステップＳ１１３にすすみ、全ての点を対象点Ｑとした場合はステップＳ１１４にすすむ。
【０１１６】
［ステップＳ１１３］制御部１１０は、既に対象点Ｑとした点を除き、点Ｐａ〜Ｐｎから次の対象点Ｑを決定し、ステップＳ９３にすすむ。
［ステップＳ１１４］制御部１１０は、対象線Ｍを鮮明と判定する。
【０１１７】
［ステップＳ１１５］制御部１１０は、対象線Ｍを不鮮明と判定する。
［ステップＳ１１６］制御部１１０は、全ての直線Ｌａ〜Ｌｎについて、対象線Ｍとしたか否かを判定する。制御部１１０は、全ての直線Ｌａ〜Ｌｎについて対象線Ｍとしていない場合はステップＳ１１７にすすみ、全ての直線Ｌａ〜Ｌｎについて対象線Ｍとした場合はステップＳ１１９にすすむ。
【０１１８】
［ステップＳ１１７］制御部１１０は、既に対象線Ｍとした直線を除き、直線Ｌａ〜Ｌｎから次の対象線Ｍを決定し、ステップＳ９２にすすむ。
［ステップＳ１１８］制御部１１０は、直線近傍鮮明判定処理の結果を不鮮明とし、直線近傍鮮明判定処理を終了する。
【０１１９】
［ステップＳ１１９］制御部１１０は、直線近傍鮮明判定処理の結果を鮮明とし、直線近傍鮮明判定処理を終了する。
次に、第２の実施形態の画像正立判定処理のイメージについて図１６を用いて説明する。図１６は、第２の実施形態の画像正立判定処理のイメージの一例を示す図である。
【０１２０】
画像正立判定処理のイメージ７００は、帳票画像に含まれる文字を抽出し、角度を変えて文字認識をすることで帳票画像が正立か否かを判定する処理の概念を示した図である。
まず、手順１として、帳票画像７０１に含まれる文字を、ラベリングの技術を用いて矩形の文字認識領域（矩形領域）として抽出する。抽出した矩形領域をサイズの大きい順に、矩形領域Ａ７０２、矩形領域Ｂ７０３、矩形領域Ｃ７０４、矩形領域Ｄ７０５、矩形領域Ｅ７０６とする。なお、帳票画像７０１には複数の文字が含まれているが、サイズの大きい文字から順に所定数の文字を矩形領域として抽出し、文字認識対象とする。サイズの大きい文字は、読み取り易いため誤認識が少ないからである。また、サイズの大きい文字は、帳票のタイトルである場合が多いため、平易な用語が用いられ文字認識できる蓋然性が高いためである。これに対し、サイズの小さな文字は、帳票画像をイメージスキャナ１２１で取得する際に文字が潰れる可能性がある。また、サイズの小さな文字は、帳票が契約書である場合は契約内容の説明文章の文字であり画数が多く難解な文字が用いられる場合が多く、文字認識に不向きな傾向がある。このため、文字サイズの大きい文字から順に文字認識を行うことで、文字認識する効率を高める。
【０１２１】
次に、手順２として、抽出した矩形領域Ａ７０２〜矩形領域Ｅ７０６それぞれについて、回転角０度、９０度、１８０度、２７０度と角度を変えて文字認識する。手順２の例では、矩形領域Ａ７０２の角度を変えた例を示している。各矩形領域について各回転角で文字認識を行い、文字認識が可能であった文字数が多い角度が０度である場合、帳票画像は正立であると判定される。
【０１２２】
次に、図１７から図１９を用いて第２の実施形態の画像正立判定処理について説明する。図１７は、第２の実施形態の画像正立判定処理のフローチャートを示す図である（その１）。図１８は、第２の実施形態の画像正立判定処理のフローチャートを示す図である（その２）。図１９は、第２の実施形態の画像正立判定処理のフローチャートを示す図である（その３）。
【０１２３】
画像正立判定処理は、帳票画像に含まれる文字を抽出し、角度を変えて文字認識をすることで帳票画像が正立か否かを判定する処理である。画像正立判定処理は、帳票画像判定処理のステップＳ１８で、サーバ装置２００の制御部１１０（プロセッサ１１１）が実行する処理である。
【０１２４】
［ステップＳ１３１］制御部１１０は、帳票画像に対し二値化処理を行う。
［ステップＳ１３２］制御部１１０は、ステップＳ１３１において二値化処理した帳票画像に対してラベリング処理を行い、黒画素の外形を囲む矩形領域を抽出する。
【０１２５】
［ステップＳ１３３］制御部１１０は、ステップＳ１３２で抽出した矩形領域に基づき、文字画像を含む矩形領域をサイズ上位から所定数抽出する。抽出する所定数は、予め環境定義パラメータで設定できる値であり、たとえば「１０」である。
【０１２６】
［ステップＳ１３４］制御部１１０は、ステップＳ１３３において、所定数の矩形領域が抽出できたか否かを判定する。制御部１１０は、矩形領域が抽出できた場合はステップＳ１３５にすすみ、矩形領域が抽出できない場合はステップＳ１５５にすすむ。
【０１２７】
［ステップＳ１３５］制御部１１０は、矩形領域から認識対象の文字画像を取得する。
［ステップＳ１３６］制御部１１０は、ステップＳ１３５で取得した文字画像を回転角度０度で文字認識する。
【０１２８】
［ステップＳ１３７］制御部１１０は、回転角度０度で文字認識できたか否かを判定する。制御部１１０は、回転角度０度で文字認識できた場合はステップＳ１３８にすすみ、文字認識できない場合はステップＳ１３９にすすむ。
【０１２９】
［ステップＳ１３８］制御部１１０は、０度認識カウンタに１ポイント加算する。０度認識カウンタは、回転角度０度で文字認識できた文字の個数を数えるための値である。
［ステップＳ１３９］制御部１１０は、ステップＳ１３５で取得した文字画像を回転角度９０度で文字認識する。
【０１３０】
［ステップＳ１４０］制御部１１０は、回転角度９０度で文字認識できたか否かを判定する。制御部１１０は、回転角度９０度で文字認識できた場合はステップＳ１４１にすすみ、文字認識できない場合はステップＳ１４２にすすむ。
【０１３１】
［ステップＳ１４１］制御部１１０は、９０度認識カウンタに１ポイント加算する。９０度認識カウンタは、回転角度９０度で文字認識できた文字の個数を数えるための値である。
【０１３２】
［ステップＳ１４２］制御部１１０は、ステップＳ１３５で取得した文字画像を回転角度１８０度で文字認識する。
［ステップＳ１４３］制御部１１０は、回転角度１８０度で文字認識できたか否かを判定する。制御部１１０は、回転角度１８０度で文字認識できた場合はステップＳ１４４にすすみ、文字認識できない場合はステップＳ１４５にすすむ。
【０１３３】
［ステップＳ１４４］制御部１１０は、１８０度認識カウンタに１ポイント加算する。１８０度認識カウンタは、回転角度１８０度で文字認識できた文字の個数を数えるための値である。
【０１３４】
［ステップＳ１４５］制御部１１０は、ステップＳ１３５で取得した文字画像を回転角度２７０度で文字認識する。
［ステップＳ１４６］制御部１１０は、回転角度２７０度で文字認識できたか否かを判定する。制御部１１０は、回転角度２７０度で文字認識できた場合はステップＳ１４７にすすみ、文字認識できない場合はステップＳ１４８にすすむ。
【０１３５】
［ステップＳ１４７］制御部１１０は、２７０度認識カウンタに１ポイント加算する。２７０度認識カウンタは、回転角度２７０度で文字認識できた文字の個数を数えるための値である。
【０１３６】
［ステップＳ１４８］制御部１１０は、未だ文字認識を行っていない未認識の矩形領域が有るか否かを判定する。制御部１１０は、未認識の矩形領域が有る場合はステップＳ１４９にすすみ、未認識の矩形領域が無い場合はステップＳ１５０にすすむ。
【０１３７】
［ステップＳ１４９］制御部１１０は、既に認識対象とした矩形領域を除き、未認識の矩形領域から認識対象の文字画像を取得し、ステップＳ１３５にすすむ。
［ステップＳ１５０］制御部１１０は、０度認識カウンタと、９０度認識カウンタと、１８０度認識カウンタと、２７０度認識カウンタのうちから、最高ポイント数を有する認識カウンタを選定する。
【０１３８】
［ステップＳ１５１］制御部１１０は、０度認識カウンタが最高ポイント数か否かを判定する。制御部１１０は、０度認識カウンタが最高ポイント数を有する場合はステップＳ１５２にすすみ、０度認識カウンタが最高ポイント数を有さない場合はステップＳ１５５にすすむ。
【０１３９】
［ステップＳ１５２］制御部１１０は、文字認識した累計文字数は、文字認識上限数以下か否かを判定する。文字認識上限数は、予め環境定義パラメータで設定できる値であり、たとえば、文字認識上限数を「１００」と設定できる。
【０１４０】
制御部１１０は、累計文字数が文字認識上限数以下である場合はステップＳ１５３にすすみ、累計文字数が文字認識上限数以下でない場合はステップＳ１５５にすすむ。
［ステップＳ１５３］制御部１１０は、最高ポイント数に基づき、文字認識率を算出する。より具体的には、制御部１１０は、０度認識カウンタのポイント数を文字認識対象とした全文字数で割ることで、文字認識率を算出する。たとえば、文字認識した文字数が「１０」であり、１０文字全てについて回転角度０度で文字認識できた場合（０度認識カウンタのポイント数１０の場合）、文字認識率は１００％となる。
【０１４１】
［ステップＳ１５４］制御部１１０は、ステップＳ１５３で算出した文字認識率は、文字認識率閾値以上であるか否かを判定する。文字認識率閾値は、予め環境定義パラメータで設定できる値であり、たとえば、文字認識率閾値を「８０」（％）と設定できる。
【０１４２】
制御部１１０は、文字認識率が文字認識率閾値以上でない場合はステップＳ１５５にすすみ、文字認識率が文字認識率閾値以上である場合はステップＳ１５６にすすむ。
［ステップＳ１５５］制御部１１０は、画像正立判定処理の結果を異常とし、画像正立判定処理を終了する。
【０１４３】
［ステップＳ１５６］制御部１１０は、画像正立判定処理の結果を正立とし、画像正立判定処理を終了する。
こうして、サーバ装置２００は、帳票画像が鮮明であるか否かの判定と、帳票画像が正立であるか否かの判定に基づき、帳票画像が正しく読み取れたか否かを判定できる。
【０１４４】
サーバ装置２００により帳票画像判定処理を実行することにより、帳票画像について一定の画質を保つことができる。また、サーバ装置２００が帳票画像判定処理を実行することにより、オペレータが目視で判定していた作業を軽減できる。こうして、帳票画像判定装置１は、帳票画像を判定する処理を改善できる。
【０１４５】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、帳票読取装置１００、サーバ装置２００が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ：Flexible Disk）、磁気テープ等がある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷ等がある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）等がある。
【０１４６】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１４７】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
【０１４８】
また、上記の処理機能の少なくとも一部を、ＤＳＰ、ＡＳＩＣ、ＰＬＤ等の電子回路で実現することもできる。
【符号の説明】
【０１４９】
１  帳票画像判定装置
２  記憶部
３  制御部
４  帳票画像
５  鮮明判定処理
６  正立判定処理
７ａ，７ｂ，７ｃ  文字認識領域
１０  ネットワーク
１００  帳票読取装置
１１０  制御部
１１１  プロセッサ
１１２  ＲＡＭ
１１３  ＨＤＤ
１１４  入出力信号インタフェース
１１５  記憶媒体インタフェース
１１６  通信インタフェース
１１７  バス
１１８  モニタ
１１９  キーボード
１２０  マウス
１２１  イメージスキャナ
１２２  記憶媒体
２００  サーバ装置
３００  帳票画像判定システム
【図１】
0006438369.tif 000002
【図２】
0006438369.tif 000003
【図３】
0006438369.tif 000004
【図４】
0006438369.tif 000005
【図５】
0006438369.tif 000006
【図６】
0006438369.tif 000007
【図７】
0006438369.tif 000008
【図８】
0006438369.tif 000009
【図９】
0006438369.tif 000010
【図１０】
0006438369.tif 000011
【図１１】
0006438369.tif 000012
【図１２】
0006438369.tif 000013
【図１３】
0006438369.tif 000014
【図１４】
0006438369.tif 000015
【図１５】
0006438369.tif 000016
【図１６】
0006438369.tif 000017
【図１７】
0006438369.tif 000018
【図１８】
0006438369.tif 000019
【図１９】
0006438369.tif 000020