(57)【要約】【課題】より高精度に原稿画像の歪みを補正可能な情報処理装置を提供することである。【解決手段】本発明による情報処理装置は、原稿を撮影した撮影画像から文字列領域を抽出する抽出手段と、前記抽出手段により抽出した前記文字列領域の歪みを判別する判別手段と、前記判別手段により前記文字列領域に歪みがあると判別した場合に歪み補正を行う補正手段（３１３）と、を備え、前記補正手段は、前記文字列領域の歪みの種類に応じた歪み補正を行う、ことを特徴とする。【選択図】図５
2020149184.tif 000002
【特許請求の範囲】
【請求項１】
原稿を撮影した撮影画像から文字列領域を抽出する抽出手段と、
前記抽出手段により抽出した前記文字列領域の歪みを判別する判別手段と、
前記判別手段により前記文字列領域に歪みがあると判別した場合に歪み補正を行う補正手段と、
を備え、
前記補正手段は、前記文字列領域の歪みの種類に応じた歪み補正を行う、
ことを特徴とする情報処理装置。
【請求項２】
前記判別手段は、前記文字列領域の歪みが線形歪みであるか非線形歪みであるかを判別し、
前記補正手段は、
前記文字列領域の歪みが線形歪みである場合には該文字列領域の単位での歪み補正を行い、
前記文字列領域の歪みが非線形歪みである場合には該文字列領域を構成する文字領域の単位での歪み補正を行う、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記補正手段により歪みを補正された前記文字列領域の画像に対して文字認識処理を行う文字認識手段をさらに備える、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記判別手段は、前記文字列領域を構成する各文字の画素塊の重心の配置位置に基づいて、前記文字列領域の歪みが線形歪みであるか非線形歪みであるかを判別する、
ことを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記撮影画像から前記原稿の四辺を認識する認識手段をさらに備え、
前記補正手段は、前記認識手段により前記原稿の四辺を認識できた場合には、前記原稿の四辺についての四辺情報に基づいて前記撮影画像の歪みを補正する、
ことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記抽出手段は、前記文字列領域の候補のうち前記原稿の線成分で分断される領域を候補から除外して前記文字列領域を抽出する、
ことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
原稿を撮影した撮影画像から文字列領域を抽出する抽出工程と、
前記抽出工程により抽出した前記文字列領域の歪みを判別する判別工程と、
前記判別工程により前記文字列領域に歪みがあると判別した場合に歪み補正を行う補正工程と、
を備え、
前記補正工程は、前記文字列領域の歪みの種類に応じた歪み補正を行う、
ことを特徴とする情報処理装置の制御方法。
【請求項８】
コンピュータを請求項１乃至６のいずれか１項に記載の情報処理装置が備える各手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像に含まれる文字情報を抽出することが可能な情報処理装置、情報処理方法、コンピュータプログラムに関する。
【背景技術】
【０００２】
近年、スマートフォンやタブレットＰＣといった高度な情報処理機能を持つモバイル端末が普及してきている。これらのモバイル端末は、カメラを備え、撮影機能（カメラ機能）を有している。このようなモバイル端末のカメラ機能を用いて紙媒体の原稿を撮影して得られた原稿画像から文字情報を抽出して活用する機会が増えてきた。
【０００３】
モバイル端末のカメラ機能を用いた原稿の撮影では、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）における原稿のスキャンとは異なり、撮影画像全面に原稿全体を正面から歪みなく写すことが難しい。なぜなら、撮影起因の歪みが生じる場合や原稿起因の歪みが生じる場合があるためである、撮影起因の歪みとは、例えば、撮影時に、斜め方向から撮影したために、撮影画像における原稿内容が幾何学的に歪んでしまうことである。原稿起因の歪みとは、例えば、紙媒体の原稿自体が折れ曲がりなどで歪んでいるために、正面方向から撮影したとしても、撮影画像における原稿内容が歪んでしまうことである。これらの歪みは、原稿画像からＯＣＲ処理で文字情報を抽出しようとしたときの文字認識精度低下の原因となる。
【０００４】
特許文献１では、撮影起因の歪みに対して、罫線画像や文字画像などの情報を使い、切り出した原稿領域に対して歪み補正（台形補正と呼ばれる場合もある）を施して原稿領域の歪み補正を行っている。特許文献２では、原稿起因の歪みに対して、罫線情報や文字の並び情報を用いて歪みを判別し、画像の歪みを補正している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−０７９８７８号公報
【特許文献２】特許第４５０７１２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献２で対象にしている、ＭＦＰで本をスキャンしたときに発生する歪みは、原稿起因の歪みの中でも規則正しい歪み（以下、「規則的歪み」という）である。このため、特許文献２では、罫線情報や文字の並び情報から推定した歪み補正関数を適応することにより原稿画像の歪みを補正することができた。
【０００７】
しかし、カメラによる原稿撮影の場合の原稿起因の歪みは、規則性のない歪み（以下、「不規則歪み」という）であることが多い。不規則歪みの場合、画像の一部の情報から算出した局所最適化された歪み補正関数を適応すると原稿画像の一部はうまく歪み補正されるが、全体としてはより歪んでしまうといったことがある。このように歪んだ画像に対してＯＣＲ処理を施した場合、抽出した文字情報の文字認識精度が低下してしまうという問題がある。
【０００８】
本発明は、より高精度に原稿画像の歪みを補正可能な情報処理装置の提供を目的とする。
【課題を解決するための手段】
【０００９】
本発明の一実施形態の情報処理装置は、原稿を撮影した撮影画像から文字列領域を抽出する抽出手段と、前記抽出手段により抽出した前記文字列領域の歪みを判別する判別手段と、前記判別手段により前記文字列領域に歪みがあると判別した場合に歪み補正を行う補正手段と、を備え、前記補正手段は、前記文字列領域の歪みの種類に応じた歪み補正を行う。
【発明の効果】
【００１０】
本発明によれば、より高精度に原稿画像の歪みを補正可能な情報処理装置を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施例１におけるモバイル端末の外観の一例を示す図である。
【図２】実施例１におけるモバイル端末のハードウェア構成の一例を示す図である。
【図３】実施例１におけるモバイル端末のソフトウェア構成の一例を示す図である。
【図４】実施例１におけるモバイルアプリのＵＩの一例を示す図である。
【図５】実施例１における歪み補正処理フローを示す図である。
【図６】実施例１における四辺情報抽出処理の一例を示す図である。
【図７】実施例１における撮影歪み補正処理の一例を示す図である。
【図８】実施例１における原稿歪み画像に対する文字抽出処理フローを示す図である。
【図９】実施例１における原稿歪み画像に対する文字抽出処理の一例を示す図である。
【図１０】実施例１における原稿歪み補正処理の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を参照して説明する。ただし、この実施形態に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらに限定する趣旨のものではない。また、本発明は、ある実施例の各構成のそれぞれを他の実施例に適用するものを含む。
【００１３】
（実施例１）
実施例１では、本発明の実施形態に係る情報処理装置の一例として、モバイル端末を例に説明する。
【００１４】
［外観］
図１は、実施例１に係るモバイル端末の外観の一例を示す図である。図１（Ａ）は、モバイル端末の前面を見た正面図である。図１（Ｂ）は、モバイル端末の背面を見た背面図である。モバイル端末１００は、携帯端末の一例であり、無線通信機能などの装備によって自由な場所で利用できる端末である。モバイル端末１００は、各種ユニットとして、モバイル端末前面部１０１、タッチパネル１０２、モバイル端末背面部１０３及びカメラ１０４を含んで構成される。
【００１５】
モバイル端末前面部１０１は、モバイル端末１００の表側である。タッチパネル１０２は、ディスプレイ等の表示部の一例である。タッチパネル１０２は、出力（表示）及び入力の２つの機能を備えている。さらに、モバイル端末背面部１０３は、モバイル端末１００の裏側である。モバイル端末背面部１０３は、画像を取り込むためのカメラ１０４を含む。本実施例では、モバイル端末１００のユーザは、被写体１０５の画像を後述のモバイルアプリ３０２の操作で撮影することによって処理を開始することができる。本実施例において、被写体１０５は、Ａ４サイズの紙媒体の原稿である。また、後述のモバイルアプリ３０２は、被写体１０５の撮影画像を取り込み、タッチパネル１０２に出力（表示）することができる。
【００１６】
［ハードウェア構成］
図２は、モバイル端末１００のハードウェアの構成の一例を示すブロック図である。モバイル端末１００は、各種ユニットを含んで構成される。モバイル端末１００が含む各種ユニットは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１を含む。モバイル端末１００が含む各種ユニットは、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０２を含む。モバイル端末１００が含む各種ユニットは、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０３を含む。モバイル端末１００が含む各種ユニットは、Ｉｎｐｕｔ／Ｏｕｔｐｕｔインターフェース２０４を含む。モバイル端末１００が含む各種ユニットは、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）２０５を含む。モバイル端末１００が含む各種ユニットは、カメラユニット２０６を含む。モバイル端末１００が含む各種ユニットは、バス２０７を含む。
【００１７】
ＣＰＵ２０１は、各種のプログラムを実行し、様々な機能を実現するユニットである。ＲＡＭ２０２は、各種の情報を記憶するユニットである。また、ＲＡＭ２０２は、ＣＰＵ２０１の一時的な作業記憶領域としても利用されるユニットである。ＲＯＭ２０３は、各種のプログラム等を記憶するユニットである。例えば、ＣＰＵ２０１は、ＲＯＭ２０３に記憶されているプログラムをＲＡＭ２０２にロードしてプログラムを実行する。
【００１８】
加えて、ＣＰＵ２０１は、フラッシュメモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）又はＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ）といった外部記憶装置に記憶されているプログラムに基づき処理を実行する。これにより、後述の図３に示すようなモバイル端末１００を構成するソフトウェア構成及び後述するシーケンスの各ステップの処理が実現される。なお、モバイル端末１００の機能及び後述するシーケンスに係る処理の全部又は一部については専用のハードウェアを用いて実現してもよい。
【００１９】
Ｉｎｐｕｔ／Ｏｕｔｐｕｔインターフェース２０４は、タッチパネル１０２とデータを送受信する。ＮＩＣ２０５は、モバイル端末１００をネットワーク（不図示）に接続するためのユニットである。カメラユニット２０６は、カメラ１０４と接続し被写体１０５の撮影画像をモバイル端末１００に取り込む。さらに、カメラユニット２０６は、連続的に撮影画像を取り込む動画撮影が実行可能である。上述したモバイル端末１００が含む各種ユニットは、バス２０７を介してデータの送受信を行うことが可能に構成されている。
【００２０】
［ソフトウェア構成（モバイル端末）］
次に、モバイル端末１００で動作するソフトウェアの構成について説明する。図３は、モバイル端末１００のソフトウェア構成の一例を示す図である。図３に示すアプリケーション（後述のモバイルアプリ３０２など）とそれらアプリケーション機能（モジュール部）を実現するプログラムは、モバイル端末１００のＲＯＭ２０３等に記憶されている。モバイル端末１００のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）（不図示）は、データ管理部３０１を有する。データ管理部３０１は、画像やアプリケーションデータを管理する。ＯＳは、データ管理部３０１を利用するための制御ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を提供している。各プログラムは、該制御ＡＰＩを利用することでデータ管理部３０１が管理する画像やアプリケーションデータの取得や保存を行う。
【００２１】
モバイルアプリ３０２は、モバイル端末１００のＯＳのインストール機能（例えば、Ａｐｐｌｅ  Ａｐｐ  ＳｔｏｒｅやＧｏｏｇｌｅ  Ｐｌａｙ  Ｓｔｏｒｅなど）を利用して、ダウンロードし、インストールすることにより実行可能なアプリケーションである。モバイルアプリ３０２は、カメラユニット２０６を介して取り込んだ被写体１０５の撮影画像に対する各種の画像処理を行う。
【００２２】
メイン制御部３０３は、モバイル端末１００用のモバイルアプリ３０２を制御し、各モジュール部に対する指示、及び管理を行う。各モジュール部は、メイン制御部３０３を含む。各モジュール部は、情報表示部３０４を含む。各モジュール部は、操作情報取得部３０５を含む。各モジュール部は、撮影画像取得部３０６を含む。各モジュール部は、記憶部３０７を含む。各モジュール部は、ＤＢ部３０８を含む。各モジュール部は、四辺抽出処理部３０９を含む。各モジュール部は、撮影歪み補正処理部３１０を含む。各モジュール部は、文字列抽出部３１１を含む。各モジュール部は、ＯＣＲ処理部３１２を含む。各モジュール部は、原稿歪み補正処理部３１３を含む。
【００２３】
情報表示部３０４は、メイン制御部３０３からの指示に従い、モバイルアプリ３０２のユーザーインタフェース（ＵＩ）をユーザに提供する。図４は、モバイルアプリ３０２のＵＩ（携帯端末用のＵＩ）を提供する画面の一例（モバイル端末画面４００）を示す図である。モバイル端末画面４００は、モバイル端末１００のタッチパネル１０２に表示される。また、モバイル端末画面４００では、表示及び操作領域４０１にカメラ１０４を介して取り込んだ撮影画像が表示され、画像等に対するユーザによる操作（ユーザー操作）を、表示されたＵＩを介して受け付ける。なお、モバイルアプリ３０２のＵＩの形態（位置、大きさ、範囲、配置、表示内容など）は、図に示す形態に限定されるものではなく、モバイル端末１００の機能を実現することができる適宜の構成を採用することができる。
【００２４】
操作情報取得部３０５は、情報表示部３０４により表示されたモバイルアプリ３０２のＵＩに対しユーザ操作された情報を取得し、取得した情報をメイン制御部３０３に通知する。例えば、表示及び操作領域４０１をユーザが手で触れると、操作情報取得部３０５は、触れられた画面上の位置の情報を感知し、感知した位置の情報をメイン制御部３０３に送信する。
【００２５】
撮影画像取得部３０６は、カメラユニット２０６を介して取得した撮影画像を、記憶部３０７に送信する。
記憶部３０７は、撮影画像取得部３０６で取得した画像を一時的に記憶する。
ＤＢ部３０８は、データベース機能を有し、後述する原稿の四辺情報やモバイルアプリ３０２で管理する一時情報を保存する。
【００２６】
四辺抽出処理部３０９は、カメラユニット２０６を介して取得した撮影画像に対して原稿領域の頂点座標である四辺情報を抽出する。
撮影歪み補正処理部３１０は、撮影画像上の原稿領域の四辺情報と出力画像の四辺情報から歪み補正情報を求め、歪み補正情報を使って撮影画像に対して歪み補正を行う。本実施例では原稿領域の四辺情報を使い歪み補正を行うが、原稿内の罫線や文字基線情報を使い歪み補正を行う構成であってもよい。
文字列抽出部３１１は、画素の塊（Ｃｏｎｎｅｃｔｅｄ  Ｃｏｍｐｏｎｅｎｔｓ  以下「画素塊」又は「ＣＣ」という）を抽出し、連結するＣＣをグループ化し、文字列として抽出し、文字列画像を得る。
ＯＣＲ処理部３１２は、文字列画像に対して文字認識処理を実行し、文字テキスト情報を出力する。
原稿歪み補正処理部３１３は、文字列を抽出して得た文字列画像に対し、連結するＣＣ間の位置情報を元に歪み判断を行い、歪み補正処理を行う。
【００２７】
［歪み補正処理フロー］
次に、モバイル端末１００のモバイルアプリ３０２が実行する本発明の歪み補正処理フローについて図５を用いて説明する。本フローは、ユーザによってモバイル端末１００におけるモバイルアプリ３０２が起動され、カメラ１０４を介して被写体１０５の撮影画像を取得することをトリガーに開始する。
まず、ステップＳ５０１において、モバイルアプリ３０２の撮影画像取得部３０６は、カメラユニット２０６を介して撮影画像を取得する。
【００２８】
［四辺情報検出処理］
次に、ステップＳ５０２の四辺情報検出処理について図６を用いて説明する。まず、モバイルアプリ３０２は、撮影画像に対して、原稿領域の原稿四辺の候補である候補線分群と、原稿領域の原稿四辺を示す四辺形領域を特定する。
図６（Ａ）は、撮影画像６００を示す。撮影画像６００は、その画像内に原稿内容の領域（四辺形領域）を示す原稿領域６０１を含む。
【００２９】
図６（Ｂ）は、撮影画像６００上に候補線分群を重ねて表示した画像である。候補線分群は、撮影画像６００から検出されたエッジ情報を検出するＨｏｕｇｈ変換アルゴリズムなどの公知の方法によって検出される。検出された候補線分群には、候補線分６０２をはじめとした、原稿領域の四辺以外を表す線分も含まれる。この候補線分群中から、原稿領域の上辺、右辺、下辺、左辺のそれぞれに対して各辺を構成する可能性が最も高いと判断される候補線分６０３、６０４、６０５、６０６を特定する。
【００３０】
原稿領域の各辺として、候補線分群の中から候補線分６０３、６０４、６０５、６０６を第１の候補として特定する手段としては、例えば、任意の４本の候補線分で構成される四辺形に対して評価を行うことで特定する。任意の４本の候補線分で構成される四辺形の評価は、例えば、対辺の長さの比や内角の大きさ、アスペクト比などの幾何学的な情報に基づいて行われてもよい。又は、四辺形を構成する線分について、内側と外側の色味や分散を比較するなどの画像内容に基づいて行われてもよい。
【００３１】
図６（Ｃ）は、候補線分群の中から特定された原稿領域である四辺形領域６０７を、撮影画像６００上に表示した画像である。四辺形領域６０７は、候補線分６０３、６０４、６０５、６０６を四辺として特定された場合に構成される四辺形領域であり、頂点６０８、６０９、６１０、６１１（以下四辺情報と呼ぶ）を結ぶ線分によって囲まれた四辺形領域である。
【００３２】
図６（Ｄ）は、撮影画像６００とは別の撮影画像である撮影画像６１２を示す図である。撮影画像６１２は、その画像内に原稿内容の領域を示す原稿領域６１３を含む。図６（Ｆ）は、撮影画像６００及び撮影画像６１２とは別の撮影画像である撮影画像６１６を示す図である。撮影画像６１６は、その画像内に原稿内容の領域を示す原稿領域６１７を含む。この図６（Ｄ）及び図６（Ｆ）の例は、四辺情報検出処理に失敗する例である。
【００３３】
図６（Ｅ）の画像６１４は、撮影画像６１２上に候補線分群を重ねて表示した画像である。図６（Ｇ）の画像６１８は、撮影画像６１６上に候補線分群を重ねて表示した画像である。図６（Ｅ）及び図６（Ｇ）においては、検出された候補線分群から選択された任意の４本によって四辺形の評価が行われるが、いずれの評価結果においても評価値が閾値以下の結果となり、四辺形として評価されなかったことを示す。
【００３４】
次に、ステップＳ５０３において、モバイルアプリ３０２は、原稿の四辺認識ができたか否かを判断する。モバイルアプリ３０２は、ステップＳ５０２で四辺情報が特定できた場合（図６（Ａ）、図６（Ｂ）、図６（Ｃ）の場合）は、四辺認識できたと判断し、ステップＳ５０４に遷移する。また、モバイルアプリ３０２は、ステップＳ５０２で四辺情報が特定できなかった場合（図６（Ｄ）及び図６（Ｅ）の場合、又は図６（Ｆ）及び図６（Ｇ）の場合）は、四辺認識できなかったと判断し、ステップＳ５０７に遷移する。
【００３５】
［撮影歪み補正処理］
次に、ステップＳ５０４の撮影歪み補正処理について図７を用いて説明する。モバイルアプリ３０２の撮影歪み補正処理部３１０は、撮影画像の四辺情報と出力画像の四辺情報を使って撮影歪み補正情報を算出し、この撮影歪み補正情報を用いて補正処理を行う。この撮影歪み補正情報は、四辺形領域が台形に歪んでいる場合も考慮し、射影変換行列になる。この射影変換行列は、撮影画像内の四辺情報と、出力画像の四辺情報から公知の方法により算出することが可能である。
【００３６】
なお、処理速度を優先する場合には、アフィン変換行列や単純な変倍率を撮影歪み補正情報として用いて算出しても良い。撮影歪み補正情報が決定すると、撮影歪み補正処理部３１０は、撮影画像の四辺形領域だけに撮影歪み補正処理を施すことで、撮影画像内から四辺形領域だけを取り出した画像を出力することができる。
【００３７】
図７（Ａ）は、図６（Ｃ）の四辺形領域６０７を示す図である。四辺形領域６０７の四辺情報と、出力画像の四辺情報とから算出した撮影歪み補正情報を使った撮影歪み補正処理の出力結果例が、図７（Ｂ）である。ここで、四辺情報は、例えば、四辺形の４つの頂点の座標で表される。例えば四辺形領域６０７の四辺情報は、頂点６０８、頂点６０９、頂点６１０、及び頂点６１１の座標である。例えば出力画像の四辺情報は、頂点７００、頂点７０１、頂点７０２、及び頂点７０３の座標である。
【００３８】
［文字列抽出処理］
次に、ステップＳ５０５において、モバイルアプリ３０２の文字列抽出部３１１は、文字抽出処理を行う。まずモバイルアプリ３０２の文字列抽出部３１１は、撮影歪み補正処理部３１０で補正し、原稿領域だけを切り出した撮影歪み補正済みの原稿画像に対して２値化処理を行い、原稿画像を白と黒の２値画像に変換する。
【００３９】
続いて文字列抽出部３１１は、２値画像からＣＣを抽出する。さらに、抽出したＣＣ毎に文字／非文字判定を行い、文字領域を抽出する。たとえば、日本語の濁点等は、他のＣＣとの位置関係からノイズとするか濁点として他の文字領域に含めるかを決め、濁点と判断した場合は、文字領域として他のＣＣに含める。さらに「合」という文字のような独立したＣＣの組み合わせで一つの文字と判断するものは、ＣＣの大きさや位置関係により文字／非文字を判断し、文字と判断した場合は、ＣＣの組み合わせを文字領域とする（文字領域抽出処理）。
【００４０】
次に、ステップＳ５１３において、文字列抽出部３１１は、抽出した各文字領域が一定距離内にある文字領域をグループ化することにより文字列領域を抽出する。なお、ある文字領域と別の文字領域とが同一文字列であると判断するための一定距離である文字領域間の距離は、例えば、以下のように求めることができる。まず、一般的な文書において文字列である確率が高い文字間隔値を予め求めておく。次に、文字領域抽出処理で求めた文字領域から文字の大きさを求め、この文字の大きさと予め求めた文字間隔値とを掛け合わせ、さらに所定の係数を掛け合わせて、文字領域同士が同一文字列である場合の文字領域間の距離を求める。
【００４１】
次に、ステップＳ５０６において、モバイルアプリ３０２のＯＣＲ処理部３１２は、ステップＳ５０５で抽出した文字列領域に対してＯＣＲ処理を実行し、文字認識結果を得る。このステップＳ５０６のＯＣＲ処理は、ステップＳ５０５で抽出したすべての文字列領域に対して実行するように繰り返して処理する。
【００４２】
［文字列抽出処理２］
次に、ステップＳ５０７において、モバイルアプリ３０２の文字列抽出部３１１は、原稿歪み画像に対して第２の文字列抽出処理を行う。ステップＳ５０７の処理の詳細について、図８の文字列抽出処理フロー（文字列抽出処理２）と、図９の文字列抽出図を用いて説明する。
【００４３】
図９（Ａ）は、図６（Ｅ）の画像６１４を示している。画像６１４は、ステップＳ５０２の四辺検出処理で四辺情報が特定できなかった画像である。図９（Ａ）の画像９００は、画像６１４の一部領域の画像である。画像９００は、原稿歪みを有する画像である。図９（Ｃ）の拡大画像９０３は、画像９００を拡大して示す画像である。図９（Ａ）の画像９０１は、画像６１４の一部領域の画像である。画像９０１は、原稿歪みを有する画像である。図９（Ｄ）の拡大画像９０４は、画像９０１を拡大して示す画像である。
【００４４】
図９（Ｂ）は、図６（Ｇ）の画像６１８を示している。画像６１８は、ステップＳ５０２の四辺検出処理で四辺情報が特定できなかった画像である。図９（Ｂ）の画像９０２は、画像６１８の一部領域の画像である。画像９０２は、原稿歪みを有する画像である。図９（Ｅ）の拡大画像９０５は、画像９０２を拡大して示す画像である。
【００４５】
ステップＳ８０１において、文字列抽出部３１１は、原稿歪み画像に対して線成分を抽出する。次に、ステップＳ８０２において、文字列抽出部３１１は、線成分を画像から取り除く。図９（Ｃ）の拡大画像９０３に対して線成分を取り除いた画像が、図９（Ｆ）の線成分除去後画像９０６である。図９（Ｄ）の拡大画像９０４に対して線成分を取り除いた画像が、図９（Ｇ）の線成分除去後画像９０７である。図９（Ｅ）の拡大画像９０５に対して線成分を取り除いた画像が、図９（Ｈ）線成分除去後画像９０８である。
【００４６】
次に、ステップＳ８０３において、文字列抽出部３１１は、ステップＳ５０５と同様に、文字抽出処理を行う。次に、ステップ８０４において、文字列抽出部３１１は、抽出した文字毎の重心を計算する。図９（Ｉ）は文字重心画像９０９を示す図である。文字重心画像９０９は、線成分除去後画像９０６から文字抽出し、文字毎の重心を計算し、文字毎の重心を図示した画像である。図９（Ｊ）は文字重心画像９１０を示す図である。文字重心画像９１０は、線成分除去後画像９０７から文字抽出し、文字毎の重心を計算し、文字毎の重心を図示した画像である。図９（Ｋ）は文字重心画像９１１を示す図である。文字重心画像９１１は、線成分除去後画像９０８から文字抽出し、文字毎の重心を計算し、文字毎の重心を図示した画像である。
【００４７】
次に、ステップＳ８０４において、文字列抽出部３１１は、文字の重心毎に近接する文字重心との組み合わせをペア候補として生成する。図９（Ｌ）はペア候補画像９１２を示す図である。ペア候補画像９１２は、図９（Ｉ）の文字重心画像９０９の文字重心に対して生成したペア候補を図示した画像である。図９（Ｍ）はペア候補画像９１３を示す図である。ペア候補画像９１３は、図９（Ｊ）の文字重心画像９１０の文字重心に対して生成したペア候補を図示した画像である。図９（Ｎ）はペア候補画像９１４を示す図である。ペア候補画像９１４は、図９（Ｋ）の文字重心画像９１１の文字重心に対して生成したペア候補を図示した画像である。ペア候補画像９１２、ペア候補画像９１３及びペア候補画像９１４において、ペア候補は、文字の重心毎に近接する文字重心の方向を指す矢印で示している。
【００４８】
次にステップＳ８０５において、文字列抽出部３１１は、原稿辺、表、罫線情報を用いて、ペア候補のうち線成分で分断される候補を除外し、線成分で分断されないペアをピックアップする。図９（Ｏ）はペア画像９１５を示す図である。ペア画像９１５は、図９（Ｌ）のペア候補画像９１２のペア候補のうち線成分で分断されないペアのみを図示した画像である。図９（Ｐ）はペア画像９１６を示す図である。ペア画像９１６は、図９（Ｍ）のペア候補画像９１３のペア候補のうち線成分で分断されないペアのみを図示した画像である。図９（Ｑ）はペア画像９１７を示す図である。ペア画像９１７は、図９（Ｎ）のペア候補画像９１４のペア候補のうち線成分で分断されないペアのみを図示した画像である。
【００４９】
次に、ステップＳ８０６において、文字列抽出部３１１は、線成分で分断されないペアのＣＣ同士をグループ化し、そのグループを文字列として抽出する。図９（Ｒ）は文字列９１８及び文字列９１９を示す図である。文字列９１８及び文字列９１９は、図９（Ｏ）のペア画像９１５のペアのＣＣ同士をグループ化し、そのグループを文字列として抽出した結果の文字列である。図９（Ｓ）は文字列９２０及び文字列９２１を示す図である。文字列９２０及び文字列９２１は、図９（Ｐ）のペア画像９１６のペアのＣＣ同士をグループ化し、そのグループを文字列として抽出した結果の文字列である。図９（Ｔ）は文字列９２２及び文字列９２３を示す図である。文字列９２２及び文字列９２３は、図９（Ｑ）のペア画像９１７のペアのＣＣ同士をグループ化し、そのグループを文字列として抽出した結果の文字列である。
【００５０】
次に、ステップＳ５０８において、モバイルアプリ３０２の原稿歪み補正処理部３１３は、ステップＳ５０７で抽出した文字列に対して歪み判断を行う。ここでは、文字列抽出結果の文字列が、図９（Ｒ）の文字列９１８、図９（Ｒ）の文字列９１９、図９（Ｓ）の文字列９２０、図９（Ｓ）の文字列９２１、図９（Ｔ）の文字列９２２、及び図９（Ｔ）の文字列９２３である場合を例にして、歪み判断の説明を行う。
【００５１】
歪み判断は、抽出した各文字列が基準座標系に対して、ずれているか否かを判断する。基準座標系は、例えば、文字列の先頭文字の文字重心を原点（０，０）とし、撮影画像の左右方向をＹ軸方向とし、撮影画像の上下方向をＸ軸方向とした、直交座標系である。図１０（Ａ）は、図９（Ｒ）の文字列９１８に対する基準座標系である基準座標系１０００を示す図である。図１０（Ｂ）は、図９（Ｒ）の文字列９１９に対する基準座標系である基準座標系１００１を示す図である。図１０（Ｃ）は、図９（Ｓ）の文字列９２０に対する基準座標系である基準座標系１００２を示す図である。図１０（Ｄ）は、図９（Ｓ）の文字列９２１に対する基準座標系である基準座標系１００３を示す図である。図１０（Ｅ）は、図９（Ｔ）の文字列９２２に対する基準座標系である基準座標系１００４を示す図である。図１０（Ｆ）は、図９（Ｔ）の文字列９２３に対する基準座標系である基準座標系１００５を示す図である。
【００５２】
歪み判断は、文字列を形成する各文字の文字重心が同一Ｙ座標上にあるか否かにより判断する。図１０（Ａ）の例では、文字列９１８の各文字の文字重心は、基準座標系１０００の同一Ｙ座標上にないため、文字列９１８は歪んでいると判断する。図１０（Ｂ）の例では、文字列９１９の各文字の文字重心は、基準座標系１００１の同一Ｙ座標上にないため、文字列９１９は歪んでいると判断する。図１０（Ｃ）の例では、文字列９２０の各文字の文字重心は、基準座標系１００２の同一Ｙ座標上にあるため、文字列９２０は歪んでいないと判断する。図１０（Ｄ）の例では、文字列９２１の各文字の文字重心は、基準座標系１００３の同一Ｙ座標上にあるため、文字列９２１は歪んでいないと判断する。図１０（Ｅ）の例では、文字列９２２の各文字の文字重心は、基準座標系１００４の同一Ｙ座標上にないため、文字列９２２は歪んでいると判断する。図１０（Ｆ）の例では、文字列９２３の各文字の文字重心は、基準座標系１００５の同一Ｙ座標上にないため、文字列９２３は歪んでいると判断する。ステップＳ５０８において、原稿歪み補正処理部３１３は、文字列が歪んでいないと判断した場合にはステップＳ５０９に遷移し、文字列が歪んでいると判断した場合にはステップＳ５１０に遷移する。
【００５３】
次に、ステップＳ５０９において、モバイルアプリ３０２のＯＣＲ処理部３１２は、歪んでいないと判断した文字列が含まれる文字列領域に対し、ステップＳ５０６と同様にＯＣＲ処理を実行し、文字認識結果を得る。
【００５４】
次に、ステップＳ５１０において、モバイルアプリ３０２の原稿歪み補正処理部３１３は、ステップＳ５０８で歪んでいると判断された文字列に対して規則的歪み（線形歪み）なのか、不規則歪み（非線形歪み）なのかを判断する。原稿歪み補正処理部３１３は、文字列を形成する各文字の文字重心の配置位置に基づいて歪みの種類を判断する。原稿歪み補正処理部３１３は、文字列を形成する文字の文字重心が一定距離で並んでおり、かつ同一角度で並んでいる場合を規則的歪みと判断し、これ以外を不規則歪みと判断する。したがって、原稿歪み補正処理部３１３は、文字列９１８及び文字列９１９は不規則歪みであると判断し、文字列９２２及び文字列９２３は規則的歪みであると判断する。なお、文字列の歪み判断方法としては、文字重心を使う場合で説明を行ったが、本発明はこれに限られず、文字の外接矩形の重心を使ってもよい。ステップＳ５１０において、原稿歪み補正処理部３１３は、規則的歪みであると判断した場合にはステップＳ５１１に遷移し、不規則歪みと判断した場合にはステップＳ５１２へと遷移する。
【００５５】
ステップＳ５１１においては、モバイルアプリ３０２の原稿歪み補正処理部３１３は、文字列領域画像に対して歪み補正を行う。原稿歪み補正処理部３１３は、文字列領域を構成するＣＣ群の輪郭を文字列領域の外接矩形とする。原稿歪み補正処理部３１３は、この文字列領域の外接矩形の４つの頂点を用いて、文字列領域を基準座標系の四辺形（四辺が座標軸と平行又は直交する四辺形）に射影する射影変換行列を算出し、この射影変換行列により歪み補正を行う。図１０（Ｉ）は、図１０（Ｅ）の文字列９２２の文字列領域を構成するＣＣ群の輪郭である外接矩形１００６を示す図である。原稿歪み補正処理部３１３は、この外接矩形１００６を基準座標系１００７へ射影することで、歪み補正結果である補正画像１０１０（図１０（Ｍ）参照）を得る。図１０（Ｊ）は、図１０（Ｆ）の文字列９２３の文字列領域を構成するＣＣ群の輪郭である外接矩形１００８を示す図である。原稿歪み補正処理部３１３は、この外接矩形１００８を基準座標系１００９へ射影することで、歪み補正結果である補正画像１０１１（図１０（Ｎ）参照）を得る。原稿歪み補正処理部３１３は、文字列領域の歪みが線形歪みである場合にはこの文字列領域の単位での歪み補正を行う。
【００５６】
ステップＳ５１２においては、モバイルアプリ３０２の原稿歪み補正処理部３１３は、文字列を構成する文字毎に歪み補正を行う。原稿歪み補正処理部３１３は、文字領域を構成するＣＣ群の輪郭を文字領域の外接矩形とする。原稿歪み補正処理部３１３は、この文字領域の外接矩形の４つの頂点を用いて、文字領域を基準座標系の四辺形（四辺が座標軸と平行又は直交する四辺形）に射影する射影変換行列を算出し、この射影変換行列により歪み補正を行う。このステップＳ５１２の処理は、すべての文字領域に対して実行するように、文字数分繰り返して処理する。図１０（Ｇ）は、図１０（Ａ）の文字列９１８の各文字領域を構成するＣＣ群の輪郭である外接矩形１０１２を示す図である。原稿歪み補正処理部３１３は、この外接矩形１０１２を基準座標系１０１３へ射影することで、歪み補正結果である補正画像１０１６（図１０（Ｋ）参照）を得る。図１０（Ｈ）は、図１０（Ｂ）の文字列９１９の各文字領域を構成するＣＣ群の輪郭である外接矩形１０１４を示す図である。原稿歪み補正処理部３１３は、この外接矩形１０１４を基準座標系１０１５へ射影することで、歪み補正結果である補正画像１０１７（図１０（Ｌ）参照）を得る。原稿歪み補正処理部３１３は、文字列領域の歪みが非線形歪みである場合にはこの文字列領域を構成する文字領域の単位での歪み補正を行う。
【００５７】
なお、以上説明したステップＳ５０８、Ｓ５０９、Ｓ５１０、Ｓ５１１、及びＳ５１２の処理は、ステップＳ５０７で抽出したすべての文字列領域に対して実行するように繰り返して処理する。
【００５８】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５９】
１００  モバイル端末
１０４  カメラ
３０１  データ管理部
３０２  モバイルアプリ
３０３  メイン制御部
３０４  情報表示部
３０５  操作情報取得部
３０６  撮影画像取得部
３０７  記憶部
３０８  ＤＢ部
３０９  四辺抽出処理部
３１０  撮影歪み補正処理部
３１１  文字列抽出部
３１２  ＯＣＲ処理部
３１３  原稿歪み補正処理部
【図１】
2020149184.tif 000003
【図２】
2020149184.tif 000004
【図３】
2020149184.tif 000005
【図４】
2020149184.tif 000006
【図５】
2020149184.tif 000007
【図６】
2020149184.tif 000008
【図７】
2020149184.tif 000009
【図８】
2020149184.tif 000010
【図９】
2020149184.tif 000011
【図１０】
2020149184.tif 000012