JP4275866B2 - カラー画像から文字列パターンを抽出する装置および方法 - Google Patents

カラー画像から文字列パターンを抽出する装置および方法 Download PDF

Info

Publication number
JP4275866B2
JP4275866B2 JP2001019060A JP2001019060A JP4275866B2 JP 4275866 B2 JP4275866 B2 JP 4275866B2 JP 2001019060 A JP2001019060 A JP 2001019060A JP 2001019060 A JP2001019060 A JP 2001019060A JP 4275866 B2 JP4275866 B2 JP 4275866B2
Authority
JP
Japan
Prior art keywords
color
pixel
pixels
rectangle
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001019060A
Other languages
English (en)
Other versions
JP2001283153A (ja
Inventor
裕 勝山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001019060A priority Critical patent/JP4275866B2/ja
Publication of JP2001283153A publication Critical patent/JP2001283153A/ja
Application granted granted Critical
Publication of JP4275866B2 publication Critical patent/JP4275866B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Analysis (AREA)
  • Character Input (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像処理技術に係り、カラー画像からタイトル等の文字列パターンを抽出するパターン抽出装置およびその方法に関する。
【0002】
【従来の技術】
近年、コンピュータやカラープリンタ等の周辺機器の発達と、その低価格化に伴って、カラー画像を処理する分野が広がっている。このため、カラー画像を領域分割し、カラー画像の中から特定領域だけを抽出する技術、例えば、カラー画像中の同色領域を抽出する技術が求められている。
【0003】
例えば、CCD(charge coupled device )カメラで撮影したカラー情景画像を処理対象の入力画像とする場合、画像認識による果物選別や、車の監視、セキュリティーのための人物監視等、多方面において、このような技術が求められている。
【0004】
また、カラー文書画像を入力画像とする場合、画像から文書名やキーワード等の文字領域を自動抽出して、それを検索時に使用するための技術として期待されている。その一例として、図書館での本の分類や、管理の自動システムがあげられる。その他にも、画像をデータベースとして蓄積、共有化するグループウェアでの自動キーワードまたはファイル名付け等に利用される。これらの情報は、膨大な量のカラー文書画像を自動検索するのに使用される。
【0005】
カラー文書画像から文字領域を抽出する従来の技術が記載されている文献としては、以下のようなものがある。
・仙田等,「文字の単色性に着目したカラー画像からの文字パターン抽出法」,電子情報通信学会PRU94−09,pp.17−24,1994.
・上羽等,「等色線処理によるカラー画像からの文字領域の抽出」,電子情報通信学会PRU94−09,pp.9−16,1994.
・松尾等,「カラー文書画像からの単色文字領域の抽出」,1997電子情報通信学会総合大会D−12−19,1997.
・松尾等,「濃淡および色情報による情景画像からの文字列抽出」,電子情報通信学会PRU92−121,pp.25−32,1992.
・「画像処理装置およびパターン抽出装置」,特願平10−350342.
これらの技術は、以下のように分類される。
a)色空間におけるクラスタリング法
RGB画像の画素に対して、RGB空間上またはRGB以外の色空間(HSV空間等)上で何らかのクラスタリングを行い、1つのクラスタに属する画素だけで色毎の画像を作成して、同一色の領域を抽出する。また、この方法により抽出された領域を併合して、新たな領域を抽出する。
b)領域拡張法
隣接する画素の色が近いときにそれらの画素に同一ラベルを与えることを繰り返して、画像全体を領域に区分していく。この方法は、処理する対象が画素の周辺だけであるので、a)に比べて処理時間を短くできる利点がある。
【0006】
【発明が解決しようとする課題】
しかしながら、上述した従来の文字領域抽出方法には、次のような問題がある。
【0007】
カラー文書画像においては、文字の輪郭部分で文字色と背景色が混ざり合う混色と呼ばれる現象が見られる。このため、a)およびb)の両者とも、大きな文字パターンでは問題ないが、小さな文字パターンでは、文字の抽出そのものができなくなる場合があるという問題を抱えている。
【0008】
本発明の課題は、カラー文書画像に含まれる文字と背景を高精度に分離し、小さな文字パターンでも抽出することができるパターン抽出装置およびその方法を提供することである。
【0009】
【課題を解決するための手段】
図1は、本発明のパターン抽出装置の原理図である。
本発明の第1の局面において、パターン抽出装置は、概略抽出手段1、詳細抽出手段2、出力手段3、および判定手段4を備える。
【0010】
概略抽出手段1は、複数色の背景上の大きな文字を抽出可能な抽出方法を用いて、カラー画像から文字列パターンを抽出する。判定手段4は、抽出された文字列パターンの領域内において、背景色が均一か否かを判定する。詳細抽出手段2は、上記背景色が均一であるとき、一様色の背景上の小さな文字を抽出可能な抽出方法を用いて、上記文字列パターンの領域から文字列パターンを再抽出する。そして、出力手段3は、上記背景色が均一でないとき、概略抽出手段1により抽出された文字列パターンを出力し、上記背景色が均一であるとき、詳細抽出手段2により抽出された文字列パターンを出力する。
【0011】
判定手段4は、概略抽出手段1により抽出された文字列パターンの領域内において、さらに詳細抽出手段2によるパターン抽出を行うか否かを、背景色の均一性に基づいて決定する。そして、出力手段3は、詳細抽出手段2により文字列パターンが抽出されたとき、そのパターンを出力する。
【0012】
このようなパターン抽出装置によれば、文字列パターンの領域内の背景色が均一でなければ、複数色の背景上の文字を抽出する方法により抽出された文字列パターンが出力され、その背景色が均一であれば、一様色の背景上の文字を抽出する方法により抽出された文字列パターンが出力される。後者の抽出方法では、前者の抽出方法に比べて、より小さな文字まで詳細に抽出することができるため、均一な背景色を有する領域における抽出精度が向上する。
【0013】
また、本発明の第2の局面において、パターン抽出装置は、概略抽出手段1、詳細抽出手段2、出力手段3、および判定手段4を備える。
詳細抽出手段2は、一様色の背景上の小さな文字を抽出可能な抽出方法を用いて、カラー画像から文字列パターンを抽出する。判定手段4は、抽出された文字列パターンの領域内において、背景色が均一か否かを判定する。概略抽出手段1は、上記背景色が均一でないとき、複数色の背景上の大きな文字を抽出可能な抽出方法を用いて、上記文字列パターンの領域から文字列パターンを再抽出する。そして、出力手段3は、上記背景色が均一であるとき、詳細抽出手段2により抽出された文字列パターンを出力し、上記背景色が均一でないとき、概略抽出手段1により抽出された文字列パターンを出力する。
【0014】
判定手段4は、詳細抽出手段2により抽出された文字列パターンの領域内において、さらに概略抽出手段1によるパターン抽出を行うか否かを、背景色の均一性に基づいて決定する。そして、出力手段3は、概略抽出手段1により文字列パターンが抽出されたとき、そのパターンを出力する。
【0015】
このようなパターン抽出装置によれば、第1の局面におけるパターン抽出装置と同様に、均一な背景色を有する領域における抽出精度が向上する。
また、本発明の第3の局面において、パターン抽出装置は、概略抽出手段1、詳細抽出手段2、出力手段3、および合成手段5を備える。
【0016】
概略抽出手段1は、複数色の背景上の大きな文字を抽出可能な抽出方法を用いて、カラー画像から文字列パターンを抽出する。詳細抽出手段2は、一様色の背景上の小さな文字を抽出可能な抽出方法を用いて、上記カラー画像から文字列パターンを抽出する。合成手段5は、概略抽出手段1により抽出された文字列パターンと、詳細抽出手段2により抽出された文字列パターンとを合成する。そして、出力手段3は、合成された文字列パターンを出力する。
【0017】
このようなパターン抽出装置によれば、複数色の背景上の文字を抽出する方法により抽出された文字列パターンと、一様色の背景上の文字を抽出する方法により抽出された文字列パターンが合成されて出力される。適切な合成方法を用いれば、前者の抽出方法における抽出精度の低さを後者の抽出方法により補うことができ、全体として抽出精度が向上する。
【0018】
また、本発明の第4の局面において、パターン抽出装置は、概略抽出手段1、詳細抽出手段2、および出力手段3を備える。
概略抽出手段1は、複数色の背景上の大きな文字を抽出可能な抽出方法を用いて、カラー画像から文字列パターンを抽出する。詳細抽出手段2は、一様色の背景上の小さな文字を抽出可能な抽出方法を用いて、上記カラー画像から文字列パターンを抽出する。そして、出力手段3は、概略抽出手段1により抽出された文字列パターンと、詳細抽出手段2により抽出された文字列パターンとを個別に出力する。
【0019】
このようなパターン抽出装置によれば、複数色の背景上の文字を抽出する方法により抽出された文字列パターンと、一様色の背景上の文字を抽出する方法により抽出された文字列パターンがそれぞれ個別に出力される。したがって、ユーザは、出力された2つの文字列パターンを比較して、いずれか一方を選択することができ、結果として抽出精度が向上する。
【0020】
例えば、図1の概略抽出手段1、詳細抽出手段2、判定手段4、および合成手段5は、後述する図56のCPU(中央処理装置)221およびメモリ222に対応し、図1の出力手段3は、図56の出力装置224に対応する。
本発明の別の局面において、パターン抽出装置は、判定手段および2値画像生成手段を備える。判定手段は、入力画像を分割したメッシュ領域のうち、色の分散値が予め決められた範囲にあるメッシュ領域内の色の標準偏差の平均値に基づいて設定された、同一とみなす色の範囲の第1しきい値と隣接画素間の画素値の差分を比較してその差分が第1しきい値以下と判定された隣接画素同士に同一のラベルを付すことで得られる、同一のラベルが付された連結画素を囲む領域において、その連結画素以外の部分の、同一のラベルが付された連結画素の平均色との差が許容範囲を超える色を持つ画素の割合が第2しきい値より大きい場合に均一色と判定し、その割合が第2しきい値以下の場合に均一色でないと判定する。2値画像生成手段は、判定手段で均一色と判定した場合に、同一のラベルが付された連結画素を囲む領域をグレースケール画像に変換した後に2値画像を生成して出力し、判定手段で均一色でないと判定した場合に、同一のラベルが付された連結画素を囲む領域を、同一のラベルが付された連結画素とその連結画素以外の画素とに2値化した2値画像を出力する。
【0021】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態を詳細に説明する。
本実施形態においては、先願の特願平10−350342(以下では、先願Aと記す)の技術を改良して、さらに高精度なパターン抽出を実現している。主要な改良点は、先願のパターン抽出技術に、別の先願のカラーテキスト抽出技術を所定のアルゴリズムに基づいて組み合わせて、パターン抽出技術をハイブリッド化したことである。
【0022】
別の先願である「文書画像認識装置、その方法、及び記録媒体」(特願平10−145322,以下では、先願Bと記す)と「カラー文書画像認識装置」(特願平10−353045,以下では、先願Cと記す)に記載されたカラーテキスト抽出技術では、カラー画像の各画素の明度成分が所定のしきい値で2値化され、2値画像が生成される。この2値画像は、文字部分に対応する値と背景部分に対応する値のいずれか一方を持つ画素から構成される。
【0023】
このとき、先願Bでは、カラー画像をグレースケール画像に変換し、グレースケール画像に対して画素値の補間等の処理を施して、解像度の高い2値画像を生成する。
【0024】
また、先願Cでは、まず、カラー画像をグレースケール画像に変換し、文字領域を覆う単一背景色かつ単一文字色の部分領域の集合を求める。そして、それぞれの部分領域の画像を2値化して部分2値画像を生成し、部分2値画像を組み合わせて、全体のグレースケール画像に対応する2値画像を生成する。
【0025】
このようなカラーテキスト抽出技術によれば、一様色背景上に一様色で文字が記載されている画像から高精度な2値画像が生成され、小さな文字パターンを正しく抽出することができる。一方、先願Aのパターン抽出技術によれば、大きな文字であれば、写真背景上の文字であっても抽出することができる。そこで、両者を組み合わせて実装することで、小さな文字パターンでもある程度まで抽出することが可能になる。
【0026】
このハイブリッド化されたパターン抽出技術を実現するために改良された点は、以下の通りである。
1)色ラベリング時に小さなパターンまで抽出
先願Aで使用されている色ラベリングでは、1つの同色連結領域の面積が5画素以下、またはその外接矩形の高さまたは幅が1画素である場合に、その領域を無視していた。今回の改良では、小さなパターンまで正しく抽出するために、面積が5画素以下の領域だけ無視し、外接矩形の高さまたは幅が1画素である領域は残すようにした。この結果、先願Aの方法ではうまく抽出できていなかった小さなパターンの抽出が可能になった。
2)矩形単位の図形除去
色ラベリングで抽出された外接矩形を対象に、文字認識処理を行い、1文字と判断された矩形が他の矩形に包含される場合に、それを包含している矩形を図形と判断して除去する。
3)注目矩形抽出時に小さい矩形まで抽出
先願Aでは、39.4ドット/cm画像に対して、23ドット以上の大きさの矩形を注目矩形として抽出していたが、小さなパターンを取りこぼすことがあったため、10ドット以上の大きさの矩形を抽出することにした。この改良により、今までは抽出できなかった小さい文字パターンの抽出が可能になった。
4)同色グループ抽出の改良
先願Aでは、同色の矩形グループに1つの矩形を組み入れる場合に、グループの平均色と矩形の色から求められる色差のしきい値を用いて、そのグループに矩形を組み入れるか否かを判定していた。ここでは、代わりに、画像全体から求めた色差のしきい値を使用する。これにより、色ラベリングと同様に高精度な同色判定が可能となった。
5)文字線太さによるグループの再分割の改良
先願Aでは、文字線太さによるグループの分割において、グループの平均色と矩形の色から求められる色差のしきい値を、この処理に独自の固定しきい値として使用していた。このため、文字線の太さと色に基づく再グループ化が行われていた。その代わりに、4)のグループ化と同様に、画像全体から求めた色差のしきい値を使用することで、文字線の太さだけに基づく再グループ化が正確に行えるようになった。
6)グループ統合の高精度化
グループの統合において、グループの外接矩形の並び方だけでなく、その内部に含まれる文字列矩形の並び方も判断に入れるようにした。
【0027】
以上説明した1)〜6)の改良点に加えて、さらに以下のような改良も行った。
7)タイトルらしさによる出力順位の変更
別の先願である「文書画像からのタイトル抽出装置および方法」(特願平7−341983,特開平9−134406,以下では、先願Dと記す)の技術を応用して、同色グループを単位としたタイトル抽出処理を開発した。これにより、同色グループの面積の大きい順にタイトルとして出力していたときに比べて、タイトル抽出の性能が向上した。
8)第1のノイズ除去の改良
同色グループの中から、背景から抽出されたグループだけを除去するノイズグループの除去において、先願Aでは、グループ内に2つの矩形があり、それらの矩形の端の座標差が大きい場合にのみ、そのグループを削除するという単純な処理を行っていた。しかし、このような処理だけでは、ノイズグループが多数残ってしまっていた。
【0028】
そこで、グループ内部に含まれる文字矩形を文字認識処理し、その結果文字と判断された矩形が別のグループの矩形領域にもかかっている場合に、その別のグループを図形と判断して削除することにした。これにより、ノイズグループが減少した。
9)第2のノイズ除去の改良
グループ内の文字パターンの画素の縦横のヒストグラムを生成し、縦横でヒストグラムの2乗和を求める。そして、それらの2乗和の差が一定しきい値より小さい場合に、文字列が存在しないものと判断し、そのグループをノイズとして削除することにした。これにより、ノイズグループが減少した。
【0029】
本実施形態のパターン抽出装置は、以上のような改良を加えたパターン抽出処理のプログラムを実装したコンピュータを含む。そして、CCDカメラやスキャナ等により入力された画像データから文字パターンを抽出する。まず、パターン抽出処理の前処理として、図2に示すようなテーブル作成処理が行われる。
【0030】
図2のテーブル作成処理において、パターン抽出装置は、まず、印刷シミュレーション処理を行う(ステップST1)。
雑誌等のカラー印刷物は、グラビア等、色々な印刷方法があるが、網点印刷法で印刷されたものが、世の中には多い。網点印刷法で印刷された画像では、人間の目には均一色と見える領域でも、拡大してみると、図3に示すように、カラーのモアレ模様が生じている。
【0031】
図3において、左側の原画像11内の「の」と書かれた領域は、例えば、オレンジ色の1色で描かれているが、その領域の一部を拡大すると、右側に示すように、その領域は、様々の色が集まって構成されている。
【0032】
このため、隣接画素の色差(RGBの輝度差等)を固定しきい値と比較して、それらの画素に同一ラベルを与えるか否かを判断すると、適応できない場合がある。例えば、図3の「の」と書かれた領域内の画素12〜14には、他の画素とは異なるラベルが付加され、原画像11から「の」の文字を抽出する際に、これらの画素12〜14の部分が欠落して、抽出精度が悪化する。
【0033】
そこで、印刷モデルを用いて、RGBの平均輝度値とスキャナ読み取り解像度毎の隣接画素のRGB輝度差をあらかじめ求め、それらの結果を色差テーブルに格納しておく。そして、色差テーブルを参照しながら、各色毎にしきい値を制御することにより、ラベリングを行う。
【0034】
例えば、図3の画素14と画素15との間の色差が最大の場合、画素14と画素15との間の色差を、オレンジ色の領域を抽出する際のしきい値に設定する。この結果、原画像11から「の」の文字を抽出する際、画素12〜14についても、他の画素と同一のラベルを付加することが可能となる。
【0035】
図4は、カラーの網点印刷法で印刷された印刷物の画像の拡大図である。図4において、シアン(水色)、マゼンタ(紫)、黄色の点状の模様が、場所によって点21、22、23の大きさを変えながら、メッシュ状に規則的に配置されていることが分る。
【0036】
網点印刷を行う場合、まず、3原色(または、黒を加えた4原色)の1つの色について、ある一定の間隔のメッシュの交点に、希望する濃度になるような適当な大きさの塗りつぶし円を配置して、1色を刷り上げる。次に、少し回転させた同じ間隔のメッシュを用いて、塗りつぶし円の大きさを変更して、別の色で刷り上げる。そして、もう1つの色は、さらに回転させたメッシュを用いて、塗りつぶし円の大きさも変更して刷り上げる。このような印刷方法をとることにより、1画素づつ見るのではなく大局的に見る人間にとっては、綺麗な均一色に見えるのである。
【0037】
図5は、網点印刷法における印刷モデルの構築方法を示す図である。図5においては、印刷モデルとして、シアン、マゼンタ、黄色の印刷メッシュM11、M12、M13をそれぞれ回転させて重ね合わせたものを使用し、カラー画像の色を仮想的に表現する。ここで、シアン、マゼンタ、黄色の色の濃さを調節する場合、印刷メッシュM11、M12、M13の各格子点に配置される塗りつぶし円D11、D12、D13の大きさを調節する。
【0038】
このとき、一般的な印刷モデルのパラメータは、以下のようになる。
・印刷メッシュM11、M12、M13の格子間隔md
(ただし、格子間隔mdは、黄色、シアン、マゼンタに共通のサイズである)
・黄色メッシュM11の水平線からの角度θ11
・マゼンタメッシュM12の水平線からの角度θ12
・シアンメッシュM13の水平線からの角度θ13
・黄色の塗りつぶし円D11の半径r11
・マゼンタの塗りつぶし円D12の半径r12
・シアンの塗りつぶし円D13の半径r13
ただし、本実施形態では、これらのパラメータのすべてを可変にすると煩雑すぎるので、ある程度の限定を与え、以下のように設定した。
【0039】
・黄色メッシュM11の水平線からの角度θ11=15度
・マゼンタメッシュM12の水平線からの角度θ12=30度
・シアンメッシュM13の水平線からの角度θ13 =45度
・格子間隔md=20ドット
この印刷モデルを使用してシミュレーションを行い、黄色、マゼンタ、シアンの塗りつぶし円D11、D12、D13のそれぞれの半径r11、r12、r13の影響を受ける平均RGB値(Rm,Gm,Bm)を求める。具体的には、印刷メッシュM11、M12、M13の格子間隔mdよりもかなり大きな単位面積を考え、平均RGB値(Rm,Gm,Bm)を、次式により求める。
Rm=255−単位面積中のシアンの面積×255/単位面積
Gm=255−単位面積中のマゼンタの面積×255/単位面積
Bm=255−単位面積中の黄色の面積×255/単位面積
次に、パターン抽出装置は、スキャニングシミュレーション処理を行う(ステップST2)。ここでは、1つの色(Rm,Gm,Bm)で均一に印刷されている画像をスキャナで読み込んだ場合のモデルについて考える。この処理は、図5の印刷メッシュM11、M12、M13と独立な間隔sdを有する読み込みメッシュM14を導入し、この読み込みメッシュM14内のRGBの各輝度値(=各色の面積)を求めることに相当する。
【0040】
ここで、読み込みメッシュM14の間隔sdが、スキャナ読み込み解像度に相当する。なお、同じ平均色(Rm,Gm,Bm)の画像を読み込む場合でも、スキャナ読み込み解像度が大きい場合には、読み取った結果の画素のRGB輝度値は隣接画素間で大きく異なり、隣接画素間のRGB輝度差は大きくなる。逆に、スキャナ読み込み解像度が小さい場合には、いずれの画素のRGB輝度値も(Rm,Gm,Bm)に近づくため、隣接画素間のRGB輝度差は0に近づくことになる。
【0041】
読み込みメッシュM14の1つのメッシュ内のRGB輝度値(Rc,Gc,Bc)は、以下のようになる。
Rc=255−メッシュ内のシアンの面積×255/メッシュ面積
Gc=255−メッシュ内のマゼンタの面積×255/メッシュ面積
Bc=255−メッシュ内の黄色の面積×255/メッシュ面積
上式により、読み込みメッシュM14のメッシュ毎にRGB輝度値(Rc,Gc,Bc)を求め、隣接メッシュとのRGBそれぞれの輝度差を、隣接画素との輝度差として求める。そして、得られた輝度差のうちの適当な値(例えば、最大値)を色差テーブルに記録する。
【0042】
本来の印刷モデルでは、各印刷メッシュの交点に描かれた塗りつぶし円は、相互に重なり合い、RGBの各輝度値によって相互に影響を及ぼし合うため、RGBは独立とは言えない。しかし、スキャナ読み込みモデルでは、単純化のために、RGBは相互に独立であるという仮説を立てた。そして、各RGB輝度値、隣接画素との輝度差、および読み込み解像度(間隔sd)を、RGB独立のテーブルに保存する。
【0043】
図6は、R輝度値の色差テーブルの例を示している。図6の色差テーブルにおいては、0〜255のR輝度値について、スキャナ読み込み解像度が14〜35のそれぞれに対して、隣接画素との輝度差の最大値が記録されている。G輝度値とB輝度値の色差テーブルについても同様である。
【0044】
これらの色差テーブルにおいて、輝度値のエントリは、0〜255のすべての値を網羅しているわけではなく、数十個の飛び飛びの値を示している。この場合、以下のような補完演算により、他の輝度値に対する隣接画素との輝度差の最大値を求めることができる。
【0045】
まず、色差テーブルに登録されている輝度値Ri、Ri+1に対する隣接画素との輝度差の最大値を、それぞれ、Rdi、Rdi+1とする。このとき、色差テーブルに登録されていない輝度値Rmが、輝度値Riと輝度値Ri+1の間の線形補間で表されるものとし、その関係を隣接画素との輝度値の最大値にも適用して、推定される隣接画素との輝度値の最大値infered_deltaを、次式により求める。
rl=Ri−Ri+1
rm=Rm−Ri
rn=Ri+1−Rm
infered_delta=Rdi*rn/rl+Rdi+1*rm/rl
この計算自身は単純であるが、1画素について毎回行う必要があるので、パターン抽出処理に組み込むと、全体として処理を遅らせる要因になる。そこで、パターン抽出装置は、あらかじめ補完演算を行い、すべての輝度値のエントリを有するフルエントリ色差テーブルを作成して(ステップST3)、処理を終了する。
【0046】
ここでは、0〜255の輝度値を擬似的に発生させ、それぞれの輝度値に対する隣接画素との輝度差の最大値を上述した方法で求めて、その値を色差テーブルに格納する。この処理をRGBそれぞれの輝度値について行う。
【0047】
図7は、R輝度値のフルエントリ色差テーブルの例を示している。図7の色差テーブルにおいては、0〜255のすべてのR輝度値について、スキャナ読み込み解像度が14〜35のそれぞれに対して、隣接画素との輝度差の最大値が記録されている。G輝度値とB輝度値の色差テーブルについても同様である。
【0048】
このように、網点印刷法を模倣した印刷モデルを構築することにより、網点印刷法で生成される色をコンピュータ上で再現することが可能となり、実際に印刷された印刷物を解析することなく、RGBの色差テーブルを生成することができる。後続するパターン抽出処理においては、これらの色差テーブルを参照することにより、入力画像から同一色の範囲を検出する際のしきい値を獲得することができる。
【0049】
また、すべての輝度値のエントリを有する色差テーブルをあらかじめ作成しておくことにより、パターン抽出処理において補完演算を省略することが可能となる。このため、数十個の飛び飛びの輝度値のエントリしか持たない色差テーブルを用いる場合に比べて、パラメータ推定や色ラベリング等の処理時間を削減することができる。
【0050】
次に、色差テーブルを用いたパターン抽出処理について説明する。図8および図9は、パターン抽出処理のフローチャートである。このフローチャートにおいて、ステップS4、S5、S7、S9、S11、S20、S22、S24、およびS25の処理が、上述した改良点を含んでいる。
【0051】
パターン抽出装置は、まず、CCDカメラやスキャナ等の撮像装置でカラー画像を入力し、メモリに保存する(図8のステップS1)。
次に、フルカラー判定処理を行う(ステップS2)。ここでは、入力画像のヘッダに含まれている1画素当たりのビット数を調べ、24ビット/画素の画像をフルカラー画像とみなし、ステップS3以降の処理を行う。また、1画素当たりのビット数が24ビットより小さい場合には、フルカラー以外の入力画像とみなし、ステップS12以降の処理を行う。
【0052】
入力画像がフルカラー画像であれば、次に、モデル解像度推定処理および距離しきい値獲得処理を行う(ステップS3)。
モデル解像度推定処理では、入力画像の解像度が印刷モデルのどの読み込み解像度に適合しているかを推定する。この処理では、入力画像をメッシュ状に分割し、RGBの各色成分について、各メッシュにおける隣接画素との輝度値の最大値を求め、その値と最も良く一致する読み込み解像度を色差テーブルから求める。
【0053】
具体的には、入力画像を3×3画素のメッシュに分割し、その内部の平均RGB輝度値を(Rm,Gm,Bm)とし、隣接画素との輝度差の最大値を(Rd,Gd,Bd)とする。この処理はRGB独立の処理であるので、Rを例にして説明する。
【0054】
まず、解像度をある値に固定して、Rmから色差テーブルを参照し、推定される隣接画素との輝度値の最大値infered_deltaを求める。この値infered_deltaと実際に画像から求めたRdとの差diff_rを、次式により求める。
diff_r=|Rd−infered_delta|
次に、解像度をパラメータとしてスキャンし、このdiff_rの値が最も小さくなる解像度resol_rを求める。この解像度resol_rを入力画像中の各メッシュについて算出し、それらの値の平均値mean_resol_rを求める。
【0055】
これと同様の処理をG、Bについても行い、平均値mean_resol_g、mean_resol_bを求める。そして、それらの平均値の平均値resolutionを、次式により求め、この値を入力画像の推定解像度として用いる。
resolution
=(mean_resol_r+mean_resol_g
+mean_resol_b)/3
また、距離しきい値獲得処理では、入力画像の中から局所的に同色領域(色の変化が無い部分)を求め、その局所領域から色ラベリングで使用する距離値のしきい値を求める。
【0056】
具体的には、入力画像を3×3画素のメッシュに分割し、その内部の平均RGB輝度値(Rm,Gm,Bm)と分散値(Rv,Gv,Bv)を求める。そして、RGBの各分散値の2乗和のルートを、次式により求める。
s=sqrt(Rv×Rv+Gv×Gv+Bv×Bv)
この値sをメッシュの分散値として、入力画像の各メッシュのs値を求め、それらを記録する。また、s値の最大値をsmaxとして記録する。ここで、メッシュのs値が以下の条件を満足する場合、そのメッシュを対象メッシュとする。
【0057】
smax×RANGE_LOW<s<smax×RANGE_HIGH
かつ
s>MIN_VARI
例えば、RANGE_LOW=0.004、RANGE_HIGH=0.16、MIN_VALI=10である。
次に、画像全体から得られるメッシュの中で、対象メッシュのs値のルートを標準偏差として求める。そして、この標準偏差をk倍して得られる値の平均値TH_distを全メッシュについて求め、この平均値を距離のしきい値とする。例えば、k=3.0とすると、しきい値TH_distは、次式により与えられる。
【0058】
【数1】
Figure 0004275866
【0059】
ここで、siはi番目の対象メッシュのs値を表し、nは対象メッシュの数を表す。
次に、色ラベリング処理を行って、隣接する画素の色が近い場合にそれらの画素に同一のラベルを与える(ステップS4)。
【0060】
具体的には、入力画像の左上からラスタスキャンを行い、ラベル付けがされていない画素に注目する。この注目画素のRGB輝度値(R、G、B)と推定解像度resolutionとを用いて色差テーブルを検索することにより、隣接画素との輝度差の最大値をRGBの色成分毎に求める。隣接画素との輝度差の最大値が求まると、この値をラベリングのしきい値(delta_r,delta_g,delta_b)とする。
【0061】
次に、注目画素の周囲の8画素を走査して、その注目画素の周囲に既にラベル付けされた周囲画素があり、その周囲画素のRGB輝度値(Rs,Gs,Bs)が以下の条件を満たす場合に、注目画素の色はその周囲画素の色と近いと判断する。
|R−Rs|<=delta_r
かつ
|G−Gs|<=delta_g
かつ
|B−Bs|<=delta_b
周囲画素の色が注目画素の色と近い判断されると、周囲画素のラベルをカレントラベルregionとして保存し、注目画素のラベルとしてregionを与える。また、このラベル領域の平均色(Rm,Gm,Bm)として、周囲の同一ラベル領域の平均色に注目画素の色を加味した新たな平均色を求める。
【0062】
それ以外の場合は、カレントラベルとして、直前のラベル値に1を加算した値を設定し、注目画素のラベルにその値を付与する。この場合には、ラベル領域の平均色(Rm,Gm,Bm)として、注目画素のRGB値を設定する。また、どちらの場合でも、注目画素の座標値を処理対象座標配列に保存する。
【0063】
次に、注目画素の周りに同色領域を拡張する処理を行う。処理対象座標配列の中から、先頭の座標値を取り出し、その座標値の画素を注目画素とする。注目画素のRGB輝度値から色差テーブルを検索し、RGBの各色成分の隣接画素との輝度差の最大値を推定しきい値(delta_r,delta_g,delta_b)とする。
【0064】
注目画素の周囲の8画素を走査して、周囲画素が未処理の場合、その周囲画素のRGB輝度値(Ri,Gi,Bi)を求め(i=1,...,8)、注目画素のRGB輝度値(Rc,Gc,Bc)およびラベル領域の平均色(Rm,Gm,Bm)との輝度差をRGB各色成分毎に求める。
【0065】
そして、周囲画素のRGB輝度値(Ri,Gi,Bi)と注目画素のRGB輝度値(Rc,Gc,Bc)の関係が、
|Ri−Rc|<=delta_r
かつ
|Gi−Gc|<=delta_g
かつ
|Bi−Bc|<=delta_b
の条件を満たし、かつ、平均色(Rm,Gm,Bm)と周囲画素のRGB輝度値(Ri,Gi,Bi)の色差の距離値が、
|Ri−Rm|+|Gi−Gm|+|Bi−Bm|<TH_dist
の条件を満たす場合、注目画素と同一ラベルを周囲画素に付し、周囲画素の座標を処理対象座標配列に追加する。次に、処理された注目画素を、処理対象座標配列から削除する。そして、処理座標xおよびyの最大値と最小値を求め、それらの値をこのラベル領域の外接矩形として保存する。また、このラベル領域の平均色を外接矩形の属性(代表色)として保存する。以上の処理を、処理対象座標配列の内容がなくなるまで続ける。
【0066】
図10は、注目画素の周囲の8画素を示している。図10において、注目画素Cの周囲画素は8個あるので、隣接画素との輝度差を求める場合、これらの8画素について走査される。
【0067】
このような色ラベリングの結果、同一色で連結している領域には同じラベル値が付与され、同じラベルを持つ領域を囲む外接矩形が獲得される。ここで、5画素以下の大きさの連結領域については、文字の一部ではないものと判断し、処理結果の情報を出力しない。そして、6画素以上の大きさのすべての連結領域について、以下のような情報を色ラベリングの処理結果として出力する。
【0068】
・ラベル画像:4バイト/1画素
・外接矩形
矩形数:maxcount
矩形情報:lbtbl
内包するラベル画像のラベル番号:label
矩形左上座標:(xmin,ymin)
矩形右下座標:(xmax,ymax)
矩形内の代表色:(r,g,b)
所属するグループ番号:string_label
輪郭長:contour
このような色ラベリングによれば、外接矩形の高さまたは幅が1画素であるような連結領域のうち、面積が6画素以上のものは無視されずに残されることになる。したがって、比較的小さな文字パターンが抽出されやすくなる。
【0069】
次に、色ラベリングで抽出された全矩形を対象として、矩形単位の図形除去処理を行う(ステップS5)。図形除去処理とは、文字を囲むパターンを図形とみなして、除去する処理である。
【0070】
ここでは、矩形を包含関係の階層構造で記述し、ある矩形について文字認識を行う。そして、得られた距離値が一定しきい値(例えば、1000)より小さく、文字として判定される場合に、この矩形を囲む矩形を図形として削除する。例えば、図11に示すように、矩形31、32の内部のパターンが文字と認識された場合、それらの矩形を包含する矩形33が削除される。このように、文字と認識されたパターンの周囲のパターンを除去することで、小さな文字パターンが抽出されやすくなる。
【0071】
次に、L字形/コ字形パターン削除処理を行う(ステップS6)。この処理では、文字パターンの近くに存在し、かつ、その文字パターンと同色のL字形、コ字形のパターンを削除する。
【0072】
文字パターンの周囲に背景パターンがあると、背景パターンの一部がL字形またはコ字形のパターンとして抽出されやすく、後の重なり矩形統合処理でL字形またはコ字形のパターンが文字パターンと統合されてしまう。
【0073】
このような統合が行われると、以降の処理でこれらのパターンは分離されることがなく、統合されたままの状態で処理が行われる。このため、統合された矩形は、文字らしさの形状の特性を失い、処理途中で削除されるか、L字形またはコ字形のノイズパターンを含んだままで文字として抽出される。そこで、L字形またはコ字形のパターンをあらかじめ削除しておき、このような不具合を防止する。
【0074】
図12は、L字形パターンが存在する場合の重なり統合結果を示している。図10においては、「文字」というパターン42およびL字形のパターン43が抽出され、パターン42の外接矩形41およびパターン43の外接矩形44が生成されている。ここで、外接矩形41と外接矩形44との重なり矩形統合を行うと、外接矩形45が生成される。外接矩形45が生成されると、パターン42およびパターン43は、1つのパターンを構成するものとみなされ、パターン42の大きさや形状の特性が失われる。
【0075】
そこで、L字形のパターン43を削除することにより、外接矩形41が外接矩形44と統合されることを防止し、パターン42の大きさや形状を保ったまま、その後の処理を行うことができるようになる。
【0076】
具体的には、矩形内のパターンの黒画素比率(=パターンの画素数/矩形の面積)を求め、以下の条件を満たすパターンをL字形またはコ字形のパターンとして削除する。
矩形の幅が幅しきい値以上
かつ
矩形の高さが高さしきい値以上
かつ
黒画素比率が黒画素比率しきい値未満
ここで、例えば、幅しきい値=100(ドット)、高さしきい値=100(ドット)、黒画素比率しきい値=0.4に設定する。
【0077】
次に、注目矩形抽出処理を行い、すべての色についての外接矩形を対象にして、あらかじめ決められた大きさの範囲内の外接矩形を、注目矩形として抽出する(ステップS7)。具体的には、39.4ドット/cm画像に対して、以下の条件を満たす外接矩形を注目矩形として抽出する。
x方向の長さが10ドット以上411ドット以下
かつ
y方向の長さが10ドット以上583ドット以下
このように、39.4ドット/cm画像に対して10ドット以上の大きさの矩形を注目矩形として抽出することにより、比較的小さな矩形が抽出されるようになる。したがって、小さな文字パターンが抽出されやすくなる。
【0078】
次に、注目矩形の周囲にあるサイズの探索範囲を設定し、その範囲にかかる矩形を抽出する(ステップS8)。
図13は、注目矩形の周囲の探索範囲の設定方法を説明する図である。図13においては、注目矩形51の周りに探索範囲52が設定されている。ここでは、注目矩形51の縦横の長さのうち長い方をlenドットとし、lenと35の小さい方を探索範囲52の長さrange_sizeとする。
【0079】
また、図14は、探索範囲にかかる矩形の抽出方法を説明する図である。ここでは、注目矩形の周囲のrange_sizeの範囲にかかる外接矩形を高速に求めるため、以下の方法を用いる。
【0080】
図14において、矩形番号1〜4の外接矩形61〜64が抽出されたものとすると、XYの各座標値に存在する矩形番号および矩形数を求め、これらの矩形番号および矩形数をXYの各座標値ごとに登録する。
【0081】
例えば、X座標値1〜4の位置には矩形が存在しないので、矩形数n=0、矩形番号=“空”が登録され、X座標値5〜13の位置には矩形64が存在しているので、矩形数n=1、矩形番号=4が登録され、X座標値14の位置には矩形63および矩形64が存在しているので、矩形数n=2、矩形番号=3、4が登録され、X座標値15、16の位置には矩形64が存在しているので、矩形数n=1、矩形番号=4が登録される。他のX座標値およびY座標値についても同様である。
【0082】
次に、矩形63を注目矩形とし、この矩形の周りに探索範囲65が設定されたとする。このとき、パターン抽出装置は、探索範囲65に含まれるXYの各座標値を求める。そして、XYの各座標値の矩形番号をXYそれぞれについて求め、XYの両方に含まれる矩形番号の矩形を探索範囲65にかかる矩形とする。
【0083】
ここでは、探索範囲65のX座標に含まれる外接矩形の矩形番号は2〜4、探索範囲65のY座標に含まれる外接矩形の矩形番号は1〜4であるので、XYの両方に含まれる矩形番号は2〜4となる。この結果、探索範囲65にかかる矩形として、矩形番号2〜4に対応する外接矩形62〜64が得られる。具体的には、以下のa)〜d)の処理が行われる。
a)画像全体のX軸およびY軸へ矩形番号を投影する。図14に示したように、X軸およびY軸上において、1画素毎に、その位置に属する矩形の数と矩形番号の集合を登録する。例えば、矩形番号iがX軸上の(x1,x2)の範囲にあるとすれば、X軸のx1からx2までの各座標値に対する矩形番号の集合には、番号iが入ることになる。同様の処理が、すべての矩形およびXY両座標値について行われる。
b)注目矩形の周囲にrange_sizeの範囲を設定する。
c)range_sizeの範囲内で、X軸の座標値毎に矩形番号の論理和を求め、矩形番号の集合を抽出する。Y軸の座標値に対しても同様の処理を行う。
d)X軸から求めた矩形番号の集合とY軸から求めた矩形番号の集合の論理積を求め、この注目矩形の周囲にある矩形集合を決定する。
【0084】
ところで、図14に示した矩形番号の格納方法では、画像全体に存在するすべての矩形番号を格納する容量が座標値毎に必要となり、記憶容量が増大する。そこで、a)の処理を最小限の記憶容量で高速に行うために、以下のような方法を用いる。
i)すべての矩形の横幅を合計し、矩形番号と座標値の情報を合計長さの画素数だけ持ったデータ構造を用意する。
ii)矩形の座標値と矩形番号を用意されたデータ構造のデータにセットする。
iii)このデータ構造のデータを座標値でソートする。
iv)データの座標値を順に見ていき、座標値が同じデータの数を座標値毎に数えて、その数をその座標値に属する矩形の数とする。また、その矩形数だけの矩形番号を入れる記録領域を確保する。このとき、ソートされたデータ構造を先頭からスキャンして、座標値が同じものの数をカウントしていき、座標値が変わった所で数を確定して、その数を保存する。
v)ソートしたデータ構造において、座標値が同じデータの矩形番号を、確保された領域に格納する。このとき、ソートされたデータ構造を先頭からスキャンして、座標値が同じデータの矩形番号を、対応する記録領域に格納する。
【0085】
次に、同色グループ抽出処理を行う(ステップS9)。ここでは、1つの注目矩形の色(Rc,Gc,Bc)とその周囲の矩形の集合の中のi番目の矩形の色(Ri,Gi,Bi)との間でのRGB空間上の距離を以下のように定義する。
【0086】
dist=|Rc−Ri|+|Gc−Gi|+Bc−Bi|
また、注目矩形の色(Rc,Gc,Bc)と解像度resolutionから求められるRGBの各輝度差を、delta_r、delta_g、delta_bとする。
【0087】
また、注目矩形が属する、既に抽出されているグループの色を(Rg,Gg,Bg)とする。グループの色は、そのグループに属する矩形内のパターンの色の平均色とする。なお、最初は、矩形の色はグループの色と同じである。
【0088】
このとき、グループの色(Rg,Gg,Bg)とi番目の周囲矩形が属するグループの色(Rig,Gig,Big)との色差の距離dist2を以下のように定義する。
dist2=|Rg−Rig|+|Gg−Gig|+|Bg−Big|
そして、(Rc,Gc,Bc)と(Ri,Gi,Bi)が以下の条件を満足するとき、i番目の周囲矩形は注目矩形のグループに属すると判定して、その周囲矩形をそのグループに格納する。また、新たにグループに加わった周囲矩形の矩形番号を新規追加矩形領域に格納する。
(dist<TH_RGBまたは(|Rc−Ri|<delta_rかつ
|Gc−Gi|<delta_gかつ|Bc−Bi|<delta_b))
かつ
dist2<TH_dist
例えば、TH_RGB=20である。また、TH_distは、距離しきい値獲得処理で画像全体から求めた値である。このように、画像全体から求めた色差のしきい値を用いて同色グループの判定を行うことで、色ラベリングと同様に高精度な同色判定が可能となる。
【0089】
次に、新規追加矩形領域の先頭の矩形番号を取り出し、それを新たな注目矩形として、その周囲にある矩形を計算する。そして、上記の手順を繰り返して、グループに属する矩形を求める。この手順を、グループに新たに加わる矩形がなくなるまで繰り返す。この処理により抽出されるグループ情報のデータ構造は、以下のようになる。
【0090】
グループ内の矩形数:num
グループを構成する矩形番号:child
重なり矩形統合後の矩形数:overlap_num
重なり矩形統合後の矩形情報:overlap
(データタイプは、矩形情報lbtbl型)
グループ内文字列の方向コード:orient
グループ内の文字列数:gyou_num
グループ内の文字列情報:gyou
(データタイプは、矩形情報lbtbl型)
次に、グループ内平均文字線太さ抽出処理を行う(ステップS10)。ここでは、グループに属する1つの矩形の矩形範囲内で、その矩形のラベル番号に注目して、ラベル画像上で輪郭追跡処理を行い、抽出した輪郭の長さを、その矩形の輪郭長の属性にセットする。そして、その矩形内のパターンの面積を輪郭長で割って、文字の線の平均的な太さを求め、その値を矩形の属性として矩形情報に登録する。
【0091】
輪郭長獲得処理では、1つのラベル画像のエッジに注目して、ラベル画像の外接矩形の内部をラスタスキャンし、ラベル値が特定のラベル値に変化する点をカウントする。
【0092】
図15および図16は、輪郭長獲得処理を示すフローチャートである。この処理では、処理対象となるラベル画像のラベル値をregionとし、そのラベル値のパターンの外接矩形の座標を(xmin,ymin)および(xmax,ymax)とし、輪郭長をcountとし、ラベル画像の画素がエッジかどうかを示すフラグをflagとし、縦方向の長さが1画素のパターンを検出するフラグをfirst_flagとする。
【0093】
現在の画素の1つ前の画素がregionの値の画素の場合、flagは1に設定され、1画素幅の横方向のパターンが検出されると、first_flagが1に設定される。
【0094】
パターン抽出装置は、まず、初期設定を行い、count=0、y=ymin、flag=0、first_flag=0、x=xminとする(図15のステップS31〜S34)。
【0095】
次に、flag>0かどうかを判断し(ステップS35)、flag>0である場合、カレント画素(x、y)のラベル値がregionかどうかを判断する(ステップS36)。そして、カレント画素のラベル値がregionである場合、yがyminまたはymaxかどうかを判断する(ステップS37)。ここで、yがyminまたはymaxである場合、countをインクリメントする(ステップS39)。
【0096】
また、ステップS37において、yがyminでもymaxでもない場合、カレント画素の上か下の画素のラベル値がregionかどうかを判断し(ステップS38)、カレント画素の上も下もregionでない場合にのみ、countをインクリメントする(ステップS39)。
【0097】
一方、ステップS36において、カレント画素のラベル値がregionでない場合、yがyminまたはymaxかどうかを判断し(ステップS40)、yがyminまたはymaxである場合、flag=0とする(ステップS44)。
【0098】
一方、ステップS40において、yがyminでもymaxでもない場合、カレント画素の左の画素の上および下の画素のラベル値がregionであり(ステップS41)、かつ、first_flagが0である場合にのみ(ステップS42)、countをインクリメントし(ステップS43)、それ以外の場合はステップS44の処理に進む。
【0099】
次に、first_flag=0に設定し(ステップS45)、x<xmaxかどうかを判断する(図16のステップS48)。x<xmaxである場合、xをインクリメントして(ステップS49)、ステップS35の処理に戻る。
【0100】
一方、ステップS35において、flag>0でない場合、カレント画素のラベル値がregionかどうかを判断する(図16のステップS46)。ここで、カレント画素のラベル値がregionでない場合、ステップS48の処理に進む。
【0101】
一方、ステップS46において、カレント画素のラベル値がregionである場合、そのカレント画素は輪郭を構成するので、countをインクリメントするとともに、flag=1、first_flag=1に設定して(ステップS47)、ステップS48の処理に進む。以上の処理を、xがxmaxに達するまで、xを1ずつインクリメントしながら繰り返す。
【0102】
そして、xがxmaxに達すると、flag>0かどうかを判断し(ステップS50)、flag>0でない場合、y<ymaxかどうかを判断する(ステップS55)。ここで、y<ymaxである場合、yをインクリメントして(ステップS56)、ステップS33の処理に戻る。
【0103】
一方、ステップS50において、flag>0である場合、yがyminまたはymaxかどうかを判断し(ステップS51)、yがyminまたはymaxである場合、ステップS55の処理に進む。
【0104】
一方、ステップS51において、yがyminでもymaxでもない場合、カレント画素の左の画素の上および下の画素のラベル値がregionであり(ステップS52)、かつ、first_flagが0である場合にのみ(ステップS53)、countをインクリメントし(ステップS54)、それ以外の場合はステップS55の処理に進む。
【0105】
以上の処理をyがymaxに達するまで、yを1ずつインクリメントしながら繰り返し、yがymaxに達すると、countをラベル値がregionのラベル画像の輪郭長として出力して(ステップS57)、処理を終了する。
【0106】
図17は、輪郭長獲得方法を説明するためのパターンの具体例を示している。図17において、同一のラベル値を有するラベル画像71(斜線部分)が抽出され、そのラベル画像71の外接矩形72が生成されているものとする。この矩形72の座標が(xmin,ymin)および(xmax,ymax)で表されているとき、この矩形の範囲内を(xmin,ymin)の座標に位置する画素から1ラインずつx方向にスキャンする。
【0107】
このとき、図16のステップS46からステップS47に進む過程で、Aの画素がカウントされ、図15のステップS37からステップS39に進む過程で、Bの画素がカウントされ、ステップS38からステップS39に進む過程で、Cの画素がカウントされ、ステップS42からステップS43に進む過程で、Dの画素がカウントされ、図16のステップS53からステップS54に進む過程で、Eの画素がカウントされる。この結果、矩形72の範囲内を1回スキャンするだけで、ラベル画像71の輪郭が求められる。
【0108】
次に、文字線太さによる再グループ化処理を行う(ステップS11)。ここでは、グループ内の矩形を対象にして、図8のステップS7〜S9の処理を繰り返し、矩形の平均文字線太さを用いてグループ化を行い、新たなグループ情報を構築する。このとき、ステップS9のグループ化の際に、色情報だけでなく、推定文字線太さ(=20×矩形内のパターン面積/パターンの輪郭長)も使用する。
【0109】
具体的には、2つの矩形のうち、第1の矩形の推定文字線太さthick1および第2の矩形の推定文字線太さthick2から、文字線太さの比thick_rateを、次式により求める。
thick_rate=max(thick1,thick2)
/min(thick1,thick2)
そして、thick_rateが以下の条件を満足したときに、2つの矩形を同じグループとして記録する。
thick_rate<TH_THICK_RATE
かつ
(dist<TH_RGBまたは(|Rc−Ri|<delta_rかつ
|Gc−Gi|<delta_gかつ|Bc−Bi|<delta_b))
かつ
dist2<TH_dist
ただし、TH_THICK_RATEは、例えば、2.5とする。この処理を元のグループ内のすべての矩形について行い、グループ内の新たなグルーピングを行う。
【0110】
このような処理により、文字パターンの近くにその文字パターンの色と同一の背景パターンがあり、これらの背景パターンと文字パターンが同じグループに属している場合に、それらのパターンを別々のグループに分けることができる。また、文字パターンだけからなるグループにおいて、フォントやサイズが異なるものを別々のグループに分けることもできる。
【0111】
また、画像全体から求めたしきい値TH_distを用いて文字線の太さに基づく再グループ化を行うことで、ステップS9のグループ化と同様に、高精度な同色判定が可能となる。
【0112】
図18は、文字線の太さによる再グルーピング処理の例を示している。図18において、「グループ1」という文字列と「グループ2」という文字列が同一色で記述され、互いに近接して配置されているため、「グループ1」という文字列と「グループ2」という文字列が同一のグループ81にグルーピングされているものとする。
【0113】
ここで、「グループ1」という文字列に含まれる文字の太さと「グループ2」という文字列に含まれる文字の太さを算出し、異なる太さの文字を別々のグループに分割する。この結果、「グループ1」という文字列はグループ82にグルーピングされ、「グループ2」という文字列はグループ83にグルーピングされる。
【0114】
次に、グループ内で平均的な矩形サイズを求め、そのサイズを基準として、極端に大きなサイズの矩形を背景等のノイズとして削除する(図9のステップS14)。
【0115】
図19は、グループ内の大きな矩形削除処理を説明する図である。図19において、矩形102〜111がグループ101にグルーピングされているものとすると、グループ101内の各矩形102〜111の大きさを求める。ここで、矩形102の大きさが他の矩形103〜111の大きさに比べて、かけ離れているものとすると、グループ101から矩形102を削除し、矩形103〜111よりなるグループ112を生成する。
【0116】
具体的には、以下のa)〜d)の処理を行う。
a)グループ内の矩形の高さのヒストグラムを作成して、最大頻度値を示す矩形高さfreq_heightを以下の方法で求める。
i)ヒストグラムにぼかし用のウィンドウを用いてコンボリューション演算(移動和)を行い、ヒストグラムをぼかす。具体的なぼかし用ウィンドウは、例えば、「11111」の5画素からなる。
ii)最小高さ値(具体的には、39.4ドット/cm画像において23ドット)をあらかじめ決めておき、その最小高さ値以上で最大頻度を示す矩形高さfreq_heightを求める。
b)最大頻度値を示す矩形高さfreq_heightが最小高さ値より小さいときは、freq_heightを最小高さ値とする。
c)大きな矩形と判定するしきい値th_largeを、例えば、th_large=freq_height*10とする。
d)グループ内の矩形のうち、縦横サイズともth_largeより小さいものだけを残して、後はノイズとしてそのグループから削除する。
【0117】
次に、グループ内の矩形のうち、一部でも重なりがある矩形同士を統合して、それらを囲む外接矩形を生成し、グループ情報に新たに登録する(ステップS15)。
【0118】
図20は、グループ内の重なり矩形統合処理を説明する図である。図20において、矩形131は矩形132と重なっており、矩形132は矩形133と部分的に重なっている。この場合、矩形131〜133を統合し、外接矩形134を生成する。
【0119】
次に、先願Dの文字列抽出技術を応用して、グループ内で文字列方向を推定し、その方向から文字列を抽出する(ステップS16)。抽出された文字列の方向および座標等の情報は、グループ毎に保存される。この処理をタイトルの抽出に用いる場合は、1つのタイトルを構成する個々の文字が横方向または縦方向に一列に並んでいることが前提となる。
【0120】
図21は、グループ内文字列抽出処理を説明する図である。まず、グループ141において、最も左にある矩形135から右方向に向かって、隣接する矩形があるかどうかを探していく。そして、隣接する矩形が見つかると、見つかった矩形の矩形番号を矩形135の矩形番号に変更する。この処理を繰り返すことで、矩形135の右側の矩形の矩形番号が、矩形135の矩形番号に統一される。
【0121】
矩形135から右方向に矩形がなくなると、次に、矩形136から右方向に向かって、同様の処理を行う。これにより、矩形136の右側の矩形の矩形番号が、矩形136の矩形番号に統一される。そして、矩形番号の変更処理が終了すると、同一の矩形番号が付された矩形を囲む外接矩形142、143を生成し、それらを文字列矩形とする。
【0122】
具体的には、以下のa)〜e)の処理を行う。
a)グループ内の矩形の座標から文字列方向を推定する。
b)矩形の上下左右の最も近くにある矩形の内向き/外向きの両方向の隣接関係を求める。
c)横方向の文字列の場合、左からの隣接関係のない矩形を開始矩形として、右に矩形がなくなるまで、開始矩形の矩形番号を右にある矩形に伝搬していく。縦方向も同様である。
d)左からの隣接関係がなく、左への隣接関係がある矩形については、左の矩形の矩形番号を獲得してそれを右へ伝搬し、この処理を隣接関係がなくなるまで繰り返す。
e)ここまでの処理をグループ内のすべての矩形について行った後に、同じ矩形番号が付いている矩形を求め、それらの矩形の外接矩形を文字列矩形として抽出する。
【0123】
次に、先願Dの横書き文書の上下分離文字統合処理(縦書き文書では、左右分離文字統合処理)を文字列矩形に適用して、分離している矩形を統合し、1つの外接矩形に置き換える(ステップS17)。
【0124】
図22は、文字列内分離文字統合処理を説明する図である。図22において、グループ141内に文字列矩形142、143が生成されている。また、矩形142内において、矩形144および145が縦方向に互いに隣接し、矩形146および147が縦方向に互いに隣接し、矩形143内において、矩形148および149が縦方向に互いに隣接し、矩形150および151が縦方向に互いに隣接している。
【0125】
この場合、矩形144および145を囲む外接矩形152を生成して、これらの矩形を統合し、矩形146および147を囲む外接矩形153を生成して、これらの矩形を統合する。同様に、矩形148および149を囲む外接矩形154と、矩形150および151を囲む外接矩形155を生成する。
【0126】
具体的には、以下のa)〜c)の処理を行う。なお、以下の例では、横書き文字列の場合について説明するが、縦書き文字列の場合についても同様である。
a)文字列矩形内の矩形をx座標で昇順にソートする。
b)最初の矩形をカレント矩形として、それ以降の次の矩形がカレント矩形のx座標の範囲に重なる場合は統合し、カレント矩形のx座標の範囲も統合結果の矩形のものに変更する。この処理を、統合する矩形がなくなるまで繰り返す。統合する矩形がなくなったら、統合結果を分離文字統合後の矩形として保存する。
c)次の矩形を新たなカレント矩形として、b)およびc)の処理を繰り返す。
【0127】
次に、グループ内の文字列矩形を、文字列のサイズと位置関係によって再グループ化し、その結果を新たなグループ情報に格納する(ステップS18)。これにより、同色グループ内で、文字サイズが異なる文字列を別グループに分けることができ、同時に、ノイズと文字列を別グループに分けることもできる。
【0128】
図23は、グループ内の文字列サイズによる再グループ化処理を説明する図である。図23において、グループ141内に文字列矩形142、143が生成されている。このとき、矩形142、143の高さH1、H2をそれぞれ算出し、高さH1とH2の差がしきい値以上の場合は、矩形142と矩形143とを別々のグループに分ける。
【0129】
具体的には、以下の条件を満たすときに、これらの2つの文字列矩形は同じグループに属するものとして、同じグループ番号を与える。それ以外の場合は、2つの文字列矩形は異なるグループに属するものとして、異なるグループ番号を与える。
2つの文字列矩形の高さの差がしきい値より小さい
かつ
(2つの文字列矩形が重複する、または、2つの文字列矩形間の距離がしきい値より小さい)
この処理をすべてのグループについて行う。次に、各グループ内で同じグループ番号の文字列を1つのグループとする新たなグループを作成する。この処理により、図8のステップS11で同じグループに分類された文字サイズの異なる文字列が、別々のグループに分けられる。
【0130】
次に、グループ内の大きな矩形削除処理を行う(ステップS19)。ここでは、ノイズ除去のため、再びグループ内で平均的な矩形サイズを求め、その矩形サイズを基準として、極端に大きなサイズの矩形を削除する。言い換えれば、これまでの処理で変化したグループに対して、図9のステップS14の処理を再度行い、グループ内のノイズを削除する。
【0131】
次に、グループ統合処理を行い、左右方向または上下方向に互いに近接する同色グループを統合する(ステップS20)。ここでは、2つのグループがほぼ同じ色でかつ近くにあり、グループの外接矩形が並んでいる場合に、それらの2つの矩形を統合して、1つのグループとする。この処理は、後で行う文字矩形の並びによるグループの文字列らしさの判定処理を安定させるために行われる。
【0132】
具体的には、2つのグループの外接矩形の色と上端座標および下端座標が近く、かつ、これらが近い距離にあり、2つの矩形をまとめて1つの文字列と見れそうな場合に、2つのグループを1つのグループにまとめる。
【0133】
まず、2つのグループの平均色をそれぞれ(Rg1,Gg1,Bg1)と(Rg2,Gg2,Bg2)として、2つのグループのそれぞれのRGB輝度値の平均値(Rg1+Rg2,Gg1+Gg2,Bg1+Bg2)を求める。次に、その平均値と解像度をキーとして色差テーブルを検索し、得られたRGBそれぞれの輝度差(delta_r,delta_g,delta_b)を、同色とみなす場合の輝度差のしきい値とする。そして、以下の条件を満たすとき、2つのグループの平均色を同色とみなす。
|Rg1−Rg2|<delta_r
かつ
|Gg1−Gg2|<delta_g
かつ
|Bg1−Bg2|<delta_b
2つのグループの外接矩形が横並びの場合、さらに、横方向の距離が固定しきい値より小さく、かつ、上端座標および下端座標の差がともに固定しきい値より小さい場合に、2つのグループを統合する。縦並びの場合は、縦方向の距離が固定しきい値より小さく、かつ、左端座標および右端座標の差がともに固定しきい値よりも小さい場合に、2つのグループを統合する。この処理を、統合するグループがなくなるまで繰り返す。
【0134】
図24は、グループ統合処理を説明する図である。図24において、1つのグループの外接矩形161ともう1つのグループの外接矩形162が互いに横に並んでいる。このとき、矩形161と矩形162の距離L1と、矩形161と矩形162の上端座標の差E1および下端座標の差E2を求める。そして、2つのグループの平均色の輝度差、距離L1、座標差E1、および座標差E2がそれぞれのしきい値より小さいとき、矩形161と矩形162を統合し、それらの矩形を囲む外接矩形163を生成する。
【0135】
また、2つのグループの外接矩形の座標が似ていない場合でも、各グループ内の端に位置する矩形の座標が近ければ、2つのグループを統合する。横並びの場合、2つのグループ内の最も近い2つの矩形が以下の条件を満たすとき、2つのグループを統合する。縦並びの場合も同様である。
・高さが固定しきい値より小さい。
・上端座標の差の絶対値が固定しきい値より小さい。
・下端座標の差の絶対値が固定しきい値より小さい。
【0136】
図25は、このようなグループ統合処理を説明する図である。図25において、矩形164のグループの最右端の矩形166と矩形165のグループの最左端の矩形167に注目する。そして、2つのグループの色が上記の色の条件を満たし、さらに矩形166と矩形167が上記のサイズおよび位置の条件を満たすとき、矩形164と矩形165を統合し、それらの矩形を囲む外接矩形168を生成する。
【0137】
このように、グループの外接矩形の並び方だけでなく、その内部に含まれる矩形の並び方も考慮してグループを統合することにより、より正確な文字列を抽出することが可能になる。
【0138】
次に、矩形並びによる文字らしいグループの抽出処理を行う(ステップS21)。この処理では、グループ内の矩形のうち、サイズまたは形等の一定の条件を満足する矩形を対象にして、上端座標または下端座標のどちらかが隣りの矩形と近い場合、これらの2つの矩形が並んでいるものと判定し、並びフラグをセットする。そして、グループ内の全対象矩形のうち並んでいる矩形の数がどの程度の割合であるかを示す並び矩形率を求め、その並び矩形率が一定のしきい値以上のグループを文字列として抽出する。具体的には、以下のa)〜e)の処理を行う。
a)グループ内でサイズまたは形の一定条件を満足する2つの隣接する矩形の上端座標または下端座標の差がしきい値より小さい場合、それらの2つの矩形に横並びフラグを与える。しきい値は、矩形の高さのWID_RATE(例えば、0.2)倍とする。また、2つの矩形が隣接するとは、基準矩形の幅のWID_RATE_DIST(例えば、0.5)倍の範囲内に他方の矩形があることをいう。
【0139】
また、サイズまたは形の一定条件を満足する矩形は、例えば、次のようにして求める。まず、グループ内の矩形の高さの最頻値を求め、その高さの3倍をlarge_rectとする。そして、高さが固定サイズ(39.4ドット/cm画像において23ドット)より大きく、large_rectより小さい矩形を、対象矩形として選択する。
b)グループ内でサイズまたは形の一定条件を満足する2つの隣接する矩形の左端座標または右端座標の差がしきい値より小さい場合、それらの2つの矩形に縦並びフラグを与える。しきい値は、矩形の幅のWID_RATE倍とする。
c)グループ内の矩形に与えられた横並びフラグと縦並びフラグの数をかぞえ、数の多い方の方向を文字列方向として採用して、その方向のフラグの数を並んでいる矩形の数とする。
d)グループ内の矩形のうち並んでいる矩形の比率を、次式により算出する。
比率=並んでいる矩形の数/グループ内の一定条件を満足する矩形の総数
e)並んでいる矩形の比率が一定しきい値NUM_RATE(例えば、0.8)より大きい場合に、そのグループを文字列らしいグループとして残し、他のグループをノイズとして破棄する。
【0140】
図26は、矩形並びによる文字列らしいグループの抽出処理を説明する図である。図26において、矩形171〜174および矩形176〜187が入力画像から生成され、グルーピングにより、矩形171〜174が1つのグループに分類されて、これらの矩形を囲む矩形175が生成されている。また、矩形176〜187が1つのグループに分類され、これらの矩形を囲む矩形188が生成されている。
【0141】
ここで、各グループ内の矩形のサイズや位置関係を調べ、横方向に並んでいる矩形に対して横並びフラグを与え、縦方向に並んでいる矩形に対して縦並びフラグを与える。このとき、矩形175内の矩形171〜174はランダムに並んでいるので、これらの矩形には横並びフラグも縦並びフラグも付かない。一方、矩形188内の矩形176〜187は横一列に並んでいるので、これらの矩形には横並びフラグが与えられる。
【0142】
矩形171〜174および矩形176〜187についてのフラグ処理が終了すると、フラグが付された矩形の割合をグループ毎に算出する。そして、その割合が大きいグループを文字列として抽出し、割合が小さいグループをノイズとして破棄する。この結果、矩形175のグループはノイズとして捨てられ、矩形188のグループは文字列として抽出される。
【0143】
次に、ノイズグループの削除処理を行う(ステップS22)。ここでは、以下のA)〜C)の3種類の削除処理を行う。
A)この処理では、グループ内が2つの矩形だけから構成されているグループについて、それらの2つの矩形の上下端(または左右端)がともに近いかどうかを判断し、2つの矩形が並んでいると判断されなければ、そのグループをノイズとして削除する。
【0144】
図27は、このようなノイズグループの削除処理を説明する図である。図27において、2つの矩形191、192が1つのグループとして抽出され、これらの矩形を囲む矩形193が生成されている。この場合、矩形191と矩形192の下端座標は揃っているが、矩形191と矩形192の上端座標は極端に異なっているので、これらの矩形はノイズであるとみなし、このグループを文字列らしいグループの集合から削除する。
【0145】
具体的には、グループ内の2つの矩形の高さの平均をheiとし、それらの幅の平均をwidとする。また、しきい値を決めるための比率をDEL_RATE=0.1として、以下の条件を満足するグループだけを残し、他はノイズとして削除する。
(|第1の矩形の上端座標−第2の矩形の上端座標|
<hei×DEL_RATE
かつ
|第1の矩形の下端座標−第2の矩形の下端座標|
<hei×DEL_RATE)
または
(|第1の矩形の左端座標−第2の矩形の左端座標|
<wid×DEL_RATE
かつ
|第1の矩形の右端座標−第2の矩形の右端座標|
<wid×DEL_RATE)
この処理では、文字列のグループが確実に残される反面、背景から抽出されたノイズグループも多数残ってしまう。また、グループ同士が重なっている状態は、必ずしも改善されない。このため、次のステップで行われるグループの出力順位決定処理が、ノイズグループの影響を受けてしまい、効果的に行われない場合がある。そこで、グループ同士の重なりを極力なくして、文字列グループだけを残すために、以下のB)およびC)の処理を行う。
B)グループ単位の図形除去によるノイズ削除処理
ここでは、グループ内に含まれる矩形を文字認識処理し、その結果文字と判断された矩形が別のグループの矩形領域にもかかっている場合に、その別のグループをノイズとして削除する。これにより、文字列グループと重複しているノイズグループが削除される。
【0146】
図28は、このようなノイズグループの削除処理を説明する図である。図28に示すように、文字列グループの矩形201とノイズグループの矩形202が重複しているとき、両者のグループが重複している領域にかかっている、文字列グループ内の矩形203を文字認識処理する。そして、得られた距離値がしきい値(例えば、1000)よりも小さい場合に、この矩形203を文字であると判定し、矩形203を含まない方のグループをノイズとして削除する。
C)黒画素ヒストグラムに基づくノイズ削除処理
ここでは、グループ内の黒画素を縦方向および横方向にそれぞれ投影して、黒画素のヒストグラムを生成し、それぞれのヒストグラムの各要素(黒画素数)の2乗和を求める。縦方向投影、横方向投影のヒストグラムの2乗和をそれぞれxsum、ysumとし、グループ内の重なり矩形統合後の矩形数をoverlap_numとすると、以下のような条件が満たされるときに、グループ内に縦または横方向の文字列が存在すると判断して、このグループを残す。
|xsum−ysum|/overlap_num>THSUM
ただし、THSUMは、固定しきい値であり、ここでは280とする。また、この条件が満たされない場合は、このグループをノイズと判断して削除する。縦方向と横方向とでヒストグラムの各要素の総和があまり変わらない場合でも、各要素の2乗和には顕著な差が現れることが多い。したがって、この処理により、文字列グループを正確に抽出することが可能になる。
【0147】
図29は、このようなノイズグループの削除処理を説明する図である。図29において、矩形201のグループ内の黒画素を縦方向および横方向に投影すると、ヒストグラム204および205が得られる。このとき、各ヒストグラムにおいて、各座標値に対応する黒画素数を2乗し、すべての座標値に渡る2乗の値の総和を求める。そして、上述した条件判定を行い、このグループを削除するか否かを決定する。
【0148】
次に、グループ内同色パターン抽出処理を行う(ステップS23)。ここでは、まず、グループの代表色を、グループ内の矩形の代表色の平均として求める。次に、グループの矩形の内部に相当する範囲で原画像を探索して、グループの代表色に近いパターンであって、既に文字パターンとして抽出されているもの以外のものを、2値画像として抽出する。
【0149】
そして、抽出されたパターンに対して2値画像用のラベリングを行い、連結成分の外接矩形を求め、その矩形の大きさが所定値より大きいパターンだけを、文字パターンの一部として、そのグループに追加する。この処理により、これまでの処理では抜け落ちるが、実は文字の一部であるようなパターンを抽出することができる。
【0150】
図30は、グループ内同色パターン抽出処理を説明する図である。図30において、ステップS22までの処理により、「クローハル化への3つの成功モデル」という文字列が入力画像から抽出され、この文字列を囲む矩形211が生成されている。この場合、「ク」および「ハ」という文字の濁点が欠落している。ここで、「ク」の濁点が欠落したのは、濁点の色と「ク」の色の差がしきい値範囲内になかったために、濁点が「ク」とは異なるグループにグルーピングされたためである。「ハ」の濁点についても同様である。
【0151】
このように、図8のステップS9の同色グループ抽出処理では、抽出対象となる文字列のうち、局所的な部分の色同士が比較されるので、抽出対象となる文字列の色が色ずれ等で局所的に変化している場合には、文字の一部が欠落したりする。
【0152】
そこで、既に抽出されている「クローハル化への3つの成功モデル」という文字列全体を考慮して、その代表色を求め、この代表色に近い色を有するパターンを原画像から再抽出する。これにより、文字列の局所的な色の変化の影響を軽減することができ、図30に示すように、「ク」の濁点212と「ハ」の濁点213を抽出することが可能になる。また、同色パターンの再抽出を行う際には、再抽出の対象となるパターンの探索範囲を、矩形211の範囲に限定する。これにより、抽出処理が高速化される。具体的には、以下の処理を行う。
a)保存されている矩形の代表色情報をグループ内のすべての矩形について平均し、グループの代表色(Rm,Gm,Bm)を求める。また、グループ内のRGBの分散(Vr,Vg,Vb)を求め、その分散からグループの標準偏差を次式により求める。
dev=sqrt(sqrt(Vr*Vr+Vg*Vg+Vb*Vb))
b)グループ内の矩形サイズの最頻値を幅と高さについて求め、それぞれmfw、mfhとする。mfwまたはmfhが最小矩形サイズのしきい値minsize(例えば、2)より大きな場合には、その値をminsizeで置き換える。
c)グループの外接矩形を求め、その大きさの2値画像を作成する。2値画像の画素値は、すべて0としておく。
d)グループの範囲内で原画像の画素の色(R,G,B)を調べ、その色とグループの代表色(Rm,Gm,Bm)が以下の関係を満足する場合に、その画素の位置を記録し、対応する2値画像の画素値を1に設定する。ただし、kは定数(例えば、5)である。
|Rm−R|+|Gm−G|+|Bm−B|<k×dev
e)グループ内の矩形を構成し、このグループ内の矩形から既に抽出されているパターンを2値画像から除去し、2値画像のパターンを、グループの代表色に近い色を持ち、かつ、これまでの処理で漏れていたパターンだけにする。
f)この2値画像に対して、2値画像用のラベリングを行い、連結成分の外接矩形を求める。
g)外接矩形の幅wおよび高さhが以下の条件を満足する矩形だけを残し、他の矩形を削除する。
w>mfw/2 かつ h>mfh/2
h)残った矩形に含まれる連結成分のパターンをグループに追加する。
【0153】
次に、グループの出力順位決定処理を行う(ステップS24)。ここでは、先願Dのタイトル抽出技術を応用して、グループの外接矩形の位置、位置関係、サイズ、面積等の指標を用いて、グループ毎にタイトルらしさの得点を加算し、総合的にみて最も得点の高い順にグループを並び替える。具体的な得点の加算方法は以下の通りである。
【0154】
まず、各グループの内部の文字列矩形の高さの平均値をmean_gyou_sizeとして求め、各グループの内部の重なり矩形統合後の文字矩形の高さの最頻値をmost_freq_heightとして求める。most_freq_heightが0の場合には、most_freq_height=mean_gyou_sizeとする。
【0155】
次に、画像中にあるすべてのグループのmost_freq_heightの平均値をfreqheightとして求め、half_freq=freqheight/2とする。そして、以下の条件に従って得点を加算する。
・グループ内文字矩形の高さの最頻値:
グループのmost_freq_heightがfreqheight*(1.0±0.5)の範囲内に入っているとき、+20点を加算する。また、most_freq_heightがfreqheight*1.5より大きく、freqheight*3以下であるとき、+30点を加算する。また、most_freq_heightがfreqheight*3より大きいとき、+40点を加算する。
・上下にグループがない:
グループの上下とも距離half_freq以内の領域に他のグループがあるとき、−40点を加算する(+40点を減算する)。また、上または下いずれか一方のみの距離half_freq以内の領域に他のグループがあるとき、−20点を加算する。また、上下とも距離half_freq以内の領域に他のグループがないとき、+20点を加算する。
・左にグループがない:
グループの左側の距離freqheight以内の領域にグループがないとき、+20点を加算する。
・画像の上方に位置する:
縦方向のグループの位置でソートして、最も上方にあるグループに+20点を加算し、以下、順位が下がるに従って1点ずつ差し引いた得点を加算する。ただし、マイナスの得点は加算しないものとする。
・画像の1/3より上方に位置する。
【0156】
上述したグループ内文字矩形の高さの最頻値に基づいてプラスの得点を獲得しており、かつ、グループの下端が画像の1/3より上方に位置するとき、+10点を加算する。
・中央に位置する:
グループのx座標の中心座標が画像の中心座標±(画像幅*0.1)の範囲にあるとき、+5点を加算する。
・画像の左右端の近くに位置する:
グループの左端が、画像の右端から中心寄りに画像幅*0.1の範囲に入っているか、または、グループの右端が、画像の左端から中心よりに画像幅*0.1の範囲に入っているとき、−30点を加算する。
・グループの面積:
グループの外接矩形の面積でソートして、面積の最も大きなグループに+10点を加算し、以下、順位が下がるに従って1点ずつ差し引いた得点を加算する。ただし、マイナスの得点は加算しないものとする。
・グループの幅の大きさ:
グループの外接矩形の横幅が画像の1/3より大きいとき、+10点を加算する。
・グループの外接矩形の位置関係:
2つのグループの上下左右端の対応する座標値の差を求め、その絶対値が固定しきい値(例えば、10ドット)よりも小さいとき、2つのグループは同じ文字列を表しているものとみなして、面積の小さい方のグループの得点を0にする。影付き文字列から文字列を抽出する場合、真の文字列部分と影の部分の両方からグループがそれぞれ抽出されるため、ほぼ完全に重複するこのような2つのグループが発生しやすい。
【0157】
以上説明したように、様々な条件を考慮してグループ毎に得点を与えることで、タイトルらしい文字列により上位の出力順位を与えることができ、タイトルをより正確に抽出することが可能になる。
【0158】
次に、グループを構成するパターンを文字認識するための2値画像(2値パターン)を生成する(ステップS25)。ここでは、各グループの領域について、背景部分が均一色であるか否かを判別し、背景が均一色である場合には、先願Bまたは先願Cのカラーテキスト抽出技術を適用して2値画像を生成する。また、背景が2色以上の色を含む場合には、グループ内の文字パターンをそのまま2値画像にして出力する。
【0159】
図31から図34までは、背景部分の均一性をチェックする背景色判定処理のフローチャートである。パターン抽出装置は、まず、グループの文字領域から平均色(Rm,Gm,Bm)を求め(図31のステップS61)、平均色と推定解像度resolutionをキーとして色差テーブルを検索し、色差のしきい値(ir3,ig3,ib3)を求める(ステップS62)。
【0160】
次に、グループの外接矩形のサイズの2値画像領域を用意し、すべての画素値を0に設定して、白色画像を生成する(ステップS63)。次に、グループ内の1つの文字矩形のラベル番号と矩形領域を抽出し(ステップS64)、ラベル画像の対応する矩形領域内を走査して、そのラベル番号と一致するラベル値を持つ画素を抽出する。そして、2値画像領域上の対応する座標の画素値を1に変更して、マスク画像を生成する(ステップS65)。こうして生成されたマスク画像において、画素値が1の画素はパターンに対応し、画素値が0の画素はパターンが存在しない背景部分に対応する。
【0161】
次に、グループ内に未処理の文字矩形があるか否かを判定し(ステップS66)、そのような矩形があれば、ステップS64以降の処理を繰り返す。そして、すべての文字矩形の処理が終了すると、マスク画像をその周囲(例えば、上下左右斜め方向)に一定画素(例えば、1画素)だけ拡張して、膨張したマスク画像を生成する(ステップS67)。図35は、拡張する前のマスク画像の例を示しており、図36は、拡張されたマスク画像の例を示している。
【0162】
次に、膨張したマスク画像を用いて、グループの外接矩形に対応する入力画像の領域とラベル画像の領域を走査し、マスク画像上で画素値が0の背景画素に対応する色(R,G,B)とラベル番号を抽出する(図32のステップS68)。そして、画素の色(R,G,B)と文字の平均色(Rm,Gm,Bm)の差が許容範囲内か否かを、以下の条件により判定する(ステップS69)。
|Rm−R|<ir3
かつ
|Gm−G|<ig3
かつ
|Bm−B|<ib3
この条件が満たされれば、この画素は文字の一部を構成しているものとみなして、図33のステップS80以降の処理を行う。この条件が満たされなければ、次に、図37に示すような背景色情報が管理領域に登録されているか否かを判定する(ステップS70)。そして、背景色情報が登録されていなければ、(R,G,B)の背景色情報を新たに生成し、管理領域に登録して(ステップS71)、図33のステップS80以降の処理を行う。
【0163】
図37の背景色情報においては、処理対象の画素のラベル番号、矩形番号、(R,G,B)の値、およびカウント値が登録されている。このうち、カウント値は、同一とみなされる色を持つ画素の数を表し、最初は1に設定される。
【0164】
ステップS70において、背景色情報が登録されていれば、1つの背景色情報を取り出し、その色(Rr,Gr,Br)とラベル番号を抽出する(ステップS72)。次に、(R,G,B)とresolutionをキーとして色差テーブルを検索し、しきい値(ir,ig,ib)を求める(ステップS73)。次に、(Rr,Gr,Br)とresolutionをキーとして色差テーブルを検索し、しきい値(ir2,ig2,ib2)を求める(ステップS74)。
【0165】
そして、しきい値irとir2の最大値をthrとし、しきい値igとig2の最大値をthgとし、しきい値ibとib2の最大値をthbとする(ステップS75)。
【0166】
次に、画素の色(R,G,B)と背景色情報の色(Rr,Gr,Br)の差が許容範囲内か否かを、以下の条件により判定する(図33のステップS76)。
|Rr−R|<thr
かつ
|Gr−G|<thg
かつ
|Br−B|<thb
この条件が満たされなければ、次に、画素のラベル番号と背景色情報のラベル番号が一致するか否かを判定する(ステップS77)。両者が一致すれば、背景色情報のカウント値に1を加算して(ステップS78)、次の背景色情報があるか否かを判定する(ステップS79)。そして、次の背景色情報があれば、ステップS72以降の処理を繰り返す。
【0167】
ステップS76において条件が満たされれば、ステップS78以降の処理を行い、ステップS77においてラベル番号が一致しなければ、ステップS79以降の処理を行う。
【0168】
このようなカウント処理によれば、既に登録されている背景色に近い色の画素または背景色と同じラベル番号を持つ画素が検出されたとき、対応する背景色のカウント値がインクリメントされる。また、膨張したマスク画像を用いることで、文字と背景の混色が生じている部分を背景色の判定から除外することができ、より正確な判定が行われる。
【0169】
ステップS79において、登録されているすべての背景色情報の処理が終了すると、次に、グループ内の未処理の背景画素があるか否かを判定する(ステップS80)。そして、未処理の背景画素があれば、図32のステップS68以降の処理を繰り返す。
【0170】
グループ内のすべての背景画素の処理が終了すると、次に、登録されている背景色情報の中でカウント値が最大のものを選択し(ステップS81)、そのカウント値が以下の条件を満足するか否かを判定する(図34のステップS82)。
【0171】
カウント/マスク画像中の背景画素の総数>thresh_rate
ただし、thresh_rateは固定しきい値(例えば、0.91486)である。この条件が満たされれば、このグループの背景は均一色であると判定し(ステップS83)、この条件が満たされなければ、このグループの背景は複数色であると判定して(ステップS84)、処理を終了する。
【0172】
このような処理によれば、登録された背景色の数が1つの場合、または、登録された背景色のうちの1つのカウント値が一定数より大きい場合に、背景が均一色であると判定される。
【0173】
背景が均一色の場合は、パターン抽出装置は、そのグループに対応する領域のカラー画像について先願Bまたは先願Cの処理を行い、得られた2値画像を出力する。このとき、グループに含まれる一様色の文字矩形の数を調べ、文字矩形が1個であれば先願Bの処理を採用し、文字矩形が複数個であれば先願Cの処理を採用する。
【0174】
前者の場合、グループの矩形領域のカラー画像をグレースケール画像に変換し、グレースケール画像に対して、例えば、画素値の補間処理を施して、解像度の高い2値画像を生成する。また、後者の場合、グループの矩形領域のカラー画像をグレースケール画像に変換し、単一背景色かつ単一文字色の部分領域の集合を求める。そして、それぞれの部分領域の2値画像を組み合わせて、全体の2値画像を生成する。これにより、より高精度な2値画像が生成される。
【0175】
また、背景が複数色の場合は、ステップS65で生成された拡張する前のマスク画像を、そのままグループの2値画像として出力する。そして、このような処理をすべてのグループの外接矩形について行い、パターン抽出処理を終了する。このとき、グループの2値画像は、ステップS24で決定された順序で出力される。
【0176】
このような2値画像生成処理によれば、背景が均一色である場合にのみ、先願Bまたは先願Cに基づいて詳細な2値画像が生成され、それ以外の場合は、すでに生成されている2値画像が出力される。したがって、処理の高速性をあまり損なうことなく、小さな文字パターンをある程度まで抽出することができるようになる。
【0177】
ところで、図8のステップS2において、入力画像がフルカラー画像ではないと判定された場合には、次に、画像の色パレットを対象にクラスタリング処理を行う(ステップS12)。クラスタリング方法としては、例えば、クラスタ中心間のシティブロック距離を距離尺度とする階層的クラスタリングを用いることができる。距離尺度は、ユークリッド距離、重み付きユークリッド距離、またはマハラノビス距離等により定義することもできる。
【0178】
そして、クラスタ中心間の距離の最小値があらかじめ定めたしきい値より小さくなったときに、クラスタリングを終了する。このようなクラスタリングの結果として、各クラスタについて以下のような情報が得られる。
・クラスタ番号
・クラスタに含まれる色パレットの個数
・クラスタに含まれる元の画像の色パレット番号
・クラスタの平均色(R,G,B)
画像の色分布をクラスタリングする場合、クラスタリングに使用するベクトルは、画像の色パレット(Ri,Gi,Bi)(例えば、i=1〜255)である。この色パレットのベクトルを使用して階層的クラスタリングを行う場合、色差の尺度としてクラスタ間の距離を求め、クラスタ間の距離が小さいクラスタ同士を統合する。2つの色(R1,G1,B1)と(R2,G2,B2)の間の距離distは、シティブロック距離で定義した場合、次式により表される。
dist=|R1−R2|+|G1−G2|+|B1−B2|
ところで、実際には、コンピュータと人間の色の識別能力は異なっており、例えば、色空間上での距離値が同じ値であっても、黒(または白)に近い2つの色は、赤等の高彩度の2つの色に比べて、人間が見たときに識別しにくい。すなわち、黒に近い2つの色は、色空間上での距離がある程度離れていても、人間の目にはそれらの2つの色が区別されずに同一色に見えてしまう。一方、赤に近い2つの色は、色空間上での距離がある程度近くても、人間の目にはそれらの2つの色が異なる色に見える。
【0179】
そこで、クラスタリングに先立って、低彩度色(黒または白に近い色)の2色間の距離値を高彩度色の2色間の距離値よりも小さくするために、以下のような色変換を行う。
Rnew={1−cos(R×π/255)}×255+R×4
Gnew={1−cos(G×π/255)}×255+G×4
Bnew={1−cos(B×π/255)}×255+B×4
これにより、0から255までのすべての輝度値について、輝度値の差分を同じ評価基準で判断することができる。
【0180】
次に、クラスタリング結果の情報を用いて、カラー画像の色ラベリング処理を行い(ステップS13)、ステップS5以降の処理を行う。これにより、フルカラー以外の画像については、その画像を構成する色パレットのクラスタリング結果がラベリング処理に反映される。
【0181】
色ラベリング処理では、まず、画素値(画素のパレット番号)からクラスタ番号を獲得するための変換表を作成する。次に、クラスタ番号に注目した色ラベリング処理を行う。この色ラベリング処理では、隣り合う画素のクラスタ番号が同じ場合にそれらの画素に同一ラベルを与える。
【0182】
このとき、縮小画像の左上からラスタスキャンを行い、ラベル付けがされていない画素に注目する。そして、この未処理の画素の周囲8画素を走査して、周囲に既にラベル付けされた画素があり、その周囲画素のクラスタ番号が注目画素のクラスタ番号と同じである場合に、周囲画素のラベルをカレントラベルregionとして保存し、注目画素のラベルとしてregionを与える。また、領域の平均色(Rm,Gm,Bm)として、周囲のラベルの平均色に注目画素の色を加味した新たな平均色を求める。
【0183】
それ以外の場合は、カレントラベルとして、今まで付けたラベル値+1のラベル値を設定し、注目画素のラベルにもその値を付与する。この場合でも、領域の平均色(Rm,Gm,Bm)として、注目画素のRGB値を設定する。また、いずれの場合でも、注目画素の座標値を処理対象座標配列に保存する。
【0184】
次に、注目画素の周りに同色領域を拡張する処理を行う。処理対象座標配列の中から、先頭の座標値を取り出し、その座標の画素を注目画素とする。そして、注目画素の周囲8画素を走査し、周囲画素が未処理の画素であり、注目画素のクラスタ番号とその周囲画素のクラスタ番号が同一である場合、周囲画素に注目画素と同一のラベルを付け、周囲画素の座標を処理対象座標配列に追加する。また、処理された注目画素を、処理対象座標配列から削除する。
【0185】
次に、処理座標xおよびyの最大値と最小値を求め、それらの値をこのラベル領域の外接矩形として保存する。また、このラベル領域の平均色を外接矩形の属性(代表色)として保存する。
【0186】
以上の処理を、処理対象座標配列の内容がなくなるまで続ける。このような色ラベリングの結果、ラベル画像と同じラベルを持つ領域を囲む外接矩形が獲得される。ラベリング処理の出力情報は、ステップS4と同様である。
【0187】
次に、図38から図47までを参照しながら、処理結果の具体例について説明する。図38は、図8のステップS1で入力されるカラー画像(原画像)の例を示している。このカラー画像に対してステップS4の色ラベリング処理を施すと、図39に示すようなラベル画像が生成され、ステップS9の処理により、図40に示すような複数の同色グループが抽出される。さらに、ステップS11の文字線太さによる再グループ化処理により、同色グループは図41のように変化する。
【0188】
次に、図9のステップS21の処理により、文字列らしいグループとして、図42に示すようないくつかのグループが抽出される。これらのグループから、ステップS22の処理によりノイズグループを削除すると、図43に示すようなグループが残される。これらのグループから、ステップS23の処理により、図44に示すような同色パターンが抽出される。
【0189】
そして、ステップS24およびS25の処理によりタイトル候補として出力されるパターンのうち、第1、第2、第3候補のパターンが、それぞれ、図45、46、47に示されている。
【0190】
本実施形態の技術の有効性を確かめるために、雑誌のカラー文書95枚を入力画像として用いて評価実験を行ったところ、以下のような結果が得られた。
Figure 0004275866
2)スキャナ読み取り条件
フルカラー、39.4ドット/cm
3)評価項目
a)キーワード文字列抽出正解率
あらかじめ、目視により、タイトルやキーワードとして妥当と思える文字列を、正しい文字列として指定しておく。そして、処理結果として出力された文字列パターンのうち、パターンの欠けがほとんどないもの/ノイズがほとんど乗っていないものを、抽出に成功したパターンとみなし、抽出正解率(抽出に成功した文字列の数/正しい文字列の数)を求めた。
【0191】
b)タイトル抽出正解率
あらかじめ、各ページ毎にタイトルと思われる文字列を定めておく。そして、抽出された文字列とその出力順位から、タイトル文字列が出力される順位を記録し、順位毎のタイトル抽出正解率を求めた。さらに、その正解率を累積して、累積タイトル抽出正解率(第i位までに正しいタイトル文字列を抽出できる確率)を求めた。
【0192】
c)キーワード文字認識率
抽出された文字列を、最近の文字認識エンジンで文字認識し、文字認識率と誤認識原因の分析を行った。
【0193】
d)処理時間
95枚のサンプルについて平均処理時間を求めた。
4)評価結果と考察
a)キーワード文字列抽出正解率
対象となる255個の文字列に対して、平均正解率は、238/255=93.3%であった。これに対して、本発明を適用していない処理で同じ評価を行うと、211/255=82.7%であった。
【0194】
いくつかの文字列が抽出できない主な原因は、以下の通りと思われる。
・細い文字線や小さなパターンで文字列が構成されていて、カラーテキスト抽出処理を行うための前提となる同色グループの抽出ができていない。
・グループの背景部分が単一色であるにもかかわらず、裏面文字の写り込み等で単一色と判定できない。
【0195】
b)タイトル抽出正解率
各文書について1つのタイトルを指定したので、全部で95個のタイトルが指定された。各順位以内の累積正解率は、以下の通りである。
【0196】
第1位 :64/95=67.4%
第2位以内:82/95=86.3%
第3位以内:86/95=90.5%
第4位以内:89/95=93.7%
第5位以内:90/95=94.7%
この結果を見ると、以前の社内文書を対象としたタイトル抽出実験に比べて、第1位で23ポイント程度悪くなっている。この原因は、ノイズ除去が完全にできていないためノイズの悪影響が残ったことと、社内文書では1行を単位にタイトルらしさの得点付けを行ったが、今回は複数行を1まとまりとするグループを単位に得点付けを行っているので、タイトルらしさの顕著な特徴が出にくかったことにあると思われる。例えば、文字列間の重なりはほとんどなくてもグループ間の重なりはあり得るので、重なりがあるか否かをタイトルらしさの指標として用いることができない。
【0197】
その他の原因としては、タイトルらしいグループを表す特徴量の解析が不十分であることが挙げられる。このことは、社内文書の場合にも問題となったが、GA(genetic algorithm )等の方法を用いれば、最適な得点配分を求めることが可能である。
【0198】
c)キーワード文字認識率
最新の文字認識エンジンに、誤認識の主要な原因の1つである大文字と小文字を判別する処理を組み入れて、文字認識を行った結果、平均正解率は、2443文字/2782文字=87.8%であった。
【0199】
d)処理時間
500MHzのCPU(中央処理装置)と128Mバイトのメモリを備えたコンピュータを用いた場合、以下のような結果が得られた。
【0200】
フルカラー画像の平均処理時間:5.52秒/枚
最大処理時間:16.13秒/枚
最小処理時間:2.7秒/枚
このように、本実施形態のパターン抽出処理によれば、キーワード文字列抽出正解率、タイトル抽出正解率、キーワード文字認識率、および処理時間が全般的に良好な値を示しており、高速かつ高精度な処理が実現されることが分かる。
【0201】
図48は、以上説明したハイブリッドパターン抽出処理の概要を示すフローチャートである。このフローチャートによれば、パターン抽出装置は、まず、図8のステップS1から図9のステップS24までの処理に相当するパターン抽出処理を行って、カラー画像から同色グループが覆う領域(例えば、矩形領域)を文字列領域として抽出し、各文字列領域内のパターンを抽出する(ステップS91)。
【0202】
次に、抽出された文字列領域の背景部分が均一色か否かを判定する(ステップS92)。背景部分が均一色であれば、先願Bまたは先願Cの処理を行ってより詳細にパターンを抽出し(ステップS93)、次の文字列領域があるか否かを判定する(ステップS94)。次の文字列領域があれば、ステップS92以降の処理を繰り返す。
【0203】
ステップS92において背景部分が均一色でなければ、ステップS93の処理をスキップして、ステップS94以降の処理を行う。そして、すべての文字列領域の処理が終了すると、抽出されたパターンの2値画像を出力して(ステップS95)、処理を終了する。このとき、背景部分が均一色の文字列領域については、ステップS93で抽出されたパターンの2値画像が出力され、それ以外の文字列領域については、ステップS91で抽出されたパターンの2値画像が出力される。
【0204】
同色グループに基づくパターン抽出処理と先願Bまたは先願Cに基づく詳細パターン抽出処理を所定のアルゴリズムに基づいて組み合わせたハイブリッドパターン抽出処理としては、他にも様々な形態が考えられる。図49、50、51は、このようなハイブリッドパターン抽出処理のフローチャートである。
【0205】
図49の処理では、パターン抽出装置は、まず、先願Bまたは先願Cの処理による詳細パターン抽出を行い(ステップS101)、領域識別を行って文字列領域内の文字領域を抽出する(ステップS102)。
【0206】
次に、文字列領域内の背景部分の色を調べ、背景部分が均一色か否かを判定する(ステップS103)。背景部分が均一色でなければ、図48のステップS91と同様にして文字列領域内のパターンを抽出し(ステップS104)、次の文字列領域があるか否かを判定する(ステップS105)。次の文字列領域があれば、ステップS103以降の処理を繰り返す。
【0207】
ステップS103において背景部分が均一色であれば、ステップS104の処理をスキップして、ステップS105以降の処理を行う。そして、すべての文字列領域の処理が終了すると、抽出されたパターンの2値画像を出力して(ステップS106)、処理を終了する。このとき、背景部分が均一色の文字列領域については、ステップS101で抽出されたパターンの2値画像が出力され、それ以外の文字列領域については、ステップS104で抽出されたパターンの2値画像が出力される。
【0208】
図50の処理では、パターン抽出装置は、同色グループに基づくパターン抽出処理と、先願Bまたは先願Cに基づく詳細パターン抽出処理とを全く独立に行い、出力された文字列パターンを合成する。
【0209】
この処理では、パターン抽出装置は、まず、図8のステップS1から図9のステップS24までの処理に相当するパターン抽出処理を行って、カラー画像からグループ内同色パターンを抽出する(ステップS111)。
【0210】
また、このパターン抽出処理と並行して、同じカラー画像に対して、先願Bまたは先願Cの処理を行ってより詳細なパターンを抽出し(ステップS112)、領域識別を行って文字列領域内の文字領域を抽出する(ステップS113)。
【0211】
次に、2つの方法で抽出されたパターンを合成して(ステップS114)、合成されたパターンの2値画像を出力し(ステップS115)、処理を終了する。ステップS114の合成処理では、2つのパターンの2値画像を生成し、それらの2値画像を画素毎に比較する。そして、例えば、OR合成により、対応する2つの画素値の論理和を新たな画素値とする2値画像を生成する。
【0212】
これにより、カラー画像から独立に抽出された2つのパターンが合成され、合成結果が2値画像として出力される。また、OR合成の代わりに、AND合成等の他の論理演算を用いてもよい。
【0213】
図51の処理では、パターン抽出装置は、同色グループに基づくパターン抽出処理と、先願Bまたは先願Cに基づく詳細パターン抽出処理とを全く独立に行い、出力された文字列パターンを合成しないで個別に出力する。
【0214】
この処理では、パターン抽出装置は、まず、図8のステップS1から図9のステップS24までの処理に相当するパターン抽出処理を行って、カラー画像からグループ内同色パターンを抽出する(ステップS121)。そして、抽出されたパターンの2値画像を生成して出力する(ステップS122)。
【0215】
また、このパターン抽出処理と並行して、同じカラー画像に対して、先願Bまたは先願Cの処理を行ってより詳細なパターンを抽出し(ステップS123)、領域識別を行って文字列領域内の文字領域を抽出する(ステップS124)。そして、抽出されたパターンの2値画像を生成して出力する(ステップS125)。
【0216】
こうして、カラー画像から独立に抽出された2つのパターンの2値画像をそのまま独立に出力して、処理を終了する。この場合、ユーザは、出力された2つの2値画像を比較して、いずれか一方を選択することができる。
【0217】
図52から図54までは、図49のステップS103で行われる背景色判定処理のフローチャートである。パターン抽出装置は、まず、文字列領域の2値画像における黒画素に対応する入力画像の画素を抽出し、それらの画素の色を平均して、文字列の平均色(Rm,Gm,Bm)を求める(図52のステップS131)。次に、文字列領域の2値画像からマスク画像を生成し(ステップS132)、マスク画像をその周囲に一定画素だけ拡張して、膨張したマスク画像を生成する(ステップS133)。
【0218】
次に、マスク画像を用いて、グループの外接矩形に対応する入力画像の領域を走査し、マスク画像上で画素値が0の背景画素に対応する色(R,G,B)を抽出する(ステップS134)。そして、画素の色(R,G,B)と文字列の平均色(Rm,Gm,Bm)の差が許容範囲内か否かを、以下の条件により判定する(ステップS135)。
|Rm−R|<thR1
かつ
|Gm−G|<thG1
かつ
|Bm−B|<thB1
ただし、thR1、thG1、およびthB1は、固定しきい値である。この条件が満たされれば、この画素は文字の一部を構成しているものとみなして、図53のステップS142以降の処理を行う。この条件が満たされなければ、次に、図55に示すような背景色情報が管理領域に登録されているか否かを判定する(ステップS136)。そして、背景色情報が登録されていなければ、(R,G,B)の背景色情報を新たに生成し、管理領域に登録して(ステップS137)、図53のステップS142以降の処理を行う。図55のカウント値は、最初は1に設定される。
【0219】
ステップS136において、背景色情報が登録されていれば、1つの背景色情報を取り出し、その色(Rr,Gr,Br)を抽出する(図53のステップS138)。次に、画素の色(R,G,B)と背景色情報の色(Rr,Gr,Br)の差が許容範囲内か否かを、以下の条件により判定する(ステップS139)。
【0220】
|Rr−R|<thR
かつ
|Gr−G|<thG
かつ
|Br−B|<thB
ただし、thR、thG、およびthBは、固定しきい値である。この条件が満たされれば、背景色情報のカウント値に1を加算して(ステップS140)、次の背景色情報があるか否かを判定する(ステップS141)。そして、次の背景色情報があれば、ステップS138以降の処理を繰り返す。ステップS139において条件が満たされなければ、ステップS141以降の処理を行う。このようなカウント処理によれば、既に登録されている背景色に近い色の画素が検出されたとき、対応する背景色のカウント値がインクリメントされる。
【0221】
ステップS141において、登録されているすべての背景色情報の処理が終了すると、次に、文字列領域内の未処理の背景画素があるか否かを判定する(ステップS142)。そして、未処理の背景画素があれば、図52のステップS134以降の処理を繰り返す。
【0222】
文字列領域内のすべての背景画素の処理が終了すると、次に、登録されている背景色情報の中でカウント値が最大のものを選択し(ステップS143)、そのカウント値が以下の条件を満足するか否かを判定する(図54のステップS144)。
カウント/マスク画像中の背景画素の総数>thresh_rate
ただし、thresh_rateは固定しきい値である。この条件が満たされれば、この文字列領域の背景は均一色であると判定し(ステップS145)、この条件が満たされなければ、この文字列領域の背景は複数色であると判定して(ステップS146)、処理を終了する。
【0223】
図48から図51までに示したハイブリッドパターン抽出処理を採用することで、小さな文字パターンであっても、ある程度まで抽出することができるようになり、高精度なパターン抽出処理が実現される。
【0224】
ところで、パターン抽出装置は、例えば、図56に示すような情報処理装置(コンピュータ)を用いて構成することができる。図56の情報処理装置は、CPU(中央処理装置)221、メモリ222、入力装置223、出力装置224、外部記憶装置225、媒体駆動装置226、ネットワーク接続装置227、および画像入力装置228を備え、それらはバス229により互いに接続されている。
【0225】
メモリ222は、例えば、ROM(read only memory)、RAM(random access memory)等を含み、処理に用いられるプログラムとデータを格納する。CPU221は、メモリ222を利用してプログラムを実行することにより、必要な処理を行う。
【0226】
入力装置223は、例えば、キーボード、ポインティングデバイス、タッチパネル等であり、ユーザからの指示や情報の入力に用いられる。出力装置224は、例えば、ディスプレイ、プリンタ、スピーカ等であり、ユーザへの問い合わせや処理結果の出力に用いられる。
【0227】
外部記憶装置225は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク(magneto-optical disk)装置等である。情報処理装置は、この外部記憶装置225に、上述のプログラムとデータを保存しておき、必要に応じて、それらをメモリ222にロードして使用することができる。また、外部記憶装置225は、カラー画像を格納するデータベースとしても用いられる。
【0228】
媒体駆動装置226は、可搬記録媒体230を駆動し、その記録内容にアクセスする。可搬記録媒体230としては、メモリカード、フロッピーディスク、CD−ROM(compact disk read only memory )、光ディスク、光磁気ディスク等、任意のコンピュータ読み取り可能な記録媒体が用いられる。ユーザは、この可搬記録媒体230に上述のプログラムとデータを格納しておき、必要に応じて、それらをメモリ222にロードして使用することができる。
【0229】
ネットワーク接続装置227は、LAN(local area network)等の任意の通信ネットワークへの接続に用いられ、通信に伴うデータ変換を行う。情報処理装置は、上述のプログラムとデータをネットワーク接続装置227を介して外部の装置から受け取り、それらをメモリ222にロードして使用することができる。
【0230】
画像入力装置228は、例えば、CCDカメラやスキャナ等の撮像装置であり、カラー画像の入力に用いられる。
図57は、図56の情報処理装置にプログラムとデータを供給することのできるコンピュータ読み取り可能な記録媒体を示している。可搬記録媒体230や外部のデータベース231に保存されたプログラムとデータは、メモリ222にロードされる。そして、CPU221は、そのデータを用いてそのプログラムを実行し、必要な処理を行う。
【0231】
【発明の効果】
本発明によれば、カラー文書画像に含まれる文字と背景の混色を適切に処理して、小さな文字パターンを抽出することが可能となる。これにより、高精度なパターン抽出処理が実現される。
【図面の簡単な説明】
【図1】本発明のパターン抽出装置の原理図である。
【図2】テーブル作成処理のフローチャートである。
【図3】網点印刷法によるカラー画像の表現方法を説明する図
【図4】網点印刷法によるカラー画像の拡大図
【図5】印刷モデルの生成方法を示す図
【図6】第1の色差テーブルの構成を示す図
【図7】第2の色差テーブルの構成を示す図
【図8】パターン抽出処理のフローチャート(その1)である。
【図9】パターン抽出処理のフローチャート(その2)である。
【図10】注目画素の周囲の8画素を示す図である。
【図11】図形除去を示す図である。
【図12】L字形パターンが存在する場合の重なり統合結果を示す図である。
【図13】注目矩形の周囲の探索範囲の設定方法を説明する図である。
【図14】注目矩形の周囲の探索範囲にかかる矩形の抽出方法を説明する図である。
【図15】輪郭長獲得処理を示すフローチャート(その1)である。
【図16】輪郭長獲得処理を示すフローチャート(その2)である。
【図17】輪郭長獲得方法を説明するためのパターンの具体例を示す図である。
【図18】再グルーピング処理の例を示す図である。
【図19】グループ内の大きな矩形削除処理を説明する図である。
【図20】グループ内の重なり矩形統合処理を説明する図である。
【図21】グループ内文字列抽出処理を説明する図である。
【図22】文字列内分離文字統合処理を説明する図である。
【図23】グループ内の文字列サイズによる再グループ化処理を説明する図である。
【図24】第1のグループ統合処理を説明する図である。
【図25】第2のグループ統合処理を説明する図である。
【図26】矩形並びによる文字列らしいグループの抽出処理を説明する図である。
【図27】第1のノイズグループの削除処理を説明する図である。
【図28】第2のノイズグループの削除処理を説明する図である。
【図29】第3のノイズグループの削除処理を説明する図である。
【図30】グループ内同色パターン抽出処理を説明する図である。
【図31】第1の背景色判定処理のフローチャート(その1)である。
【図32】第1の背景色判定処理のフローチャート(その2)である。
【図33】第1の背景色判定処理のフローチャート(その3)である。
【図34】第1の背景色判定処理のフローチャート(その4)である。
【図35】第1のマスク画像を示す図である。
【図36】第2のマスク画像を示す図である。
【図37】第1の背景色情報を示す図である。
【図38】カラー画像を示す図である。
【図39】ラベル画像を示す図である。
【図40】同色グループを示す図である。
【図41】再グループ化の結果を示す図である。
【図42】文字列らしいグループを示す図である。
【図43】ノイズグループ削除の結果を示す図である。
【図44】グループ内同色パターンを示す図である。
【図45】第1候補を示す図である。
【図46】第2候補を示す図である。
【図47】第3候補を示す図である。
【図48】第1のハイブリッドパターン抽出処理のフローチャートである。
【図49】第2のハイブリッドパターン抽出処理のフローチャートである。
【図50】第3のハイブリッドパターン抽出処理のフローチャートである。
【図51】第4のハイブリッドパターン抽出処理のフローチャートである。
【図52】第2の背景色判定処理のフローチャート(その1)である。
【図53】第2の背景色判定処理のフローチャート(その2)である。
【図54】第2の背景色判定処理のフローチャート(その3)である。
【図55】第2の背景色情報を示す図である。
【図56】情報処理装置の構成図である。
【図57】記録媒体を示す図である。
【符号の説明】
1 概略抽出手段
2 詳細抽出手段
3 出力手段
4 判定手段
5 合成手段
11 原画像
12、13、14、15 画素
21、22、23 点
31、32、33、41、44、45、61、62、63、64、72、102、103、104、105、106、107、108、109、110、111、131、132、133、134、135、136、142、143、144、145、146、147、148、149、150、151、161、162、163、164、165、166、167、168、171、172、173、174、175、176、177、178、179、180、181、182、183、184、185、186、187、191、192、193、201、202、203、211 矩形
42、43 パターン
51 注目矩形
52、65 探索範囲
71 ラベル画像
81、82、83、101、112、141 グループ
204、205 ヒストグラム
212、213 濁点
221 CPU
222 メモリ
223 入力装置
224 出力装置
225 外部記憶装置
226 媒体駆動装置
227 ネットワーク接続装置
228 画像入力装置
229 バス
230 可搬記録媒体
231 データベース

Claims (8)

  1. 入力画像を分割したメッシュ領域のうち、色の分散値が予め決められた範囲にあるメッシュ領域内の色の標準偏差の平均値に基づいて設定された、同一とみなす色の範囲の第1しきい値と隣接画素間の画素値の差分を比較して該差分が該第1しきい値以下と判定された隣接画素同士に同一のラベルを付すことで得られる、同一のラベルが付された連結画素を囲む領域において、該連結画素以外の部分の、該同一のラベルが付された連結画素の平均色との差が許容範囲を超える色を持つ画素の割合が第2しきい値より大きい場合に均一色と判定し、該画素の割合が該第2しきい値以下の場合に均一色でないと判定する判定手段と、
    前記判定手段で均一色と判定した場合に、前記同一のラベルが付された連結画素を囲む領域をグレースケール画像に変換した後に2値画像を生成して出力し、前記判定手段で均一色でないと判定した場合に、前記同一のラベルが付された連結画素を囲む領域を、前記同一のラベルが付された連結画素と該連結画素以外の画素とに2値化した2値画像を出力する2値画像生成手段と
    を備えることを特徴とするパターン抽出装置。
  2. 前記判定手段は、前記連結画素を囲む領域における、前記連結画素を拡張した領域以外の部分の、前記同一のラベルが付された連結画素の平均色との差が許容範囲を超える色を持つ画素の割合が前記第2しきい値より大きい場合に均一色と判定し、該画素の割合が該第2しきい値以下の場合に均一色でないと判定することを特徴とする請求項1記載のパターン抽出装置。
  3. コンピュータのためのプログラムを記録した記録媒体であって、
    前記プログラムは、
    入力画像を分割したメッシュ領域のうち、色の分散値が予め決められた範囲にあるメッシュ領域内の色の標準偏差の平均値に基づいて設定された、同一とみなす色の範囲の第1しきい値と隣接画素間の画素値の差分を比較して該差分が該第1しきい値以下と判定された隣接画素同士に同一のラベルを付すことで得られる、同一のラベルが付された連結画素を囲む領域において、該連結画素以外の部分の、該同一のラベルが付された連結画素の平均色との差が許容範囲を超える色を持つ画素の割合を求めるステップと、
    得られた割合が第2しきい値より大きい場合に均一色と判定し、該割合が該第2しきい値以下の場合に均一色でないと判定するステップと、
    前記判定するステップで均一色と判定した場合に、前記同一のラベルが付された連結画素を囲む領域をグレースケール画像に変換した後に2値画像を生成して出力し、前記判定するステップで均一色でないと判定した場合に、前記同一のラベルが付された連結画素を囲む領域を、前記同一のラベルが付された連結画素と該連結画素以外の画素とに2値化した2値画像を出力するステップと
    を前記コンピュータに実行させることを特徴とするコンピュータ読み取り可能な記録媒体。
  4. 前記判定するステップは、前記連結画素を囲む領域における、前記連結画素を拡張した領域以外の部分の、前記同一のラベルが付された連結画素の平均色との差が許容範囲を超える色を持つ画素の割合が前記第2しきい値より大きい場合に均一色と判定し、該画素の割合が該第2しきい値以下の場合に均一色でないと判定することを特徴とする請求項3記載の記録媒体。
  5. 入力画像を分割したメッシュ領域のうち、色の分散値が予め決められた範囲にあるメッシュ領域内の色の標準偏差の平均値に基づいて設定された、同一とみなす色の範囲の第1しきい値と隣接画素間の画素値の差分を比較して該差分が該第1しきい値以下と判定された隣接画素同士に同一のラベルを付すことで得られる、同一のラベルが付された連結画素を囲む領域において、該連結画素以外の部分の、該同一のラベルが付された連結画素の平均色との差が許容範囲を超える色を持つ画素の割合を求めるステップと、
    得られた割合が第2しきい値より大きい場合に均一色と判定し、該割合が該第2しきい 値以下の場合に均一色でないと判定するステップと、
    前記判定するステップで均一色と判定した場合に、前記同一のラベルが付された連結画素を囲む領域をグレースケール画像に変換した後に2値画像を生成して出力し、前記判定するステップで均一色でないと判定した場合に、前記同一のラベルが付された連結画素を囲む領域を、前記同一のラベルが付された連結画素と該連結画素以外の画素とに2値化した2値画像を出力するステップと
    をコンピュータに実行させるためのプログラム。
  6. 前記判定するステップは、前記連結画素を囲む領域における、前記連結画素を拡張した領域以外の部分の、前記同一のラベルが付された連結画素の平均色との差が許容範囲を超える色を持つ画素の割合が前記第2しきい値より大きい場合に均一色と判定し、該画素の割合が該第2しきい値以下の場合に均一色でないと判定することを特徴とする請求項5記載のプログラム。
  7. コンピュータが、入力画像を分割したメッシュ領域のうち、色の分散値が予め決められた範囲にあるメッシュ領域内の色の標準偏差の平均値に基づいて設定された、同一とみなす色の範囲の第1しきい値と隣接画素間の画素値の差分を比較して該差分が該第1しきい値以下と判定された隣接画素同士に同一のラベルを付すことで得られる、同一のラベルが付された連結画素を囲む領域において、該連結画素以外の部分の、該同一のラベルが付された連結画素の平均色との差が許容範囲を超える色を持つ画素の割合を求めるステップと、
    前記コンピュータが、得られた割合が第2しきい値より大きい場合に均一色と判定し、該割合が該第2しきい値以下の場合に均一色でないとするステップと、
    前記コンピュータが、前記判定するステップで均一色と判定した場合に、前記同一のラベルが付された連結画素を囲む領域をグレースケール画像に変換した後に2値画像を生成して出力し、前記判定するステップで均一色でないと判定した場合に、前記同一のラベルが付された連結画素を囲む領域を、前記同一のラベルが付された連結画素と該連結画素以外の画素とに2値化した2値画像を出力するステップと
    を備えることを特徴とするパターン抽出方法。
  8. 前記判定するステップは、前記連結画素を囲む領域における、前記連結画素を拡張した領域以外の部分の、前記同一のラベルが付された連結画素の平均色との差が許容範囲を超える色を持つ画素の割合が前記第2しきい値より大きい場合に均一色と判定し、該画素の割合が該第2しきい値以下の場合に均一色でないと判定することを特徴とする請求項7記載のパターン抽出方法。
JP2001019060A 2000-01-27 2001-01-26 カラー画像から文字列パターンを抽出する装置および方法 Expired - Fee Related JP4275866B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001019060A JP4275866B2 (ja) 2000-01-27 2001-01-26 カラー画像から文字列パターンを抽出する装置および方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000-18166 2000-01-27
JP2000018166 2000-01-27
JP2001019060A JP4275866B2 (ja) 2000-01-27 2001-01-26 カラー画像から文字列パターンを抽出する装置および方法

Publications (2)

Publication Number Publication Date
JP2001283153A JP2001283153A (ja) 2001-10-12
JP4275866B2 true JP4275866B2 (ja) 2009-06-10

Family

ID=26584250

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001019060A Expired - Fee Related JP4275866B2 (ja) 2000-01-27 2001-01-26 カラー画像から文字列パターンを抽出する装置および方法

Country Status (1)

Country Link
JP (1) JP4275866B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11361529B2 (en) * 2019-01-24 2022-06-14 Fujifilm Business Innovation Corp. Information processing apparatus and non-transitory computer readable medium

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4839076B2 (ja) * 2005-12-09 2011-12-14 日本電信電話株式会社 映像中文字認識装置、映像中文字認識方法、プログラム、及び記録媒体
KR100914515B1 (ko) * 2006-06-23 2009-09-02 주식회사 칼라짚미디어 색상 기반 이미지 코드의 색상 판별 방법
JP4804417B2 (ja) * 2007-05-17 2011-11-02 キヤノン株式会社 動画撮像装置及び動画撮像方法
US8094202B2 (en) 2007-05-17 2012-01-10 Canon Kabushiki Kaisha Moving image capture apparatus and moving image capture method
JP4821869B2 (ja) 2009-03-18 2011-11-24 富士ゼロックス株式会社 文字認識装置、画像読取装置、およびプログラム
JP2011013898A (ja) 2009-07-01 2011-01-20 Canon Inc 画像処理装置、画像処理方法、及び、プログラム
JP5577763B2 (ja) * 2010-03-09 2014-08-27 富士ゼロックス株式会社 画像処理装置、画像処理システム、及び画像処理プログラム
WO2013145873A1 (ja) * 2012-03-27 2013-10-03 株式会社サタケ 光学式粒状物選別機
JP5974589B2 (ja) * 2012-03-30 2016-08-23 ブラザー工業株式会社 画像処理装置およびプログラム
JP5695257B1 (ja) * 2014-07-25 2015-04-01 楽天株式会社 画像処理装置、画像処理方法、および画像処理プログラム
CN107784301B (zh) 2016-08-31 2021-06-11 百度在线网络技术(北京)有限公司 用于识别图像中文字区域的方法和装置
JP7183923B2 (ja) * 2019-04-04 2022-12-06 富士通株式会社 文書出力プログラム、文書出力方法及び文書出力システム
CN113095327B (zh) * 2021-03-16 2022-10-14 深圳市雄帝科技股份有限公司 光学字符识别区域的定位方法、系统及其存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3115725B2 (ja) * 1993-03-17 2000-12-11 日本電信電話株式会社 背景付き文字列からの文字列画像の抽出処理方式
JP3255085B2 (ja) * 1997-06-11 2002-02-12 富士ゼロックス株式会社 画像領域判定方法およびその装置、画像処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11361529B2 (en) * 2019-01-24 2022-06-14 Fujifilm Business Innovation Corp. Information processing apparatus and non-transitory computer readable medium

Also Published As

Publication number Publication date
JP2001283153A (ja) 2001-10-12

Similar Documents

Publication Publication Date Title
JP3748172B2 (ja) 画像処理装置
JP3748164B2 (ja) パターン抽出装置
USRE47889E1 (en) System and method for segmenting text lines in documents
US6993185B2 (en) Method of texture-based color document segmentation
JP3601658B2 (ja) 文字列抽出装置及びパターン抽出装置
JP4275866B2 (ja) カラー画像から文字列パターンを抽出する装置および方法
US8693790B2 (en) Form template definition method and form template definition apparatus
JP4149464B2 (ja) 画像処理装置
CN113158977B (zh) 改进FANnet生成网络的图像字符编辑方法
JP3851742B2 (ja) 帳票処理方法及び装置
JP2011248702A (ja) 画像処理装置、画像処理方法、画像処理プログラム及びプログラム記憶媒体
CN113033558A (zh) 一种用于自然场景的文本检测方法及装置、存储介质
JP4211941B2 (ja) パターン抽出装置
CN102682308B (zh) 图像处理方法和图像处理设备
JP3476595B2 (ja) 画像領域分割方法、および画像2値化方法
Ebi et al. Automatic Data Acquisition from Topographic Maps Using a Knowledge Based Image Analysis System
CN112825141B (zh) 识别文本的方法、装置、识别设备和存储介质
JP2005184404A (ja) 画像処理装置
JP2613211B2 (ja) 画像入力装置
JP3972546B2 (ja) 画像処理装置および画像処理方法
JP4763113B2 (ja) 高速ラベリング方式
Trier A data capture system for hydrographic maps
JPH0410080A (ja) 画像処理における対象領域識別方法
JPH03260887A (ja) 文字認識方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080805

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081217

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090303

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090305

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120313

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130313

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130313

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140313

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees