(58)【調査した分野】(Int.Cl.,DB名)
前記基準マークは、前記第1頂点が成す角と同じ向きに、直角部分を有するL字形状で前記帳票に印字されていることを特徴とする請求項1に記載の帳票読取プログラム。
前記補正後帳票イメージ生成手段は、前記第1頂点を構成する辺の直線部分を直線上に延伸し、延伸した前記直線部分が交差する交点の位置に前記第1頂点を移動して前記第1頂点の歪みを補正することを特徴とする請求項1に記載の帳票読取プログラム。
【発明を実施するための形態】
【0012】
以下、実施形態を図面を参照して説明を行う。
[第一実施形態]
第一実施形態について
図1を用いて説明する。
【0013】
図1は、第一実施形態における情報処理装置の構成例を示す図である。情報処理装置10は、帳票の文字認識領域内の文字を認識する装置である。情報処理装置10は、帳票をイメージデータ化した帳票イメージ21に対して文字認識を行うことで帳票の文字認識領域内の文字を認識する。
【0014】
帳票イメージ21は、帳票をスキャナ等により撮影したイメージデータであり、撮影する際の帳票の角部の浮き上がりの影響で、角部21bが歪んでいる。角部21bは、基準マーク21cが配置された第1頂点21aを含む第1頂点21a周辺の領域であり、帳票の浮き上がった角部に相当する部分である。帳票イメージ21は、角部21bが歪んでいるため、基準マーク21cおよび第1頂点21aが歪んでいる。
【0015】
基準マーク21cは、帳票の基準マークをイメージデータ化したものである。基準マークは、帳票に印字された文字認識領域の印字ずれの補正に用いる記号である。基準マークは、文字領域に対して形状や印字位置が予め定義されており、帳票に文字認識領域がプリ印字される際に角部に印字される。したがって、帳票の文字認識領域に印字ずれが生じている場合には、基準マークにも同様に印字ずれが生じる。
【0016】
このため、情報処理装置10は、基準マーク21cを用いる事で、帳票イメージ21上で文字認識領域の印字ずれを補正できる。たとえば、情報処理装置10は、帳票イメージ21上で基準マーク21cを、定義された印字位置に補正(回転、平行移動)することで、文字認識領域を定義した位置に補正できる。また、情報処理装置10は、帳票イメージ21上で文字認識領域を特定する際に、基準マーク21cから相対的に文字認識領域の位置を特定することで、間接的に文字認識領域の印字ずれを補正することもできる。
【0017】
なお、オペレータは、できるだけ帳票をマット等から浮き上がらないようにマット等に帳票を載置して撮影する。そのため、通常、帳票は、帳票の角部以外が浮き上がっている場合には、オペレータによって載置し直される。
【0018】
情報処理装置10は、第1抽出部11と、第2抽出部12と、補正後帳票イメージ生成部13と、取得部14と、算出部15と、特定部16とを備える。
第1抽出部11は、帳票から取得した帳票イメージ21から第1頂点21aを特定し、第1頂点21aの第1歪み量を抽出する。第1歪み量は、第1頂点21aの歪み具合を表す情報であり、たとえば、第1頂点21aの角度を用いて抽出される。通常、帳票は矩形であるため、第1抽出部11は、第1頂点21aの角度によって、第1頂点21aの第1歪み量を抽出できる。第1頂点21aの歪み具合は、角部21bに含まれる第1頂点21a周辺の歪み具合であり、たとえば、第1頂点21a周辺の帳票イメージ21の枠体(角部21bに含まれる帳票イメージ21の枠体)の歪みである。
【0019】
第2抽出部12は、基準マーク21cを、帳票イメージ21から検出して、基準マーク21cの第2歪み量を抽出する。第2歪み量は、基準マーク21cの歪み具合を表す情報であり、たとえば、検出した基準マーク21cの形状と予め定義されている形状とから抽出される。
【0020】
補正後帳票イメージ生成部13は、帳票イメージ21から第1頂点21aの歪みを補正した補正後帳票イメージを生成する。補正後帳票イメージ生成部13は、帳票イメージ21が矩形になるように第1頂点21aの位置を補正することで補正後帳票イメージを生成する。取得部14は、帳票イメージ21を補正後帳票イメージに補正した際の第1頂点21aの第1補正量を取得する。
【0021】
算出部15は、第1歪み量と、第1補正量と、第2歪み量とに基づいて基準マーク21cの第2補正量を算出する。角部21bの歪み方によっては第1頂点21aの歪み具合と基準マーク21cの歪み具合が異なる場合がある。そのため、情報処理装置10は、第1頂点21aと同様に基準マーク21cを第1補正量で補正すると、歪みがない場合の位置と異なる位置に基準マーク21cを補正してしまうことがある。
【0022】
そこで、算出部15は、第1歪み量と第2歪み量を用いて、第1補正量を変換することで、第1歪み量(第1頂点21aの歪み具合)に応じた第1補正量から第2歪み量(基準マーク21cの歪み具合)に応じた第2補正量を算出する。特定部16は、第2補正量に基づいて補正後帳票イメージにおける基準マーク21cの位置を特定する。
【0023】
このように、情報処理装置10は、第1頂点21aを第1頂点21aの歪み具合に応じた第1補正量で補正し、基準マーク21cを基準マーク21cの歪み具合に応じた第2補正量で補正するため、角部21bの歪みを適切に補正できる。そのため、角部21bが歪んだ帳票イメージ21を取得した場合でも、情報処理装置10は、角部21bの歪みを適切に補正し、歪みを適切に補正した基準マーク21cを用いて、文字認識領域の印字ずれの補正を実行できる。
【0024】
以上から、情報処理装置10は、角部21bが歪んだ帳票イメージ21に対して、角部21bの歪みを適切に補正した後に、さらに、文字認識領域の印字ずれの補正を実行するため、精度よく文字認識を実行できる。
【0025】
[第二実施形態]
次に第二実施形態の概要について
図2を用いて説明する。
図2は、第二実施形態における帳票読取システムの概要を示す図である。帳票読取システム30は、帳票から帳票イメージを取得して、帳票イメージに対して文字認識を実行することで帳票の記入内容を読取るシステムである。帳票読取システム30は、銀行等の金融機関で利用され、利用者が帳票に記入した記入内容を文字認識により取得する。
【0026】
帳票読取システム30は、帳票読取装置40と、帳票読取装置40と接続するオーバーヘッドスキャナ50とを備える。
オーバーヘッドスキャナ50は、利用者から受付けた帳票をマット等に載置して、撮影し帳票イメージを取得する。オーバーヘッドスキャナ50は、取得した帳票イメージを帳票読取装置40に送信する。帳票イメージは、撮影時に帳票の角部がマット等から浮き上がることで、浮き上がった角部に相当する部分が歪む場合がある。
【0027】
なお、オペレータは、できるだけ帳票をマット等から浮き上がらないようにマット等に帳票を載置してオーバーヘッドスキャナ50で撮影する。そのため、帳票は、通常、帳票の角部以外が浮き上がっている場合には、オペレータによって載置し直される。
【0028】
帳票読取装置40は、帳票イメージに対して文字認識を実行して帳票の記入内容を読取る装置である。帳票読取装置40は、帳票イメージに対して歪みの補正と印字ずれの補正を実行した後に、文字認識を実行する。
【0029】
なお、帳票読取装置40は、図示しない外部端末からネットワークを介して帳票イメージを取得することもできる。なお、帳票読取装置40は、情報処理装置10の一実施形態である。
【0030】
次に帳票について
図3を用いて説明する。
図3は、第二実施形態における帳票の一例を示す図である。
図3に示すように帳票60は、氏名領域61aと住所領域61bとトンボ62a、62b、62c、62dとを含んで構成される。氏名領域61aは、利用者が氏名を記入する領域であり、文字認識領域の一実施形態である。氏名領域61aは、角部63a、63b、63c、63dを除いた部分に印字される。住所領域61bは、利用者が住所を記入する領域であり、文字認識領域の一実施形態である。住所領域61bは、角部63a、63b、63c、63dを除いた部分に印字される。
【0031】
角部63a、63b、63c、63dは、帳票60の頂点を含む頂点周辺の領域である。なお、角部63a、63b、63c、63dは、撮影時にマット等から浮き上がる可能性がある部分である。角部63a、63b、63c、63dが浮き上がった状態の帳票60を、オーバーヘッドスキャナ50が撮影すると帳票イメージ上の角部63a、63b、63c、63dに相当する部分が歪む。
【0032】
通常、オペレータは、できるだけ帳票60をマット等から浮き上がらないようにマット等に帳票60を載置してオーバーヘッドスキャナ50で撮影する。そのため、帳票60は、通常、帳票60の角部63a、63b、63c、63d以外の部分が浮き上がっている場合には、オペレータによって載置し直される。
【0033】
トンボ62a、62b、62c、62dは、印字ずれの補正に用いる記号であり、帳票に氏名領域61aおよび住所領域61bがプレ印字される際に、帳票60の定義された位置に印字される。
【0034】
トンボ62a、62b、62c、62dは、角部63a、63b、63c、63dに予め定義された所定の形状で印字される。具体的にはトンボ62a、62b、62c、62dの形状は、トンボ62a、62b、62c、62dが印字される角部63a、63b、63c、63dが含む頂点が成す角と同じ向きに、直角部分を有するL字形状である。すなわち、L字形状を構成する2辺は、帳票の頂点を構成する2辺と平行または垂直な関係であり、なおかつL字形状の帳票の内側方向を向いている角(以下、内角)が直角である。
【0035】
上述したようにトンボ62a、62b、62c、62dは、氏名領域61aおよび住所領域61bがプレ印字される際に印字されるため、氏名領域61aおよび住所領域61bの印字がずれている場合には、同様に印字がずれている。したがって、帳票読取装置40は、トンボ62a、62b、62c、62dの印字ずれによって帳票全体(文字認識領域)の印字ずれを認識可能である。すなわち、帳票読取装置40は、帳票60の帳票イメージ上でイメージデータ化したトンボ62a、62b、62c、62dを定義した位置に補正(回転、平行移動)することで、帳票イメージ全体の印字ずれを補正できる。
【0036】
また、トンボ62a、62b、62c、62dは、所定の形状で印字されるため、イメージデータ化したトンボ62a、62b、62c、62dが歪んだ場合、イメージデータ化したトンボ62a、62b、62c、62dの形状から歪み具合を表す歪み量を抽出できる。
【0037】
特に、各トンボを帳票60にL字形状で印字することによって、各トンボは、対応する頂点周辺の枠体(角部に含まれる部分)と同様の形状になる。これにより、帳票読取装置40は、イメージデータ化した帳票60の頂点周辺の枠体(角部に含まれる部分)の歪み具合と、イメージデータ化したトンボの歪み具合とを、同一の基準(直角からの変化量)で評価できる。なお、頂点周辺の枠体の歪み具合は、第1頂点21aの歪み具合の一実施形態である。
【0038】
次に帳票イメージについて
図4を用いて説明する。
図4は、第二実施形態における帳票イメージの一例を示す図である。
帳票イメージ70は、
図3の帳票60を角部63aが浮き上がった状態で撮影したイメージデータであり、帳票部71と、背景部72とを含む。帳票部71は、帳票に相当する部分(帳票60をイメージデータ化した部分)である。背景部72は、帳票を載置したマット等に相当する部分である。
【0039】
帳票部71は、トンボ62a、62b、62c、62dがイメージデータ化したトンボ74a、74b、74c、74dと、氏名領域61aおよび住所領域61bがイメージデータ化した氏名領域73aおよび住所領域73bを有する。
【0040】
帳票部71は、角部75a(帳票60の角部63aをイメージデータ化した部分)が浮き上がりの影響で歪み、角部75a以外(氏名領域73aや住所領域73b等)は歪んでいない。帳票部71は、角部75aの歪みの影響で、帳票部71の頂点周辺の枠体(角部75aに含まれる部分)と、トンボ74aが歪んでいる。なお、帳票部71では、角部75aに含まれる頂点が成す角の角度は、トンボ74aの内角が成す角度よりも鋭角になっており、角部75aの頂点周辺の帳票部71の枠体がトンボ74aよりも歪んでいる。
【0041】
次に帳票読取装置40のハードウェア構成について
図5を用いて説明する。
図5は、第二実施形態における帳票読取装置のハードウェアの一構成例を示す図である。
帳票読取装置40は、プロセッサ401によって装置全体が制御されている。プロセッサ401には、バス409を介してRAM(Random Access Memory)402と複数の周辺機器が接続されている。プロセッサ401は、マルチプロセッサであってもよい。プロセッサ401は、たとえばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。またプロセッサ401は、CPU、MPU、DSP、ASIC、PLDのうちの2以上の要素の組み合わせであってもよい。
【0042】
RAM402は、帳票読取装置40の主記憶装置として使用される。RAM402には、プロセッサ401に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM402には、プロセッサ401による処理に必要な各種データが格納される。
【0043】
バス409に接続されている周辺機器としては、HDD(Hard Disk Drive)403、グラフィック処理装置404、入力インタフェース405、光学ドライブ装置406、機器接続インタフェース407およびネットワークインタフェース408がある。
【0044】
HDD403は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD403は、帳票読取装置40の補助記憶装置として使用される。HDD403には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
【0045】
グラフィック処理装置404には、モニタ404aが接続されている。グラフィック処理装置404は、プロセッサ401からの命令に従って、画像をモニタ404aの画面に表示させる。モニタ404aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
【0046】
モニタ404aは、オペレータに対して画像を表示するモニタである。モニタ404aは、たとえば、帳票イメージ等を表示する。
入力インタフェース405には、キーボード405aとマウス405bとが接続されている。入力インタフェース405は、キーボード405aやマウス405bから送られてくる信号をプロセッサ401に送信する。なお、マウス405bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【0047】
光学ドライブ装置406は、レーザ光などを利用して、光ディスク406aに記録されたデータの読み取りを行う。光ディスク406aは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク406aには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
【0048】
機器接続インタフェース407は、帳票読取装置40に周辺機器を接続するための通信インタフェースである。たとえば機器接続インタフェース407には、メモリ装置407aやメモリリーダライタ407bやオーバーヘッドスキャナ50を接続することができる。メモリ装置407aは、機器接続インタフェース407との通信機能を搭載した記録媒体である。メモリリーダライタ407bは、メモリカード407cへのデータの書き込み、またはメモリカード407cからのデータの読み出しを行う装置である。メモリカード407cは、カード型の記録媒体である。
【0049】
ネットワークインタフェース408は、ネットワーク408aに接続されている。ネットワークインタフェース408は、ネットワーク408aを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【0050】
以上のようなハードウェア構成によって、第二実施形態の帳票読取装置40の処理機能を実現することができる。なお、第一実施形態に示した情報処理装置10も帳票読取装置40と同様のハードウェアにより処理機能を実現することができる。
【0051】
帳票読取装置40は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第二実施形態の処理機能を実現する。帳票読取装置40に実行させる処理を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、帳票読取装置40に実行させるプログラムをHDD403に格納しておくことができる。プロセッサ401は、HDD403内のプログラムの少なくとも一部をRAM402にロードし、プログラムを実行する。また帳票読取装置40に実行させるプログラムを、光ディスク406a、メモリ装置407a、メモリカード407cなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ401からの制御により、HDD403にインストールされた後、実行可能となる。またプロセッサ401が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【0052】
次に帳票読取装置40のハードウェア構成について
図6を用いて説明する。
図6は、第二実施形態における帳票読取装置の機能ブロックを示す図である。
帳票読取装置40は、制御部41と、通信部42と、帳票イメージ取得部43と、二値化部44と、帳票フォーマット特定部45と、歪み補正処理部46と、印字補正部47と、文字認識部48と、を含む。
【0053】
制御部41は、帳票読取装置40が実行する各種処理を制御する。通信部42は、帳票読取装置40が実行する各種通信を制御する。帳票イメージ取得部43は、オーバーヘッドスキャナ50からオーバーヘッドスキャナ50が撮影した帳票イメージを取得する。
【0054】
二値化部44は、帳票イメージ取得部43が取得した帳票イメージを二値化する。帳票フォーマット特定部45は、二値化部44が二値化した帳票イメージのフォーマットを特定する。帳票のフォーマットは、印字がずれていない場合のトンボの頂点の位置(以下、トンボ定義位置)に関する情報や、印字がずれていない場合の文字認識領域(住所領域や氏名領域)の位置に関する情報を含む。たとえば、帳票フォーマット特定部45は、二値化された帳票イメージの帳票部の予め決められた所定の位置から識別情報を取得して、取得した識別情報に基づいて帳票のフォーマットを特定する。
【0055】
歪み補正処理部46は、二値化部44が二値化した帳票イメージの帳票部の角部の歪みを検出して、帳票部の角部の歪みを補正する処理部である。歪み補正処理部46は、頂点情報取得部461と、頂点補正部462と、頂点補正量取得部463と、トンボ情報取得部464と、トンボ補正量算出部465と、トンボ補正部466と、を含む。
【0056】
なお、頂点情報取得部461は、第1抽出部11の一実施形態である。頂点補正部462は、補正後帳票イメージ生成部13の一実施形態である。頂点補正量取得部463は取得部14の一実施形態である。トンボ情報取得部464は、第2抽出部12の一実施形態である。トンボ補正量算出部465は、算出部15の一実施形態である。トンボ補正部466は、特定部16の一実施形態である。
【0057】
頂点情報取得部461は、帳票部の各頂点の位置を特定し、各頂点が成す角の角度を取得する。頂点補正部462は、帳票部の頂点周辺の枠体(角部に含まれる部分)が歪んでいる(頂点が成す角の角度が直角でない)場合に、帳票部が矩形(頂点が成す角が直角)になるように頂点の位置を補正する。頂点補正部462は、頂点情報取得部461が取得した各頂点が成す角の角度が直角でない場合に、帳票部の頂点周辺の枠体(角部に含まれる部分)が歪んでいると判定する。頂点補正部462は、頂点を構成する2辺それぞれの直線部分(帳票の角部の浮き上がりによる影響を受けない帳票部の枠体の中央部分)を用いて頂点を補正する。頂点の補正については、後で
図10、11を用いて詳細に説明する。
【0058】
頂点補正量取得部463は、頂点が成す角が直角になるように頂点の位置を補正した際の頂点の補正量(以下、頂点補正量)を取得する。トンボ情報取得部464は、帳票部の角部からトンボの位置を特定し、特定したトンボの内角の角度を取得する。
【0059】
トンボ補正量算出部465は、トンボ情報取得部464が位置を特定したトンボが歪んでいる場合に、補正量(以下、トンボ補正量)を算出する。トンボ補正量算出部465は、トンボ情報取得部464が位置を特定したトンボの内角が直角(形状が定義された形状)でない場合に、トンボ情報取得部464が位置を特定したトンボが歪んでいると判定する。
【0060】
帳票部の頂点周辺の枠体(角部に含まれる部分)と、当該頂点を含む角部に存在するトンボでは歪み具合が異なる場合がある。したがって、歪み補正処理部46は、帳票部のトンボの位置を頂点補正量で補正すると、歪みがない場合の位置と異なる位置にトンボを補正してしまうことがある。そこでトンボ補正量算出部465は、帳票部の頂点周辺の枠体(角部に含まれる部分)の歪み具合と当該頂点を含む角部のトンボの歪み具合の違いを反映して、頂点補正量をトンボ補正量に変換する補正量変換情報を算出する。
【0061】
具体的には、トンボ補正量算出部465は、頂点情報取得部461が取得した帳票部の頂点が成す角の角度(歪み補正前の角度)と、トンボ情報取得部464が取得した当該頂点を含む角部のトンボの内角の角度とを用いて補正量変換情報を算出する。補正量変換情報は、帳票部の頂点が成す角の角度(帳票部の頂点周辺の枠体の歪み具合)に対する当該頂点を含む角部のトンボの内角の角度(当該頂点を含む角部のトンボの歪み具合)の変化量である。
【0062】
たとえば、トンボ補正量算出部465は、「Sin(帳票部の頂点が成す角の角度)/Sin(当該頂点を含む角部のトンボの内角の角度)」を補正量変換情報として算出する。
【0063】
トンボ補正量算出部465は、算出した補正量変換情報を用いて頂点補正量を変換してトンボ補正量を算出する。トンボ補正部466は、算出したトンボ補正量に基づいて、トンボの補正後の頂点の位置を特定して、トンボの位置を補正する。
【0064】
印字補正部47は、帳票部のトンボを用いて、帳票イメージ上で印字のずれを補正する。印字補正部47は、帳票部のトンボの頂点を結んで仮想矩形を生成し、仮想矩形の帳票部に対する傾きに基づいて帳票イメージ上で印字の傾きを補正する。印字の傾きの補正については、後で
図7、8を用いて詳細に説明する。
【0065】
印字補正部47は、帳票のフォーマットに基づいてトンボ定義位置を特定し、特定したトンボ定義位置を結んだ定義矩形を生成する。印字補正部47は、定義矩形と仮想矩形とに基づいて帳票イメージ上で印字の位置ずれを補正する。印字の位置ずれの補正については、後で
図7、9を用いて詳細に説明する。
【0066】
文字認識部48は、帳票のフォーマットを利用して帳票部の文字認識領域(たとえば、イメージデータ化した氏名領域や住所領域)の位置を特定し、特定した位置に対して文字認識を実行する。
【0067】
次に帳票読取処理について
図7〜9を用いて説明する。
図7は、第二実施形態における帳票読取処理のフローチャートである。
図8は、第二実施形態における仮想矩形が帳票部に対して傾いている帳票イメージの一例を示す図である。
図9は、第二実施形態における仮想矩形が定義矩形とずれている帳票イメージの一例を示す図である。帳票読取装置40は、オーバーヘッドスキャナ50から帳票イメージを受信すると帳票読取処理を開始する。
【0068】
[ステップS11]帳票イメージ取得部43は、オーバーヘッドスキャナ50から受信した帳票イメージを取得する。
[ステップS12]二値化部44は、取得した帳票イメージを二値化する。
【0069】
[ステップS13]帳票フォーマット特定部45は、二値化された帳票イメージのフォーマットを特定する。
[ステップS14]歪み補正処理部46は、帳票イメージの帳票部に対して歪み補正処理を実行する。歪み補正処理は、帳票イメージの帳票部の角部の歪みを検出して、帳票部の角部の歪みを補正する処理である。歪み補正処理については、後で
図10、11を用いて詳細に説明する。
【0070】
[ステップS15]印字補正部47は、帳票部のトンボそれぞれの頂点を結び仮想矩形を生成する。たとえば、印字補正部47は、
図8の帳票イメージ80に示すように、帳票部81のトンボ83a、83b、83c、83dを結び仮想矩形84を生成する。
【0071】
[ステップS16]印字補正部47は、仮想矩形が帳票部に対して傾いているか否かを判定する。印字補正部47は、仮想矩形が帳票部に対して傾いていると判定した場合にはステップS17にすすみ、仮想矩形が帳票部に対して傾いていないと判定した場合にはステップS18にすすむ。
【0072】
印字補正部47は、
図8の帳票イメージ80に示すように、仮想矩形84の各辺と、対向する帳票部81の各辺とが平行でない場合に、仮想矩形84が帳票部81に対して傾いていると判定する。なお、氏名領域および住所領域は、トンボを帳票にプレ印字する際に帳票に印字される。したがって、
図8のように、氏名領域82aおよび住所領域82bは、仮想矩形84と同様の傾斜で帳票部81に対して傾いている。
【0073】
[ステップS17]印字補正部47は、仮想矩形の斜行を補正することで、帳票イメージ上で印字の傾きを補正する。印字補正部47は、
図8の帳票イメージ80の仮想矩形84の各辺が、対向する帳票部81の各辺と平行となるように回転して印字全体を補正する。氏名領域82aおよび住所領域82bは、仮想矩形84と同様の傾斜で帳票部81に対して傾いているため、仮想矩形84の各辺が対向する帳票部81の各辺と平行になると、氏名領域82aおよび住所領域82bの帳票部81に対する傾きも同時に補正される。
【0074】
[ステップS18]印字補正部47は、定義矩形を生成する。印字補正部47は、
図9の帳票イメージ90に示すように、トンボ定義位置93a、93b、93c、93dを結んで定義矩形95を生成する。なお、トンボ定義位置93a、93b、93c、93dは、帳票のフォーマットに記憶された印字ずれがない場合のトンボの頂点の位置である。
【0075】
[ステップS19]印字補正部47は、仮想矩形と定義矩形とのずれ量を算出する。印字補正部47は、
図9の帳票イメージ90に示すように、仮想矩形92の定義矩形95からの第1の方向のずれ量と、第2の方向のずれ量を算出する。
【0076】
なお、氏名領域および住所領域は、トンボを帳票にプレ印字する際に帳票に印字される。したがって、氏名領域91aおよび住所領域91bは、仮想矩形92と定義矩形95との第1の方向のずれ量と、第2の方向のずれ量と同じだけ定義氏名領域94aおよび定義住所領域94bとずれている。
【0077】
定義氏名領域94aは、帳票のフォーマットに記憶された印字ずれがない場合の氏名領域である。定義住所領域94bは、帳票のフォーマットに記憶された印字ずれがない場合の氏名領域である。
【0078】
[ステップS20]印字補正部47は、算出したずれ量に基づいて印字の位置ずれを、帳票イメージ上で補正する。印字補正部47は、
図9の帳票イメージ90の仮想矩形92が、定義矩形95と重なるように平行移動して印字全体を補正する。氏名領域91aおよび住所領域91bは、仮想矩形92と定義矩形95のずれ量と同じだけ定義氏名領域94aおよび定義住所領域94bとずれている。したがって、印字補正部47が仮想矩形92を定義矩形95と重なるように印字全体を補正すると、氏名領域91aおよび住所領域91bは、定義氏名領域94aおよび定義住所領域94bと一致するように補正される。
【0079】
[ステップS21]文字認識部48は、補正後の帳票イメージに対して、帳票のフォーマットを用いて文字認識を実行して、帳票読取処理を終了する。
次に歪み補正処理について
図10、
図11を用いて説明する。
図10は、第二実施形態における歪み補正処理のフローチャートである。
図11は、第二実施形態における歪んだ帳票部の補正例である。
【0080】
歪み補正処理は、帳票部の角部の歪みを補正する処理であり、帳票読取処理のステップS14で行われる処理である。
[ステップS31]頂点情報取得部461は、帳票部から頂点の位置を特定する。
【0081】
[ステップS32]頂点情報取得部461は、特定した頂点が成す角の角度を取得する。頂点情報取得部461は、
図11の帳票部100に示すように、頂点101が成す角の角度A°を取得する。
【0082】
[ステップS33]頂点補正部462は、帳票部の頂点周辺の枠体(角部に含まれる部分)が歪んでいるか否かを判定する。頂点補正部462は、頂点情報取得部461が取得した頂点が成す角の角度が直角でない場合には、帳票部の頂点周辺の枠体(角部に含まれる部分)が歪んでいると判定する。
【0083】
頂点補正部462が、帳票部の頂点周辺の枠体(角部に含まれる部分)が歪んでいると判定した場合にはステップS34にすすみ、帳票部の頂点周辺の枠体(角部に含まれる部分)が歪んでいないと判定した場合にはステップS36にすすむ。
【0084】
[ステップS34]頂点補正部462は、頂点の位置を補正する。頂点補正部462は、頂点を構成する辺の直線部分(帳票の角部の浮き上がりにより歪みの影響を受けない帳票部の枠体の中央部分)を用いて頂点の位置を補正する。
【0085】
頂点補正部462は、
図11の帳票部100に示すように、頂点101を構成する第1の辺102と第2の辺103の直線部分を直線状に延伸し、本来あるべき頂点の位置(定義頂点位置105)を特定する。第1の辺102および第2の辺103の直線部分は、帳票の角部の浮き上がりにより影響を受けていない。
【0086】
そのため、頂点補正部462は、第1の辺102および第2の辺103の直線部分を直線状に延伸することで、歪みがない場合の頂点の位置(定義頂点位置105)を特定できる。具体的には、延伸した第1の辺102の直線部分と、延伸した第2の辺103の直線部分の交点が、歪みがない場合の頂点の位置に形成される。
【0087】
頂点補正部462は、頂点101を定義頂点位置105に移動させて帳票部100の頂点101周辺の枠体(角部104に含まれる部分)の歪みを補正する。
[ステップS35]頂点補正量取得部463は、頂点の位置を定義頂点位置に補正した際の頂点補正量を取得する。頂点補正量取得部463は、
図11の帳票部100に示すように、頂点101から定義頂点位置105までの第1の方向の距離「α」を頂点補正量106aとして取得する。頂点補正量取得部463は、頂点101から定義頂点位置105までの第2の方向の距離「β」を頂点補正量106bとして取得する。
【0088】
[ステップS36]トンボ情報取得部464は、帳票部の角部からトンボの位置を特定する。トンボ情報取得部464は、角部104に含まれる頂点101周辺の帳票部100の枠体の歪みを補正する前の帳票部においてトンボの位置を特定する。トンボ情報取得部464は、
図11の帳票部100に示すように、角部104からトンボ107の位置を特定する。
【0089】
[ステップS37]トンボ情報取得部464は、特定したトンボの内角の角度(形状)を取得する。トンボ情報取得部464は、
図11の帳票部100に示すように、トンボ107の角度B°を取得する。
【0090】
[ステップS38]トンボ補正量算出部465は、トンボ情報取得部464が特定したトンボが歪んでいるか否かを判定する。トンボ補正量算出部465は、トンボ情報取得部464が特定したトンボの内角が直角(定義された形状)でない場合に、トンボが歪んでいると判定する。
【0091】
トンボ補正量算出部465が、トンボ情報取得部464が特定したトンボが歪んでいると判定した場合にはステップS39にすすみ、トンボ情報取得部464が特定したトンボが歪んでいないと判定した場合にはステップS42にすすむ。
【0092】
[ステップS39]トンボ補正量算出部465は、頂点補正量をトンボ補正量に変換する補正量変換情報を算出する。トンボ補正量算出部465は、頂点が成す角の角度(帳票部の頂点周辺の枠体(角部に含まれる部分)の歪み具合を表す情報)と、当該頂点を含む角部のトンボの内角の角度(トンボの歪み具合を表す情報)とを用いて補正量変換情報を算出する。たとえば、トンボ補正量算出部465は、
図11の帳票部100の場合には、「SinB°/SinA°」を補正量変換情報として算出する。
【0093】
[ステップS40]トンボ補正量算出部465は、トンボ補正量を算出する。トンボ補正量算出部465は、
図11の帳票部100の場合には、第1の方向の頂点補正量106aを補正量変換情報で変換して第1の方向のトンボ補正量108aを「α×(SinB°/SinA°)」と算出する。また、トンボ補正量算出部465は、第2の方向の頂点補正量106bを補正量変換情報で変換して第2の方向のトンボ補正量108bを「β×(SinB°/SinA°)」と算出する。
【0094】
[ステップS41]トンボ補正部466は、算出したトンボ補正量に基づいてトンボの補正後の位置を特定してトンボの位置を(歪みを)補正する。
[ステップS42]トンボ補正部466は、全ての頂点で歪み補正を行ったか否かを判定する。トンボ補正部466は、全ての頂点で歪み補正を行ったと判定した場合には歪み補正処理を終了し、全ての頂点で歪み補正を行っていないと判定した場合にはステップS31にすすむ。
【0095】
以上が第二実施形態における帳票読取システム30である。帳票読取システム30では、角部が歪んだ帳票部を含む帳票イメージを取得すると、帳票読取装置40は、当該角部に含まれる頂点周辺の枠体の歪みを、当該頂点を構成する辺の直線部分を用いて枠体の歪みを補正して、補正した際に頂点を移動した補正量を取得する。そして、帳票読取装置40は、当該角部に含まれる頂点周辺の枠体の歪み具合と、当該角部のトンボの歪み具合との違いを反映して、取得した頂点補正量からトンボ補正量を算出し、当該トンボ補正量により帳票部のトンボの歪みを補正する。その後、帳票読取装置40は、帳票部のトンボを用いて帳票イメージ上で帳票部の印字ずれ(印字の傾きのずれ、および印字の位置ずれ)を補正する。
【0096】
以上から、帳票読取装置40は、角部が歪んだ帳票部を含む帳票イメージに対して、帳票部の角部の歪み方に応じて角部の歪みを適切に補正した後に、さらに、帳票イメージ上で印字ずれの補正を実行するため、精度よく文字認識を実行できる。
【0097】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、帳票読取装置40が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体(可搬型記録媒体を含む)に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD:Flexible Disk)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM、CD−R/RWなどがある。光磁気記録媒体には、MO(Magneto Optical disk)などがある。
【0098】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0099】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受取ったプログラムにしたがった処理を実行することもできる。
【0100】
なお、上述の実施の形態は、実施の形態の要旨を逸脱しない範囲内において種々の変更を加えることができる。
さらに、上述の実施の形態は、多数の変形、変更が当業者にとって可能であり、説明した正確な構成および応用例に限定されるものではない。