(57)【特許請求の範囲】
【請求項１】
それぞれ複数の文字列が記された複数の文書シートを一括で撮像することにより生成された画像が入力されるコンピュータに、当該入力された画像から各文書シートの画像を個別に切り出す処理を実行させるためのプログラムであって、
前記入力された画像に含まれる文字列をその向きを表すデータと共に一列ずつ抽出する文字列抽出手段、
各文字列の間の前記向きを表すデータの差があらかじめ定めた特定の値に近似しかつ互いの文字列があらかじめ定めた位置関係をもって分布していることを条件として、前記文字列抽出手段により抽出された文字列を前記条件を満たす文字列群毎に分類する文字列分類手段、
前記文字列分類手段により分類された文字列群毎に、その文字列群の文字列が分布する範囲に対応する画像を前記入力された画像から切り出す切り出し処理手段、
の各手段として、前記コンピュータを動作させる文書画像処理用のプログラム。
【請求項２】
前記文字列分類手段は、互いの間の向きの差が０度に近似する関係にある複数の文字列が一定の距離範囲内に分布していることを前記条件として、前記文字列抽出手段により抽出された全ての文字列の中から当該条件を満たす関係にある文字列の組み合わせを抽出する、請求項１に記載された文書画像処理用のプログラム。
【請求項３】
前記文字列分類手段は、互いの間の向きの差が０度または９０度に近似する関係にある複数の文字列が一定の大きさの領域内に分布していることを前記条件として、前記文字列抽出手段により抽出された全ての文字列の中から当該条件を満たす関係にある文字列の組み合わせを抽出する、請求項１に記載された文書画像処理用のプログラム。
【請求項４】
前記文字列分類手段は、前記文字列抽出手段により抽出された各文字列をそれぞれの長さの降順に従って１つずつ処理対象として、処理対象の文字列に対して前記条件を満たす関係にある他の文字列を検索する、請求項１〜３のいずれかに記載された文書画像処理用のプログラム。
【請求項５】
それぞれ複数の文字列が記された複数の文書シートを一括で撮像することにより生成された画像を入力する画像入力手段と、
前記画像入力手段により入力された画像に含まれる文字列をその向きを表すデータと共に一列ずつ抽出する文字列抽出手段と、
各文字列の間の前記向きを表すデータの差があらかじめ定めた特定の値に近似しかつ互いの文字列があらかじめ定めた位置関係をもって分布していることを条件として、前記文字列抽出手段により抽出された文字列を前記条件を満たす文字列群毎に分類する文字列分類手段と、
前記文字列分類手段により分類された文字列群毎に、その文字列群の文字列が分布する範囲に対応する画像を前記入力された画像から切り出す切り出し処理手段と、
前記切り出し処理手段により切り出された各画像を出力する出力手段とを、具備する画像処理装置。
【請求項６】
請求項５に記載された画像処理装置であって、
前記切り出し処理手段により切り出された各画像が出力手段により出力される前に、それぞれの画像に対応する文字列群の前記向きを表すデータに基づき各画像の傾きを補正する補正手段を備える画像処理装置。
【請求項７】
それぞれ複数の文字列が記された複数の文書シートを一括で撮像することにより生成された画像を入力する画像入力手段と、
前記画像入力手段により入力された画像に含まれる文字列をその向きを表すデータと共に一列ずつ抽出する文字列抽出手段と、
各文字列の間の前記向きを表すデータの差があらかじめ定めた特定の値に近似しかつ互いの文字列があらかじめ定めた位置関係をもって分布していることを条件として、前記文字列抽出手段により抽出された文字列を前記条件を満たす文字列群毎に分類する文字列分類手段と、
前記文字列分類手段により分類された文字列群毎に、その文字列群の文字列が分布する範囲に対応する画像を前記入力された画像から切り出す切り出し手段と、
前記切り出し手段により切り出された各画像を、それぞれの画像に対応する文字列群の前記向きを表すデータに基づき補正する補正手段と、
前記補正手段により補正された画像毎に、その画像に含まれる文字列内の各文字を認識してその認識結果に基づき各文字列に対応するテキストデータを作成する文字認識手段とを、具備する文字認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字列が記された文書シートの画像（以下、「文書画像」という。）を処理する技術に関する。特に本発明は、それぞれ複数の文字列が記された文書シートを一括で撮像することにより生成された画像を処理対象として、この処理対象画像から各文書シートに対応する範囲の画像を個別に切り出すための技術、およびこの技術を用いた文字認識処理に関する。
【背景技術】
【０００２】
光学文字認識処理（ＯＣＲ）が導入された名刺管理用のアプリケーションとして、複数枚の名刺をスキャナ等により一回にまとめて撮像した後に、この撮像により生成された画像を個々の名刺毎に切り分けて名前や住所などの情報を読み取ることができるものがある（たとえば特許文献１を参照。）。
【０００３】
文書画像から認識対象の文字列を抽出するための技術も進歩し、大きさや方向が異なる複数の文字列が含まれる画像から個々の文字列の方向や高さなどを精度良く検出することが可能になっている（たとえば特許文献２を参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−４９９０６号公報
【特許文献２】特開２００５−３０９７７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の発明は、名刺の大きさがほぼ同一であることを利用して、画像を均等に分割する方法で画像を切り分けるものである（特許文献１の段落００３１〜００３３，図３等を参照。）。このため、ユーザは、読み取り対象の名刺を整列させた状態で配置しなければならず、作業の負担が大きくなる。また、スキャナのカバーを閉じた際などに名刺の整列状態が崩れると、画像を正しく切り分けられず、認識精度が低下するという問題もある。
【０００６】
また、特許文献１に記載の発明では、名刺のように大きさが揃った文書シートでなければ、複数枚を一括撮像して得られた画像から自動的に文書シート毎の画像を切り分けることは不可能である。
【０００７】
本発明は上記の問題に着目し、撮像時に認識対象の文書シートを整列させなくとも、これらの文書シートを一括で撮像した画像から各文書シートの画像を個別に切り出せるようにすることを第１の課題とする。また本発明は、認識対象の文書シートの大きさが揃っていない場合でも、これらの文書シートを一括で撮像した画像から各文書シートの画像を個別に切り出せるようにすることを第２の課題とする。
【課題を解決するための手段】
【０００８】
本発明が適用されるプログラムは、それぞれ複数の文字列が記された複数の文書シートを一括で撮像することにより生成された画像が入力されるコンピュータに、当該入力画像から各文書シートの画像を個別に切り出す処理を実行させるためのもので、以下に示す文字列抽出手段、文字列分類手段、切り出し処理手段としてコンピュータを動作させる。
【０００９】
文字列抽出手段は、入力画像に含まれる文字列をその向きを表すデータと共に一列ずつ抽出する。文字列分類手段は、各文字列の間の前記向きを表すデータの差があらかじめ定めた特定の値に近似しかつ互いの文字列があらかじめ定めた位置関係をもって分布していることを条件として、文字列抽出手段により抽出された文字列を前記条件を満たす文字列群毎に分類する。切り出し処理手段は、文字列分類手段により分類された文字列群毎に、その文字列群の文字列が分布する範囲に対応する画像を入力画像から切り出す。
【００１０】
文書シートに複数の文字列が記される場合の通常の事例としては、各文字列が横書きに統一されている場合（ケース１）、各文字列が縦書きに統一されている場合（ケース２）、縦書き文字列と横書き文字列とが混在している場合（ケース３）の３通りが考えられる。ケース１やケース２では文字列の向きが統一されており、ケース３では横書き文字列の向きと縦書き文字列の向きとの間に約９０度の差が生じるが、画像中の文書シートが傾いた場合でも、文字列間の向きの関係が変動することはない。
【００１１】
本発明は上記の点をふまえた条件に基づき画像中の文字列を文書シート毎に分類し、その分類結果に基づき、個々の文書シートに対応する画像を文書シート毎に精度良く切り出すものである。
【００１２】
本発明の一実施形態では、文字列分類手段は、互いの間の向きの差が０度に近似する関係にある複数の文字列が一定の距離範囲内に分布していることを前記条件として、文字列抽出手段により抽出された全ての文字列の中から当該条件を満たす関係にある文字列の組み合わせを抽出する。この実施形態は、大きさが均一でそれぞれにおける文字列の向きが一方向に揃っている複数の文書シートを認識対象とする場合（文書シート間における文字列の向きは異なってもよい。）に適用することができる。
【００１３】
本発明の第２の実施形態では、文字列分類手段は、互いの間の向きの差が０度または９０度に近似する関係にある複数の文字列が一定の大きさの領域内に分布していることを前記条件として、文字列抽出手段により抽出された全ての文字列の中から当該条件を満たす関係にある文字列の組み合わせを抽出する。この実施形態は、形状や大きさが均一であるが、横書き文字列と縦書き文字列とが混在して記される可能性がある複数の文書シート（名刺など）を認識対象とする場合に適用することができる。
【００１４】
本発明による第３の実施形態では、文字列分類手段は、文字列抽出手段により抽出された各文字列をそれぞれの長さの降順に従って１つずつ処理対象として、処理対象の文字列に対して前記条件を満たす関係にある他の文字列を検索する。文字列が長いほど向きを表すデータを精度良く求めることができるので、その精度の高いデータを基準として、その基準データを有する文字列と同じ文書シートに含まれる文字列を精度良く抽出することができる。
【００１５】
本発明はさらに、上記の文字列抽出手段、文字列分類手段、および切り出し処理手段の各手段と共に、これらの手段の処理対象となる画像を入力する画像入力手段と、切り出し処理手段により切り出された各画像を出力する出力手段とを具備する画像処理装置を提供する。この画像処理装置によれば、複数の文書シートを一括して撮像することにより生成された画像から文書シート毎に画像を切り出し、これらの画像を既存の文字認識処理装置に提供して処理をさせることができる。
【００１６】
上記の文字認識装置が画像処理装置とは別の機械に組み込まれている場合や、出力された画像による画像データベースが構築される場合には、切り出し処理手段により切り出された各画像が出力手段により出力される前に、それぞれの画像に対応する文字列群の文字列の向きに基づき各画像の傾きを補正するのが望ましい。
【００１７】
さらに本発明は、上記の画像入力手段、文字列抽出手段、文字列分類手段、切り出し処理手段、および上記の傾き補正を行う補正手段と、補正後の画像毎に、その画像に含まれる文字列内の各文字を認識してその認識結果に基づき各文字列に対応するテキストデータを作成する文字認識手段とを具備する文字認識装置を提供する。この文字認識装置によれば、複数の文書シートを一括で撮像することにより生成された画像を入力することによって、文書シート毎に、画像の切り出し、傾きの補正、文字列の認識処理を自動的に進行させることができる。
【発明の効果】
【００１８】
本発明によれば、複数の文書シートを整列させることなく、適当に配置して一括で撮像するだけで、その一括撮像による画像から個々の文書シート毎の画像を切り出すことができるので、ユーザの作業負担を大幅に軽減することができる。また、文字列群を識別するための一つの条件である文字列間の位置関係について何らかの条件を設定することができれば、各文書シートの大きさが揃っていなくとも、文書シート毎に画像を切り出すことができ、利便性が大幅に高められる。
【図面の簡単な説明】
【００１９】
【図１】本発明が適用された名刺管理用のアプリケーションの構成を示す機能ブロック図である。
【図２】複数の名刺を一括して撮像して得られた画像の例を示す説明図である。
【図３】図２の画像を対象に文字列領域を抽出して、抽出された文字列領域を名刺毎に分類した結果を示す説明図である。
【図４】図３の結果に基づいて切り出され、回転補正が施された名刺画像を示す説明図である。
【図５】文字列分類処理の手順を示すフローチャートである。
【図６】文字列分類処理で実行されるサブルーチン（グループ内文字列検索）の手順を示すフローチャートである。
【図７】名刺画像切り出し処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００２０】
図１は、本発明が適用されたプログラムによる名刺管理用のアプリケーションの構成例を示すものである。この実施例のアプリケーションは、多機能周辺装置（以下、略語の「ＭＦＰ」を使用する。）との通信が可能なパーソナルコンピュータに組み込まれるもので、画像入力部２，前処理部１，文字認識部３，名刺情報認識部４，認識結果出力部５，認識用辞書６，解析用辞書７，名刺管理用データベース８などが含まれる。
【００２１】
画像入力部２は、ＭＦＰにより生成された名刺の画像（図２を参照。）を、ＭＦＰから図示しない入力インタフェースやオペレーションシステムを介して入力する。
【００２２】
図２に示す画像は、ＭＦＰの読み取り面に５枚の名刺を適当に配置した状態でスキャン（撮像）を実施することにより生成されたもので、画像中の名刺や文字列は様々な方向に傾いている。この画像が前処理部１により処理されることによって、撮像された名刺毎に、図４に示すような傾きが補正された全体画像（以下「名刺画像」という。）ｇ１〜ｇ５を得ることができる。
【００２３】
文字認識部３は、上記の名刺画像ｇ１〜ｇ５を１つずつ順に処理対象として、処理対象の画像に含まれる文字列に含まれる個々の文字画像を認識用辞書６と照合することにより、各文字画像に対応する文字を個別に認識する。さらに、個々の文字に対する認識結果に基づいて、各文字列を表すテキストデータを作成する。
【００２４】
名刺情報認識部４は、名刺画像毎に文字認識部３により作成されたテキストデータを受け付けて解析用辞書７を用いて解析し、各テキストデータをその情報種別（氏名、会社名、住所など）と共に認識する。認識されたテキストデータと情報種別との組み合わせは名刺毎にまとめられ、認識結果出力部５によって対応する名刺画像と共に名刺管理用データベース８に保存される。
【００２５】
なお、名刺管理用データベース８は、図１のアプリケーションが組み込まれたパーソナルコンピュータに限らず、外部のサーバ装置などに設けることもできる。また認識対象の画像を生成する機器はＭＦＰに限らず、スキャナ装置やデジタルカメラなどでもよい。
【００２６】
前処理部１には、文字成分抽出部１１，文字列抽出部１２，文字列分類処理部１３，名刺画像切り出し部１４などが含まれる。文字成分抽出部１１は、図２に示すような入力画像に対して、エッジ抽出処理や輪郭線追跡処理などを実行することによって文字成分の候補を抽出する。さらに、各候補の大きさや元の濃淡画像における背景画像との濃度差や輪郭部分の濃度勾配の強度などの要素をあらかじめ定めた条件と比較して、各条件を満たす候補のみに絞り込む。ここで絞り込まれた候補が文字成分として判別され、文字列抽出部１２の処理に用いられる。
【００２７】
文字列抽出部１２は、各文字成分の外接矩形の大きさ、輪郭線の幅、文字成分間の距離などの要素をそれぞれあらかじめ定めた条件と照合することによって、同一の文字列を構成する可能性が高い文字成分の組み合わせを抽出する。そして、抽出された組み合わせ毎にハフ変換を実施することにより個々の文字列の方向を特定し、特定された結果に基づき個々の文字列を抽出し、その抽出結果を示す文字列領域を設定する。
【００２８】
図３は、図２に示した入力画像に対する文字列領域の設定結果を、文字列を破線枠で囲むことによって模式的に示したものである。この実施例の文字列領域は、抽出された文字列に外接する矩形を若干拡大したものに相当する。各文字列領域の実際の設定結果は、それぞれの位置および大きさを表すデータ（たとえば左上頂点の座標とこの頂点を挟む２辺の長さ）や、文字列領域の向きを表すデータ（たとえば画像の左から右に向かう方向と文字列領域の長辺（文字の並び方向に対応））により表される。これらのデータは、各文字列領域に割り振られた固有の番号（以下「領域番号」という。）に紐付けられてメモリの作業領域に保存され、以下の文字列分類処理部１３や名刺画像切り出し部１４の処理に用いられる。
【００２９】
名刺に記される主要な文字情報は横書き文字列または縦書き文字列により表される。したがって、同じ名刺に記されている文字列であれば、名刺がどのように傾いても、平行な関係にある文字列は平行である。また、縦書き文字列と横書き文字列とが混在する名刺においても、それらの文字列がなす角度は常に約９０度となる。これらの点に着目して、文字列分類処理部１３は、文字列抽出部１２により設定された文字列領域を、互いの間の向きの差が０度または９０度に近似し、かつ名刺に相当する距離の範囲内に分布する文字列領域群ごとに分類する。分類された文字列領域群（以下「グループ」という。）にはそれぞれ固有の番号が割り振られる。以下、この番号を「グループ番号」という。文字列分類処理部１３の処理によれば、名刺毎に１つずつ文字列領域のグループが形成されることになる。
【００３０】
名刺画像切り出し部１４は、上記の処理により設定されたグループ毎に、そのグループの文字列領域が分布する範囲に合わせて名刺に相当する大きさの矩形領域（以下「名刺領域」という。）を設定する。図３では、図２に示した入力画像で設定された名刺領域を一点鎖線の矩形枠ｒ１〜ｒ５により表している。いずれの名刺領域ｒ１〜ｒ５も、対応するグループの文字列領域を全て含み、かつ文字列領域の向きに合わせて傾いた状態に設定されている。
【００３１】
名刺画像切り出し部１４は、入力画像から各名刺領域ｒ１〜ｒ５の画像を個別に切り出し、さらに、これらの画像の傾きを補正することにより、図４に示すような名刺画像ｇ１〜ｇ５を取得する。名刺領域ｒ１〜ｒ５内の文字列領域も画像と共に補正される。
【００３２】
以下、この実施例の特徴である文字列分類処理部１３および名刺画像切り出し部１４の処理について、図５〜図７を参照して詳細に説明する。
【００３３】
図５は、文字列分類処理部１３による一連の処理手順を示すものである。この処理は、文字列抽出部１２により抽出された文字列に対応する文字列領域を分類の対象として、まず各文字列領域を長いものから順にソートして、ソート後の順序に基づき領域番号を更新する（ステップＳ１）。この処理により、入力画像の中で最も長い文字列領域に０番が割り当てられる。
【００３４】
この実施例の文字列分類処理では、各文字列領域は何度もソートされて、その都度、領域番号が変更されるが、最終的にステップＳ１で設定された番号に戻る仕組みになっている（その詳細は後述する。）。
【００３５】
各文字列領域には、領域番号のほか、所属する文字列領域のグループを表すグループ番号が割り当てられるが、文字列分類処理が開始された直後は、いずれの文字列領域にもグループ番号は設定されていない。
【００３６】
文字列分類処理部１３は、グループ番号の設定値ＧＮに初期値の０を設定し（ステップＳ２）、文字列領域を指定するためのカウンタｎにも初期値の０を設定する（ステップＳ３）。そして、このｎを領域番号とする文字列領域（ｎ＝０のときは一番長い文字列領域）を対象に、ステップＳ４からステップＳ７までの処理を実行する。
【００３７】
ステップＳ４では、ｎ番目の文字列領域にグループ番号が設定されているかどうかをチェックする。ｎ＝０のときのステップＳ４は「ＮＯ」となるので、ステップＳ５に進み、ステップＳ２で設定されたＧＮの設定値の０がｎ番目の文字列領域のグループ番号に設定される。
【００３８】
ステップＳ６では、次の「グループ内文字列検索」（ステップＳ１００）で使用される変数ｉにｎの現在値がセットされる。ステップＳ１００は、ｉ番目の文字列領域と同じグループに含めるべき文字列領域を検索するためのサブルーチンである。このサブルーチンは、後の図６に示すように、条件をみたす文字列領域が見つかる都度、その見つかった文字列領域を対象に同様のサブルーチンが実施される入れ子構造になっている。
【００３９】
一連の「グループ内文字列検索」によって所定数の文字列領域にｎ番目の文字列領域と同一のグループ番号ＧＮが割り当てられると、サブルーチンのステップＳ１００が終了してメインルーチンに戻り、グループ番号ＧＮが現在値に１を加算した値に更新される（ステップＳ７）。以下、ｎが最終の値Ｎに達するまでｎの値が１ずつ更新され（ステップＳ８，Ｓ９）、更新後のｎにより特定される文字列領域に対するステップＳ４〜Ｓ７を実行する手順が繰り返される。ただし、処理が進むにつれて、先に処理された文字列領域におけるグループ内文字列検索でグループ番号が設定された文字列領域が増える。その場合にはステップＳ４が「ＹＥＳ」となって、ステップＳ５〜Ｓ７はスキップされる。
【００４０】
ここで図６を参照して、図５に示すメインルーチンのステップＳ６からサブルーチンであるステップＳ１００の「グループ内文字列検索」に移行した場合の処理の手順を説明する。
【００４１】
まず、最初のステップＳ１０１では、ステップＳ６で設定されたｉの値により特定される文字列領域（ｎ番目の文字列領域）を、以後の検索のための基準領域に設定する。つぎのステップＳ１０２で、この基準領域を含む全ての文字列領域の領域番号の現在値を保存した後に、これらの文字列領域を基準領域に対する距離の短い順にソートし、その結果に基づき各文字列領域の領域番号を更新する（ステップＳ１０３）。この領域番号の付け替えにより、基準領域の領域番号が０番となる。なお、ステップＳ１０３では、基準領域との距離として、基準領域の中点と他の文字列領域の中点との間の距離を算出する。算出された距離は、ソート終了後も領域番号に紐付けられて保存されて後のステップ１０６での判定に使用される。
【００４２】
この後は、基準領域と照合する対象の文字列領域を特定するための変数ｊに初期値の１を設定し（ステップＳ１０４）、このｊが最大値Ｎに達するまでｊの値を１ずつ更新しながら（ステップＳ１１３，Ｓ１１４）、毎時のｊに対して以下の手順を実施する。
【００４３】
まず、ステップＳ１０５で、ｊ番目の文字列領域のグループ番号が設定済みであるか否かがチェックされる。グループ番号が設定されていない場合には、ステップＳ１０５が「ＮＯ」となってステップＳ１０６に進み、基準領域との距離が所定のしきい値Ｄ０と比較される。なお、Ｄ０は、あらかじめモデルの名刺の画像から割り出された名刺の対角線の長さ（画素数で表される。）に所定のオフセット値を加えた値に設定されるが、他のパラメータを基準にＤ０を設定してもよい。
【００４４】
上記の距離がＤ０以内であれば、ステップＳ１０６が「ＹＥＳ」となってステップＳ１０７に進み、メモリから基準領域およびｊ番目の文字列領域の向きを表す角度が読み出され、これらの角度の差φが算出される。そして、つぎのステップＳ１０８において、φおよび（９０−φ）の絶対値がしきい値φ０と比較される（ステップＳ１０８）。このしきい値φ０は、０に近似する値に設定される。φまたは（９０−φ）の絶対値がφ以下であれば、ステップＳ１０８が「ＹＥＳ」となってステップＳ１０９に進み、メインルーチンで設定されたのと同じＧＮの値が着目中のｊ番目の文字列領域のグループ番号として設定される。
【００４５】
φおよび（９０−φ）の絶対値がいずれもφ０より大きい場合には、ステップＳ１０８が「ＮＯ」となり、ステップＳ１０９および以下のステップＳ１１０〜Ｓ１１２はスキップされ、次の文字列領域との比較処理に進む。またｊ番目の文字列領域と基準領域との距離がしきい値Ｄ０を上回る場合（ステップＳ１０６が「ＮＯ」）や、ｊ番目の文字列領域に既にグループ番号が設定されていた場合（ステップＳ１０５が「ＹＥＳ」）にも、ステップＳ１０９〜Ｓ１１２はスキップされる。
【００４６】
ステップＳ１０９が実行された場合には、その対象となった文字列領域の領域番号ｊが保存され（ステップＳ１１０）、さらにこのｊの値がｉにセットされ（ステップＳ１１１）、実行中のサブルーチンと同じプログラムによる「グループ内文字列検索処理」が開始される（ステップＳ１００´）。この２番目の「グループ内文字列検索処理」では、直前に設定されたｉにより特定される文字列領域（ｊ番目の文字列領域）が基準領域に設定され（ステップＳ１０１）、一段階前のサブルーチンで設定された各文字列領域の領域番号が保存され（ステップＳ１０２）た後に、基準領域に対する距離に基づき各文字列領域の領域番号が更新される（ステップＳ１０３）。以下、一段階前のサブルーチンと同様の順序で検索処理が行われ、ステップＳ１０６およびＳ１０８の判定が共に「ＹＥＳ」となる文字列領域が見つかった場合には、この文字列領域にも、メインルーチンで設定されたグループ番号ＧＮが設定される。そして、このグループ番号ＧＮが設定された文字列領域を基準領域とする３番目の「グループ内文字列検索」が開始される。
【００４７】
このように、メインルーチンのステップＳ５で最初にグループ番号ＧＮが設定された文字列領域を起点として、基準領域との距離がＤ０以内であるという第１条件（ステップＳ１０６）と基準領域との間の向きの差φが０°または９０°に近似するという第２条件（ステップＳ１０８）とを満たす文字列領域を探す検索が実行される。そして第１条件および第２条件を共にみたす文字列領域が見つかると、その文字列領域に起点の文字領域と同じグループ番号ＧＮが付与され、さらにこの新たに見つけた文字列領域に検索の基準を移動させて同様の検索が実行される。このように基準領域を変更しながら検索を続けることにより、同じ名刺に対応する文字列領域を精度良く抽出することができる。
【００４８】
ある時点で２つの条件を満たす文字列領域が見つからない状態になると、ステップＳ１１３が「ＮＯ」となって実行中の「グループ内文字列検索」のルーチンが終了し、一段階前の「グループ内文字列検索」のルーチンに戻って、そのルーチン内のステップＳ１１２に進む。ステップＳ１１２では、現ルーチンのステップＳ１０２やステップＳ１１０で保存された情報に基づき、一段階前のサブルーチンに移行したことにより書き換えられた各文字列領域の領域番号やｊの値を、現在のルーチンで設定された値に復帰させる。その後は、復帰したｊの値に１を加算して（ステップＳ１１４）、ステップＳ１０５に戻ることより、第１条件および第２条件を満たす文字列領域を検索する処理が再開される。
【００４９】
第１条件および第２条件を満たす文字列領域が全て抽出され、これらにメインルーチンで設定されたＧＮと同じ値がグループ番号として設定されると、各段階の「グループ内文字列検索」は開始されたのとは逆の順序で終了し、最終的にメインルーチンに復帰する。メインルーチンが終了したとき、各文字列領域は、開始時のステップＳ１で設定された領域番号と、一連の処理で設定されたグループ番号とが設定された状態になる。
【００５０】
上記の説明のとおり、この実施例の文字列分類処理では、入力画像に対して設定された複数の文字列領域に長いものから順に着目し、着目した文字列領域を起点として第１条件および第２条件を満たす文字列領域を抽出する。このように他の文字列領域より長い文字列領域を検索の起点とすることによって、分類処理のかなめの要素である文字列領域の向きについて精度の良い基準値を取得することができるので、毎回の「グループ内文字列検索」のステップＳ１０８における判定精度を確保することができる。
【００５１】
人の手で名刺が並べられる場合、仮に各名刺を整列させて並べたとしても、それぞれの向きを完全に一致させるのは難しく、通常、１〜２度ほどのずれが生じる。したがって、第２判定で用いられるしきい値φ０を０に近似する値に設定することで、隣り合う名刺の文字列領域が１つのグループに分類されるのを防ぐことができる。また、文字列領域の間の向きの差φのほか、９０度とφとの差の絶対値をφ０と比較することにより、横書き文字列と縦書き文字列とが混在するタイプの名刺についても、支障なく、１枚の名刺に対応する文字列領域を１つのグループに分類することができる。
【００５２】
図７は、名刺画像切り出し部１４により実行される処理の手順を示す。名刺画像切り出し部１４は、グループ番号を表す変数ＧＮを初期値の０から最大値まで１つずつ変更することによって、各グループに順に着目し（ステップＳ１１，Ｓ１８，Ｓ１９）、着目中のグループについて以下のステップＳ１２〜Ｓ１７を実行する。
【００５３】
まずステップＳ１２では、ＧＮの現在値をグループ番号とする文字列領域を抽出する。ステップＳ１３では、名刺の標準サイズに基づきあらかじめ設定された矩形枠（図３に示した名刺領域ｒ１〜ｒ５の輪郭を表すもの）を読み出し、この矩形枠の長辺が抽出されている文字列領域の向きに沿うように、矩形枠を回転させる。
【００５４】
ステップＳ１４では、回転後の矩形枠を、ステップＳ１２で抽出された文字列領域の分布範囲に設定し、文字列領域が全て枠内に含まれるように矩形枠の位置を調整する。この調整が完了したときの矩形枠により特定される領域が名刺領域となる。このときにステップＳ１５が「ＹＥＳ」となってステップＳ１６に進み、矩形枠の内部の画像が切り出される。
【００５５】
最後に、ステップＳ１７では、切り出された画像と画像内の文字列領域との回転補正が行われる。ステップＳ１７では、グループ内の文字列領域の長さ方向が水平方向に沿うように補正される。また、グループ内に直交する関係にある文字列領域が含まれる場合には、図４の画像ｇ５の例に示すように、個数が多い方の文字列領域の長さ方向が水平方向に沿うように補正される。
【００５６】
何らかの誤判別が生じて処理対象のグループの文字列領域が矩形枠の内部に収まらなかった場合には、ステップＳ１５が「ＮＯ」となり、図示しないエラー処理に進む。
【００５７】
以上、パーソナルコンピュータにおける名刺管理用アプリケーションに本発明を適用した例を説明したが、本発明は、このような実施形態に限定されるものではない。たとえば、図１の前処理部１に関する各機能を備える画像処理用のアプリケーションとして、複数枚の名刺の一括撮像により生成された画像から個々の名刺画像を切り出し、これらの名刺画像を既存の名刺管理用のアプリケーションに出力するように構成してもよい。その場合には、名刺画像や文字列領域の回転を補正する処理（図７のステップＳ１７）は必ずしも必要ではなく、回転したままの名刺画像を出力し、外部のアプリケーションで補正処理を行うようにしてもよい。また、文字列の抽出結果である文字列領域の情報も名刺画像と共に出力するのが望ましいが、名刺画像のみを出力の対象としてもよい。
【００５８】
前処理部１のプログラムは、パーソナルコンピュータに限らず、名刺の撮像を行うＭＦＰなどの機器に組み込むこともできる。または、スマートフォンやタブレット型端末装置のような撮像機能を有する携帯型情報機器にも、前処理部１のプログラムまたは図１に示したアプリケーション全体のプログラムを組み込むことができる。各種端末装置から画像の配信を受けるインターネットサーバにも、前処理部１のプログラムやそれを含む認識処理用のプログラムを組み込むことができる。
【００５９】
名刺以外のシート（たとえばチラシなど）に印刷された文字列についても、複数のシートを一括で撮像し、生成された画像に上記実施例と同様の処理を適用することにより、元の画像からシート毎の画像を切り出して、文字認識処理を実施することができる。１つのシート内の文字列が横書きまたは縦書きのいずれかに統一される場合には、グループ内文字列検索のステップＳ１０８では、文字列領域間の向きの差φのみを０度に近似するしきい値φ０と比較すればよい。
【００６０】
また、処理対象のシートの大きさが異なる場合であっても、それぞれのシートにおける文字列の間の距離やシートの最大面積など、文字列間の位置関係を何らかのデータにより定義できる場合には、そのデータが示す位置関係を持ち、かつ互いの向きを表す角度の差が０度または９０度に近似する関係を持つことを分類の条件として、シート毎に文字列領域を分類し、その分類結果に基づき各シートの画像を個別に切り出すことができる。
【符号の説明】
【００６１】
１    前処理部
２    画像入力部
３    文字認識部
４    名刺情報認識部
５    認識結果出力部
１１  文字成分抽出部
１２  文字列抽出部
１３  文字列分類処理部
１４  名刺画像切り出し部
ｒ１〜ｒ５  名刺領域
ｇ１〜ｇ５  名刺画像
【図１】
0006435934.tif 000002
【図２】
0006435934.tif 000003
【図３】
0006435934.tif 000004
【図４】
0006435934.tif 000005
【図５】
0006435934.tif 000006
【図６】
0006435934.tif 000007
【図７】
0006435934.tif 000008