(57)【要約】【課題】フレームレートの低下を防ぎつつ、且つ高い精度の文字認識結果が得ることができる画像処理装置及びその制御方法並びにプログラムを提供する。【解決手段】画像処理装置１は、帳票をその全体領域より小さい撮影範囲で撮影して得られた動画像を用いて帳票の文字認識処理を行う際、動画像の基準フレーム画像については、それから抽出した第１の罫線情報から取得した第１のホモグラフィによって第１の罫線情報を紙面座標系の第２の罫線情報に変換する。その後取得された検出フレーム画像については、その座標系を紙面座標系へ変換する第２のホモグラフィによって、基準フレーム画像及び検出フレーム画像に基づき取得した罫線未取得領域から抽出した罫線差分を紙面座標系に変換し、変換された罫線差分と合成された第２の罫線情報を用いて検出フレーム画像から罫線を除去する。【選択図】図３
2020204887.tif 000002
【特許請求の範囲】
【請求項１】
罫線及びその罫線の近傍に文字が記載される原稿をその全体領域より小さい撮影範囲で撮影して得られた動画像を取得し、前記動画像を用いて前記原稿の文字認識処理を行う画像処理装置であって、
前記動画像の１フレーム画像を順次取得する第１取得手段と、
前記取得された１フレーム画像が第１のフレーム画像である場合、前記第１のフレーム画像から第１の罫線情報を抽出する第１抽出手段と、
前記第１の罫線情報から前記第１のフレーム画像の座標系を紙面座標系へ変換する第１のホモグラフィを取得する第２取得手段と、
前記第１の罫線情報を前記第１のホモグラフィによって紙面座標系の第２の罫線情報に変換する第１変換手段と、
前記第１のフレーム画像の後に取得された１フレーム画像について、その座標系を紙面座標系へ変換する第２のホモグラフィを取得する第３取得手段と、
前記第１のフレーム画像の後に取得された１フレーム画像が第２のフレーム画像である場合、前記第１及び２のフレーム画像に基づき罫線未取得領域を取得する第４取得手段と、
前記罫線未取得領域から、罫線差分を抽出する第２抽出手段と、
前記第２のホモグラフィによって前記罫線差分を紙面座標系に変換し、前記変換された罫線差分と前記第２の罫線情報とを合成する合成手段と、
前記合成された第２の罫線情報を用い、前記第２のフレーム画像から罫線を除去する除去手段とを備えることを特徴とする画像処理装置。
【請求項２】
前記第１抽出手段は前記第１の罫線情報として、前記第１のフレーム画像に含まれる直線を抽出することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記第２抽出手段は前記罫線差分として、前記罫線未取得領域に含まれる直線を抽出することを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記第１のフレーム画像の後に取得された１フレーム画像を、一定間隔で前記第２のフレーム画像に決定する決定手段を更に備えることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記第２抽出手段は、
前記第２の罫線情報を前記第２のホモグラフィにより前記第２のフレーム画像の座標系に変換した第３の罫線情報を生成し、
前記第３の罫線情報の延長画素を前記罫線未取得領域から前記罫線差分として検出することを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記第２抽出手段は、
前記第２の罫線情報を前記第２のホモグラフィにより前記第２のフレーム画像の座標系に変換した第３の罫線情報を生成し、
前記第３の罫線情報の延長方向に、前記罫線未取得領域で罫線抽出する領域を設定し、
前記設定された罫線抽出する領域において前記罫線差分を検出することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記第４取得手段、前記第２抽出手段、前記合成手段、前記除去手段は、前記第２のフレーム画像を前記第２のホモグラフィにより紙面座標系に変換した後に実行されることを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
紙面座標系の水平線・垂直線を前記取得された１フレーム画像の座標系に変換する第２変換手段を更に備え、
前記座標系の変換前後の水平線・垂直線の角度が所定角度を超えている場合、前記取得された１フレーム画像を用いた前記原稿の文字認識処理をスキップすることを特徴とする請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
前記座標系の変換前後の水平線・垂直線の角度が所定角度を超えている場合、その旨をユーザに通知する通知手段を更に備えることを特徴とする請求項８記載の画像処理装置。
【請求項１０】
罫線及びその罫線の近傍に文字が記載される原稿をその全体領域より小さい撮影範囲で撮影して得られた動画像を取得し、前記動画像を用いて前記原稿の文字認識処理を行う画像処理装置の制御方法であって、
前記動画像の１フレーム画像を順次取得する第１取得ステップと、
前記取得された１フレーム画像が第１のフレーム画像である場合、前記第１のフレーム画像から第１の罫線情報を抽出する第１抽出ステップと、
前記第１の罫線情報から前記第１のフレーム画像の座標系を紙面座標系へ変換する第１のホモグラフィを取得する第２取得ステップと、
前記第１の罫線情報を前記第１のホモグラフィによって紙面座標系の第２の罫線情報に変換する第１変換ステップと、
前記第１のフレーム画像の後に取得された１フレーム画像について、その座標系を紙面座標系へ変換する第２のホモグラフィを取得する第３取得ステップと、
前記第１のフレーム画像の後に取得された１フレーム画像が第２のフレーム画像である場合、前記第１及び２のフレーム画像に基づき罫線未取得領域を取得する第４取得ステップと、
前記罫線未取得領域から、罫線差分を抽出する第２抽出ステップと、
前記第２のホモグラフィによって前記罫線差分を紙面座標系に変換し、前記変換された罫線差分と前記第２の罫線情報とを合成する合成ステップと、
前記合成された第２の罫線情報を用い、前記第２のフレーム画像から罫線を除去する除去ステップとを有することを特徴とする制御方法。
【請求項１１】
請求項１０の制御方法を実行することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びその制御方法並びにプログラムに関し、特に罫線及びその罫線の近傍に文字が記載される原稿を被写体とし、動画像の撮影で得られるフレーム画像から罫線情報を抽出する画像処理装置及びその制御方法並びにプログラムに関する。
【背景技術】
【０００２】
従来より、スマートフォンやタブレット端末に搭載されているカメラを使って帳票を撮影し文字認識を行うことで帳票に記載されている情報を抽出することが行われている。しかしながら、撮影対象の帳票の用紙サイズやカメラの撮像素子の解像度によっては、１回の撮影のみで帳票全体の画像を取得した場合、その画像を文字認識して情報を抽出するには文字の解像度が不足することがある。
【０００３】
そのような場合において、帳票全体を複数回に分けて撮影し、撮影で得られた複数の画像から帳票全体の画像が含まれる合成画像を生成し、その合成画像を文字認識して情報を抽出することが行われている。
【０００４】
特許文献１では、動画像のフレーム画像を精度よくつなぎあわせて高解像度画像を生成する技術を開示する。この方法で帳票全体の高解像度画像が得られれば、従来の技術により、帳票に記載されている情報の抽出が可能となる。
【０００５】
また、特許文献２では、取得した動画像のフレーム画像を順次文字認識しその結果を統合することで全体の文字認識結果を得る方法を開示する。
【０００６】
また、特許文献３では、画像中の文字を高精度に抽出するために、罫線を除去した画像を生成し文字抽出を行う技術を開示する。
【０００７】
さらに、文字認識精度を上げるためには、ユーザがカメラを手に持って動画像を撮影する際に、撮影対象の帳票とカメラの相対位置によっては発生する、各フレーム画像の３次元的な歪みの補正を行う必要がある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許２９８９３６４号公報
【特許文献２】特許２８５８５６０号公報
【特許文献３】特許４５７１４４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１，２の技術を利用して帳票の情報を取得する際、動画像の各フレーム画像に対し、３次元的な歪みの補正や特許文献３に開示の方法での罫線の除去を行うと、フレームレートが低下し最終的な文字認識結果を得るまでに時間がかかる。
【００１０】
そこで本発明は、フレームレートの低下を防ぎつつ、且つ高い精度の文字認識結果が得ることができる画像処理装置及びその制御方法並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の請求項１に係る画像処理装置は、罫線及びその罫線の近傍に文字が記載される原稿をその全体領域より小さい撮影範囲で撮影して得られた動画像を取得し、前記動画像を用いて前記原稿の文字認識処理を行う画像処理装置であって、前記動画像の１フレーム画像を順次取得する第１取得手段と、前記取得された１フレーム画像が第１のフレーム画像である場合、前記第１のフレーム画像から第１の罫線情報を抽出する第１抽出手段と、前記第１の罫線情報から前記第１のフレーム画像の座標系を紙面座標系へ変換する第１のホモグラフィを取得する第２取得手段と、前記第１の罫線情報を前記第１のホモグラフィによって紙面座標系の第２の罫線情報に変換する第１変換手段と、前記第１のフレーム画像の後に取得された１フレーム画像について、その座標系を紙面座標系へ変換する第２のホモグラフィを取得する第３取得手段と、前記第１のフレーム画像の後に取得された１フレーム画像が第２のフレーム画像である場合、前記第１及び２のフレーム画像に基づき罫線未取得領域を取得する第４取得手段と、前記罫線未取得領域から、罫線差分を抽出する第２抽出手段と、前記第２のホモグラフィによって前記罫線差分を紙面座標系に変換し、前記変換された罫線差分と前記第２の罫線情報とを合成する合成手段と、前記合成された第２の罫線情報を用い、前記第２のフレーム画像から罫線を除去する除去手段とを備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、フレームレートの低下を防ぎつつ、且つ高い精度の文字認識結果が得ることができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例１に係る画像処理装置の構成を示すブロック図である。
【図２】画像処理装置にて実行される本実施例に係る帳票情報抽出処理の全体を示すフローチャートである。
【図３】図２のステップＳ２０３における１フレーム画像の文字認識処理のフローチャートである。
【図４Ａ】撮影対象帳票に対する基準フレーム画像の撮影範囲を示す図である。
【図４Ｂ】基準フレーム画像からの抽出された罫線及び交点を示す図である。
【図４Ｃ】基準フレーム画像に含まれる罫線の組み合わせからなる四角形の１例を示す図である。
【図４Ｄ】基準フレーム画像に含まれる罫線の組み合わせからなる四角形の他の１例を示す図である。
【図５Ａ】撮影対象帳票に対する検出フレーム画像の撮影範囲を示す図である。
【図５Ｂ】検出フレーム画像の罫線未取得領域を示す図である。
【図５Ｃ】罫線未取得領域に対して罫線差分抽出を行った結果を示す図である。
【図６】実施例１に係る、図３のステップＳ３１５の紙面座標系の罫線情報の更新方法を示す図である。
【図７】実施例２に係る、図３のステップＳ３１５の紙面座標系の罫線情報の更新方法を示す図である。
【図８】実施例４に係る、入力された１フレーム画像の歪みの判断方法を説明ための図である。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１５】
（実施例１）
図１は、本発明の実施例１に係る画像処理装置１の構成を示すブロック図である。
【００１６】
図１において、画像処理装置１は、撮像部１０１、基準フレーム判定部１０２、罫線・交点抽出部１０３、ホモグラフィ取得部１０４、罫線情報ホモグラフィ変換部１０５、画像ホモグラフィ変換部１０６、及び罫線除去部１０７を備える。
【００１７】
撮像部１０１は、画像処理装置１における動画像の撮影を行う部分である。尚、撮像部１０１で取得した動画像を画像処理装置１が取得できれば、撮像部１０１は画像処理装置１の外部にあってもよい。
【００１８】
基準フレーム判定部１０２は、撮像部１０１で撮影により取得した１フレーム画像が、処理全体の基準となる基準フレーム画像として適切であるかを判定する部分である。例えば、画像処理装置１にジャイロセンサーが搭載されている場合は、撮影時のジャイロセンサーの出力から得られる加速度が一定値未満の状態が一定期間続いていれば、取得した１フレーム画像を基準フレーム画像と判定する。また、取得した１フレーム画像と１つ前に取得した１フレーム画像との間の動きベクトルを算出し、動きベクトルが一定の期間に既定値未満であれば取得した１フレーム画像を基準フレーム画像と判定しても良い。
【００１９】
罫線・交点抽出部１０３は、基準フレームと判定されたフレーム画像から罫線情報と罫線の交点を抽出する。罫線情報は、フレーム画像にハフ変換やＬＳＤ（ＬｉｎｅＳｅｇｍｅｎｔ Ｄｅｔｅｃｔｏｒ）と呼ばれるアルゴリズムを適用することで得ることができる。また、交点は罫線として得られた線分の交点を算出することによって得ることができる。
【００２０】
ホモグラフィ取得部１０４は、罫線・交点抽出部１０３で得られた罫線情報と罫線の交点情報から、罫線が水平・垂直となる座標系（以下紙面座標系）への変換を行うホモグラフィを取得する。
【００２１】
罫線情報ホモグラフィ変換部１０５は、ホモグラフィ取得部１０４で得られたホモグラフィを使い、罫線・交点抽出部１０３で得られた罫線情報を紙面座標系に変換する。
【００２２】
画像ホモグラフィ変換部１０６は、ホモグラフィ取得部１０４で得られたホモグラフィを使い、基準フレーム画像を紙面座標系に変換する。
【００２３】
罫線除去部１０７は、罫線・交点抽出部１０３で得られた罫線情報を使い、入力されたフレーム画像から罫線を除去したフレーム画像を生成する。
【００２４】
図１において、画像処理装置１は更に、文字領域抽出部１０８、文字認識部１０９、紙面座標系ホモグラフィ取得部１１０、抽出フレーム判定部１１１、罫線抽出未処理領域判定部１１２、及び罫線差分抽出更新部１１３を備える。
【００２５】
文字領域抽出部１０８は、罫線除去部１０７で生成されたフレーム画像から文字領域を抽出する。
【００２６】
文字認識部１０９は、入力されたフレーム画像と文字領域の情報を使い文字認識を行う。文字認識部１０９による文字認識結果は、文字列全体の位置（左上座標値）、サイズ（幅、高さ）と文字列を構成する各文字の位置（左上座標値）、サイズ（幅、高さ）、第一位候補から下位候補の文字コードや尤度からなる。
【００２７】
紙面座標系ホモグラフィ取得部１１０は、撮像部１０１で撮影されたフレーム画像を紙面座標系へ変換するためのホモグラフィを取得する。
【００２８】
抽出フレーム判定部１１１は、文字領域抽出部１０８により文字領域の抽出処理を行う対象フレームを決定する。抽出フレーム判定部１１１におけるこの対象フレームの決定は一定間隔で行われる。具体的には本実施例では、１０回のフレーム画像の入力に対して、１回の間隔でこの対象フレームの決定が行われる。
【００２９】
罫線抽出未処理領域判定部１１２は、抽出フレーム判定部１１１で対象フレーム画像に決定されたフレームにある罫線抽出未処理領域を抽出し、罫線差分を抽出するかを判定する。
【００３０】
罫線差分抽出更新部１１３は、処理対象のフレーム画像にある罫線抽出処理が行われていない領域から罫線を抽出し、既存の罫線情報を更新する。
【００３１】
図１において、画像処理装置１は更に、文字領域更新部１１４、文字領域ホモグラフィ変換部１１５、文字認識結果記憶部１１６、記憶部１１７、及び表示部１１８を備える。
【００３２】
文字領域更新部１１４は、処理対象のフレーム画像から抽出された文字領域と既存の文字領域を統合して更新する。
【００３３】
文字領域ホモグラフィ変換部１１５は、文字認識結果記憶部１１６に記憶される紙面座標系の文字認識結果をフレーム画像の座標権に変換する。
【００３４】
文字認識結果記憶部１１６は、文字認識部１０９が生成した文字認識結果を紙面座標系に変換して記憶する。既に記憶されている文字認識結果と同等の位置と判断される文字認識結果が入力された場合は、同じ文字の位置に１回目の認識結果、２回目の認識結果・・・となるように１つの文字位置に複数の結果を統合して記憶する。蓄積された文字認識結果において、同等の位置にあり指定された尤度以上の文字コードが一定の回数以上得られた場合は、文字認識結果を確定し、次回以降のフレーム画像ではその位置に存在する文字列の文字認識処理をスキップする。
【００３５】
記憶部１１７は、撮像部１０１で撮影されたフレーム画像や各部で生成されたホモグラフィなどのデータや後述する帳票情報抽出処理のプログラムを記憶する部分である。記憶部１１７は、ＲＡＭあるいはフラッシュメモリやＨＤＤなどを用いた記憶装置であっても良い。
【００３６】
表示部１１８は、記憶部１１７に記憶されているフレーム画像や、文字認識部１０９の出力である文字認識結果などを表示する部分である。表示部１１８に表示されている情報に従って使用者が撮像部１０１の位置や向きを変更することで画像処理装置が操作される。
【００３７】
図２は、画像処理装置１にて実行される本実施例に係る帳票情報抽出処理の全体を示すフローチャートである。尚、本処理の情報抽出処理の対象は帳票であるが、罫線及びその罫線の近傍に文字が記載される原稿であれば帳票に限定されない。
【００３８】
まず、ステップＳ２０１において、図１に示す画像処理装置１の各構成要素を制御する不図示のＣＰＵが、撮像部１０１を起動し、文字認識処理の対象となる帳票のフレーム画像の取得を開始する。すなわち、撮像部１０１は３０ｆｐｓや６０ｆｐｓといった指定されたフレームレートに従って、撮影対象帳票の全体領域より小さい撮影範囲である複数のフレーム画像（図４Ａ参照）からなる動画像の撮影を開始する。
【００３９】
ステップＳ２０２において、ＣＰＵが、終了条件が達成されたかどうかを判定する。本実施例では終了条件として、文字認識処理が３０回実行されると終了する条件が設定されているため、文字認識処理の処理回数をカウントして３０回となったらステップＳ２０５へ進む。終了条件が達成されない間は、後述のステップＳ２０３，Ｓ２０４の処理が繰り返される。
【００４０】
ステップＳ２０３において、ステップＳ２０１で取得した１フレーム画像の文字認識処理が実行される。詳細は図３のフローチャートで後述する。
【００４１】
ステップＳ２０４において、文字認識結果記憶部１１６がステップＳ２０３で得られた文字認識結果を統合・蓄積する。ここで例えば、ステップＳ２０３，Ｓ２０４の処理で２００ｍｓｅｃかかるとすると、撮像部１０１のフレームレートが３０ｆｐｓであっても、処理全体のフレームレートは５ｆｐｓとなる。すなわち、ステップＳ２０３，Ｓ２０４は本処理の律速段階となる。よって、本実施例では、ステップＳ２０３，Ｓ２０４を短時間で実行させる。これにより、処理全体のフレームレートを向上させ、ひいては短時間で良い文字認識結果が得られる。
【００４２】
図２のステップＳ２０３における１フレーム画像の文字認識処理の詳細を、図３に示すフローチャートで説明する。
【００４３】
図３において、文字認識処理の実行フローは大きく３つに分かれている。
【００４４】
フロー１は、ステップＳ３０１、Ｓ３０２、Ｓ３０３〜Ｓ３０８、Ｓ３０９からなるフローであり、フレーム画像の全領域に対し、全ての画像処理を実行するため、最大の処理時間となるフローである。
【００４５】
フロー２は、ステップＳ３０１、Ｓ３０２、Ｓ３１０〜Ｓ３１８、Ｓ３０９からなるフローであり、フレーム画像における画像処理の適用範囲となる領域を限定し、フロー１より実行する画像処理を減らしているため、中間の処理時間となるフローである。
【００４６】
フロー３は、ステップＳ３０１、Ｓ３０２、Ｓ３１０、Ｓ３１１、Ｓ３１９、Ｓ３０９からなるフローであり、既存の文字領域情報を適用して文字認識処理のみを実行するため、最小の処理時間となるフローである。
【００４７】
フロー１を実行した後、フロー２だけでなく、フロー３を一定頻度で実行することで、全体のフレームレートを上げ、撮像部１０１の位置変化に合わせた罫線除去と文字領域抽出処理を行い、文字認識の実行回数を増やしている。全体の精度と速度のバランスは、フロー３の実行頻度を変化させることにより調整する。尚、画像処理装置１の処理速度によっては、フロー３は実行せず、フロー１とフロー２のみを実行するようにしてもよい。
【００４８】
まずは、フロー１の処理を説明する。
【００４９】
ステップＳ３００において、撮像部１０１は、文字認識処理の対象となる帳票の撮影により動画像の１フレーム画像を生成する毎に、順次基準フレーム判定部１０２に入力する。すなわち、基準フレーム判定部１０２が前記撮像部１０１から１フレーム画像を順次取得する。
【００５０】
次に、基準フレーム判定部１０２が、入力された１フレーム画像が基準フレーム画像でない、すなわち、基準フレーム画像が未決定であると判断した場合（ステップＳ３０１でＹＥＳ）、ステップＳ３００に戻る。一方、基準フレーム判定部１０２が、入力された１フレーム画像が基準フレーム画像である、すなわち、基準フレーム画像が決定されたと判断した場合（ステップＳ３０１でＮＯ、ステップＳ３０２でＹＥＳ）、ステップＳ３０３に進む。
【００５１】
また、基準フレーム判定部１０２は、基準フレーム画像に決定された後は、入力された１フレーム画像が基準フレーム画像でないと判断し（ステップＳ３０１でＮＯ，ステップＳ３０２でＮＯ）、ステップＳ３１０に進む。ステップＳ３１０以降の処理はフロー２の処理として後述する。
【００５２】
ステップＳ３０３において、罫線・交点抽出部１０３は、基準フレーム画像から直線を罫線として抽出し、抽出された罫線の交点の位置を抽出する。具体的には、罫線情報として、基準フレーム画像の上の各罫線の始点と終点の座標の情報を取得する。また、取得した始点または終点の座標が基準フレーム画像の端部に位置する場合は、その座標の先にも罫線が継続する可能性がある。よって、この場合、罫線・交点抽出部１０３は、その端部に位置する始点または終点の座標の情報に対して未確定の点であることを示すフラグを立てる。また各罫線が交わる交点の情報として、基本フレーム画像の上の座標情報を取得する。図４Ａに示す、撮影対象帳票４０２の左上の一部を含む撮影範囲４０１が基準フレーム画像の撮影範囲である場合、図４Ｂの太線で示される罫線４０４が抽出される。また図４Ａにおいて終端を●とする点４０３は、基本フレーム画像の端部に位置する点であるため、未確定の点であることを示している。罫線・交点抽出部１０３は、図４Ｂの太線で示される各罫線が交わる点を交点としてすべて抽出する。
【００５３】
ステップＳ３０４において、ホモグラフィ取得部１０４は、ステップＳ３０３で取得した罫線情報から、基準フレーム画像の座標系をその罫線が水平・垂直となる座標系に変換する変換ホモグラフィを取得する。具体的には、基準フレーム画像における２つの水平罫線と２つの垂直罫線の組み合わせにおいて、最大の面積となる四角形を選択し、その四角形が長方形となるようにホモグラフィを求める。以下、罫線が水平・垂直となる座標系を紙面座標系という。例えば、図４Ｂで示した罫線と交点の情報がステップＳ３０３で取得されている場合、図４Ｃに示す交点Ａ，Ｂ，Ｃ，Ｄからなる四角形と、図４Ｄに示す交点Ｗ，Ｘ，Ｙ，Ｚからなる四角形が得られる。ステップＳ３０４ではこのうち、より面積が大きい図４Ｄに示す四角形が選択される。ホモグラフィを求めるために、紙面座標系における交点Ｘ，Ｙ，Ｚ，Ｗの座標を決定する。紙面座標系での変換後の矩形の幅と高さは以下の式で求める。
【００５４】
矩形幅ｗ=（交点Ｘと交点Ｙの距離＋交点Ｗと交点Ｚの距離）／２
矩形高ｈ=（交点Ｘと交点Ｗの距離＋交点Ｙと交点Ｚの距離）／２
紙面座標系での交点Ｘの座標として、基準フレーム画像の座標系における交点Ｘの座標(ｘ，ｙ)をそのまま使うと、紙面座標系での各交点Ｘ，Ｙ，Ｚ，Ｗの座標は以下のようになる。
【００５５】
交点Ｘ＝（ｘ，ｙ）
交点Ｙ＝（ｘ＋ｗ，ｙ）
交点Ｚ＝（ｘ＋ｗ，ｙ＋ｈ）
交点Ｗ＝（ｘ，ｙ＋ｈ）
次に、交点Ｘ，Ｙ，Ｚ，Ｗの、紙面座標系における座標と基準フレーム画像の座標系における座標の対応関係に基づきホモグラフィを求める。
【００５６】
ステップＳ３０５において、画像ホモグラフィ変換部１０６が基準フレーム画像をステップＳ３０４で得られたホモグラフィによって紙面座標系の画像に変換する。
【００５７】
ステップＳ３０６において、罫線情報ホモグラフィ変換部１０５がステップＳ３０３で取得された罫線及び交点からなる罫線情報をステップＳ３０４で得られたホモグラフィによって紙面座標系に変換する。
【００５８】
ステップＳ３０７において、罫線除去部１０７がステップＳ３０５で得られた紙面座標系に変換された基準フレーム画像から罫線を除去した画像を生成する。本実施例では、始点と終点および中間にある複数の点から線の幅を推定し、始点と終点を含む線幅の長方形の範囲を塗りつぶす処理によって罫線の除去を行う。尚、ステップＳ３０６で変換された罫線及び交点の情報に基づき紙面座標系のフレーム画像から罫線を除去した画像が生成されれば、本実施例の形態に限定されない。例えば、一定値以上の直線成分を除去するモルフォロジー変換によって罫線を除去してもよい。
【００５９】
ステップＳ３０８において、文字領域抽出部１０８がステップＳ３０７で得られた罫線が除去された基本フレーム画像から文字領域を抽出する。本実施例では、文字領域の抽出は、一般的に文書画像の文字認識の前処理として行われるものを適用する。ここで抽出される文字領域の情報は、左上の座標と幅、高さの４つのパラメータで表現される矩形情報である。
【００６０】
ステップＳ３０９において、文字認識部１０９がステップＳ３０７で得られた罫線が除去された基本フレーム画像とステップＳ３０８で得られた文字領域を使って文字認識（ＯＣＲ処理）を行い、本処理を終了する。
【００６１】
以上説明したフロー１の処理によって、基準フレーム画像における罫線・交点の情報、文字領域の情報、文字領域にある文字認識結果が得られる。
【００６２】
次に、フロー２の処理を説明する。
【００６３】
尚、ステップＳ３００〜Ｓ３０２は、フロー１の処理と同じであるので説明を省略する。
【００６４】
ステップＳ３１０において、紙面座標系ホモグラフィ取得部１１０は、入力された１フレーム画像の座標権を紙面座標系に変換する変換ホモグラフィを取得する。図１の処理の開始後、初めてステップＳ３１０を実行する場合は、基準フレーム画像と入力された１フレーム画像の夫々で特徴点の座標及び特徴量（例えば明度）を取得する。その後、取得した夫々の特徴点の座標及び特徴量をＲＡＮＳＡＣでマッチングすること基準画像フレームと入力された１フレーム画像の間のホモグラフィを取得する。このホモグラフィにステップＳ３０４で取得した基準フレーム画像から求めた紙面座標系へのホモグラフィを合成することで１フレーム画像を紙面座標系の画像に変換するための変換ホモグラフィを取得する。以降に入力される１フレーム画像を紙面座標系の画像に変換するための変換ホモグラフィは、前回入力された１フレーム画像と今回入力された１フレーム画像との間のホモグラフィを取得する。その後、取得したホモグラフィに既に得られている前回入力された１フレーム画像を紙面座標系の画像に変換するための変換ホモグラフィを合成することで取得する。
【００６５】
ステップＳ３１１において、抽出フレーム判定部１１１は、入力された１フレーム画像が、文字領域が抽出される検出フレーム画像であるか否かを判定する。本ステップにおいて、抽出フレーム判定部１１１は、一定の間隔、例えば１フレーム画像の入力の１０回に１度の間隔で、入力された１フレーム画像が検出フレーム画像であると判定し、ステップＳ３１２に進む。
【００６６】
ステップＳ３１２において、罫線情報ホモグラフィ変換部１０５は、ステップＳ３１０で取得された変換ホモグラフィを使い、既存の紙面座標系の罫線情報を検出フレーム画像の座標系へ変換する。ここで、図１の処理の開始後、初めてステップＳ３１２を実行する場合は、ステップＳ３０３で生成された罫線情報を取得し、これを検出フレーム画像の座標系へ変換する。以降にステップＳ３１２を実行する場合は、後述するステップＳ３１５で更新された罫線情報を取得し、これを検出フレーム画像の座標系へ変換する。
【００６７】
ステップＳ３１３において、罫線抽出未処理領域判定部１１２は、罫線差分抽出を実行するか否かを判定する。具体的には、罫線抽出未処理領域判定部１１２は、罫線取得済みの領域と検出フレーム画像の撮影範囲の重なりを判定し、重なりのない部分、すなわち罫線未取得領域の面積が一定値以上である場合に罫線差分抽出を実行する。例えば、罫線取得済みの領域が基準フレーム画像の撮影範囲４０１のみである場合、図５Ｂに示すように、撮影範囲４０１と検出フレーム画像の撮影範囲５０１（図５Ａ）の重なりを判定し、重なりの無い部分（図５Ｂに示す罫線未取得領域５０２）を抽出する。抽出された罫線未取得領域５０２の面積が一定値以上あれば罫線差分抽出を実行すると判定してステップＳ３１４へ進み、一定値未満であればステップＳ３１６へ進む。
【００６８】
ステップＳ３１４において、罫線差分抽出更新部１１３は罫線差分抽出を実行する。検出フレーム画像に対しその罫線取得済み領域との重なり部分にマスク処理を行い、その重なり部分については罫線抽出処理によって罫線が抽出されないようにする。その後、罫線差分抽出更新部１１３はマスク処理が行われた検出フレーム画像に対してステップＳ３０３と同様の処理で罫線・交点抽出部１０３に罫線抽出を行わせることで罫線差分を抽出する。例えば、図５Ｂに示す罫線未取得領域５０２がステップＳ３１３で抽出されていた場合は、図５Ｃに示す罫線未取得領域５０２に含まれる直線が罫線差分５０３としてステップＳ３１４において抽出される。
【００６９】
ステップＳ３１５において、罫線差分抽出更新部１１３は、既存の紙面座標系の罫線情報を、ステップＳ３１４で抽出された罫線差分の情報を用いて更新する。例えば、既存の紙面座標系の罫線情報が、図６（ａ）に示す紙面座標系に変換された基準フレーム画像に含まれる罫線情報６０１のみである場合、まず、罫線情報６０１と図６（ｂ）に示す紙面座標系に変換した罫線差分６０２とを合成する。その後、この合成により得られる図６（ｃ）に示す罫線情報６０３で、罫線情報６０１を更新する。
【００７０】
ステップＳ３１６において、罫線除去部１０７は、検出フレーム画像から罫線を除去する。具体的には、ステップＳ３１３で罫線差分抽出を実行しないと判定された場合は既存の紙面座標系の罫線情報を用いて検出フレーム画像の罫線除去を行う。一方、ステップＳ３１３で罫線差分抽出を実行すると判定された場合は、ステップＳ３１５で更新された紙面座標系の罫線情報を用いて検出フレーム画像の罫線除去を行う。
【００７１】
ステップＳ３１７において、文字領域抽出部１０８は、ステップＳ３１６で得られた罫線が除去された検出フレーム画像から文字領域を抽出する。
【００７２】
ステップＳ３１８において、文字領域更新部１１４は、既存の文字領域情報を更新する。具体的には、まず、ステップＳ３１７で抽出された検出フレーム画像の文字領域の情報をステップＳ３１０で得られた変換ホモグラフィを使って紙面座標系の情報に変換する。その後、既存の文字領域情報とこの変換された情報を合成した情報を、文字領域情報として更新する。その後、ステップＳ３０９においてフロー１と同様のＯＣＲ処理を行い、本処理を終了する。
【００７３】
以上説明したフロー２の処理によって、紙面座標系の罫線情報、文字領域情報が更新されると共に、入力された検出フレーム画像の文字認識が実行される。
【００７４】
最後に、フロー３の処理を説明する。
【００７５】
尚、ステップＳ３００〜Ｓ３０２，Ｓ３１０は、フロー２の処理と同じであるので説明を省略する。
【００７６】
ステップＳ３１１において、抽出フレーム判定部１１１は、入力された１フレーム画像が検出フレーム画像であるか否かを判定する。具体的には、フロー２の説明で例示したように、１フレーム画像の入力の１０回に１度の間隔で、入力された１フレーム画像が検出フレーム画像であると判定する。この場合、１フレーム画像の入力の１０回に９度はこのステップにおいて入力された１フレーム画像が検出フレーム画像でないと判定し、ステップＳ３１９に進む。
【００７７】
ステップＳ３１９において、文字領域ホモグラフィ変換部１１５は、既に取得されている紙面座標系の文字領域をステップＳ３００で入力された１フレーム画像の座標系に変換する。その後、ステップＳ３０９においてフロー１と同様のＯＣＲ処理を行い、本処理を終了する。
【００７８】
以上説明したように、フロー３の処理では、画像のホモグラフィ変換、文字領域の検出、罫線除去は行わず、入力された１フレーム画像に取得済みの文字領域を変換して適用し文字認識を実行する。このため、フロー１，２に比べ、処理が少ないため高速に実行することができる。
【００７９】
以上で説明したフロー１〜３の処理を組み合わせて実行することで、短時間で帳票に存在する文字領域を検出し、多数の文字認識結果を得ることができる。
【００８０】
また、ステップＳ３０９で得られている文字認識結果は、同一文字領域に対して複数回の文字認識が行われることになる。よって、同一の文字領域に対する複数の文字認識結果が一定の回数以上同じ文字列であれば、その結果をその文字領域の結果として確定する。これにより、文字認識結果に誤認識が含まれる可能性を低くすることができる。さらに、文字認識結果が確定した文字領域に対しては、文字認識処理を行わないよう制御する。これにより、全体の処理効率をさらに向上させることができる。
【００８１】
（実施例２）
実施例１では、ステップＳ３１４において、検出フレーム画像の一部にマスク処理を行なった後、ステップＳ３０３と同じ処理を行って罫線差分を抽出した。
【００８２】
これに対し、本実施例では、ステップＳ３１４において、まず、既存の取得済み罫線を検出フレーム画像の座標系に投影し、投影された端点が検出フレーム画像内にあるか否かを判定する第１の判定を行う。投影された端点が検出フレーム画像内にある場合、その端点を延長する方向に罫線が続いているか（延長画素があるか）否かを判定する第２の判定を行う。罫線が続いていると判定した場合、検出フレーム画像におけるその続いている罫線を罫線差分として抽出する。
【００８３】
第２の判定の方法は特に限定されないが、既存の取得済み罫線の端点の座標から罫線を関数化し、延長方向の座標に存在する画素値が既存の取得済罫線に存在する画素値と類似する場合、罫線が続いていると判定してもよい。また、図７に示すように既存の取得済罫線の延長方向の限定された領域７０２内にのみハフ変換を行って罫線が続いているか否かを判定してもよい。この場合は、ハフ変換で投票する角度の範囲を既存の罫線の角度に近い値だけに限定することで高速に処理を行なうことが望ましい。
【００８４】
検出フレーム画像に含まれる、既存の取得済み罫線の端点を延長する方向と垂直な方向の罫線差分については、ハフ変換で抽出する。この場合も同様に、ハフ変換で投票する角度の範囲を既存の罫線の角度と垂直に近い値だけに限定することで高速に処理を行なうことが望ましい。
【００８５】
（実施例３）
実施例１では、フロー２の処理において、検出フレーム画像を紙面座標系に変換することなく、そのまま利用していた。これに対し、本実施例では、フロー２の処理において、ステップＳ３１０で得られた紙面座標系への変換ホモグラフィを使って紙面座標系に検出フレーム画像を変換した後、ステップＳ３１２の処理はスキップし、ステップＳ３１３〜Ｓ３１８を実行する。
【００８６】
本実施例の方法は、画像処理装置１の処理能力が不充分である場合、最終的な文字認識結果を得るまでに時間を要してしまうため好ましくないが、画像処理装置１の処理能力に余裕があれば、文字認識結果の精度をより高くすることができる。
【００８７】
（実施例４）
ステップＳ３０９において、実施例１ではステップＳ３０８，Ｓ３１８，Ｓ３１９で検出・更新・変換された全ての文字領域のＯＣＲ処理を行った。これに対し、本実施例では、画像処理装置１のＣＰＵが入力された１フレーム画像の歪みが一定以上あると判断した場合、ステップＳ３０９のＯＣＲ処理をスキップする点が異なる。
【００８８】
具体的には、ステップＳ３０８，Ｓ３１８，Ｓ３１９のいずれかの処理が終了すると、まず、ステップＳ３０４又はＳ３１０で得られた紙面座標系への変換ホモグラフィを使い、紙面座標系の水平線・垂直線を入力された１フレーム画像の座標系に変換する。例えば、図８に示すように、検出フレーム画像の撮影範囲５０１において、紙面座標系の水平線８０１（垂直線８０２）と、これを検出フレーム画像の座標系に変換した水平線８０４（垂直線８０５）との間では角度が生じている場合がある。この角度が大きい程、フレーム画像に大きな歪みが生じていることになる。
【００８９】
次に、座標系の変換前後における水平線（垂直線）の間の角度を算出し、算出された角度に基づき、ステップＳ３０９で実行すべきＯＣＲ処理による文字認識結果が信頼できるか否かを判断する。例えば、文字認識部１０９が所定角度、例えば±２度の傾きで文字認識精度が９０％となる場合に、算出された角度が±２度を超えていると、ステップＳ３０９で実行すべきＯＣＲ処理による文字認識結果が信頼できないと判断する。
【００９０】
ステップＳ３０９で実行すべきＯＣＲ処理による文字認識結果が信頼できないと判断された場合、ステップＳ３０９のＯＣＲ処理をスキップし、本処理を終了する。一方、ステップＳ３０９で実行すべきＯＣＲ処理による文字認識結果が信頼できると判断された場合、ステップＳ３０９に進む。
【００９１】
本実施例によれば蓄積される文字認識結果の信頼度が高くなり、結果として文字認識精度を高めることができる。
【００９２】
（実施例５）
実施例４では、紙面座標系の水平線・垂直線を入力された１フレーム画像に投影し、入力された１フレーム画像に大きな歪みが生じている場合、ステップＳ３０９で実行すべきＯＣＲ処理をスキップした。これに併せて、本実施例では、入力された１フレーム画像に大きな歪みが生じている場合、表示部１１８でその旨を使用者に通知する。
【００９３】
例えば、かかる通知は、表示部１１８に表示されている入力された１フレーム画像の中心位置に紙面座標系での垂直線と水平線である十字の情報を紙面座標系に変換して表示することで、行ってもよい。このような通知により使用者は入力された１フレーム画像がどの程度歪んでいるかを認識することができる。
【００９４】
さらに、ステップＳ３０９で実行すべきＯＣＲ処理をスキップした場合は、入力された１フレーム画像に対してはＯＣＲ処理が行われていないことを使用者に通知し、撮像部１０１の位置や向きの変更を促すようにしてもよい。
【００９５】
［その他の実施例］
本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、装置に供給することによっても、達成されることは言うまでもない。このとき、供給された装置の制御部を含むコンピュータ（またはＣＰＵやＭＰＵ）は、記憶媒体に格納されたプログラムコードを読み出し実行する。
【００９６】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９７】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００９８】
また、上述のプログラムコードの指示に基づき、装置上で稼動しているＯＳ（基本システムやオペレーティングシステム）などが処理の一部又は全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００９９】
さらに、記憶媒体から読み出されたプログラムコードが、装置に挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれ、前述した実施例の機能が実現される場合も含まれることは言うまでもない。このとき、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行う。
【符号の説明】
【０１００】
１０１  撮像部
１０２  基準フレーム判定部
１０３  罫線・交点抽出部
１０４  ホモグラフィ取得部
１０５  罫線情報ホモグラフィ変換部
１０６  画像ホモグラフィ変換部
１０７  罫線除去部
１０８  文字領域抽出部
１０９  文字認識部
１１０  紙面座標系ホモグラフィ取得部
１１１  抽出フレーム判定部
１１２  罫線抽出未処理領域判定部
１１３  罫線差分抽出更新部
１１４  文字領域更新部
１１５  文字領域ホモグラフィ変換部
１１６  文字認識結果記憶部
１１７  記憶部
１１８  表示部
【図１】
2020204887.tif 000003
【図２】
2020204887.tif 000004
【図３】
2020204887.tif 000005
【図４Ａ】
2020204887.tif 000006
【図４Ｂ】
2020204887.tif 000007
【図４Ｃ】
2020204887.tif 000008
【図４Ｄ】
2020204887.tif 000009
【図５Ａ】
2020204887.tif 000010
【図５Ｂ】
2020204887.tif 000011
【図５Ｃ】
2020204887.tif 000012
【図６】
2020204887.tif 000013
【図７】
2020204887.tif 000014
【図８】
2020204887.tif 000015