画像処理装置、画像処理方法、コンピュータプログラム
【課題】 表領域を正確に抽出することが可能な画像処理装置を提供する。
【解決手段】 本発明によれば、まず、文書画像内の黒画素連結領域に基づいて領域分割を行い、分割された領域から、処理対象の領域を選択する。そして、選択された領域内にある内部領域のうち、所定の条件を満たす内部領域を結合して結合内部領域を生成する。その結合された結合内部領域に基づいて決定される領域が、表領域であるか判定し、表領域と判定された場合は、当該領域を表領域として抽出する。
【解決手段】 本発明によれば、まず、文書画像内の黒画素連結領域に基づいて領域分割を行い、分割された領域から、処理対象の領域を選択する。そして、選択された領域内にある内部領域のうち、所定の条件を満たす内部領域を結合して結合内部領域を生成する。その結合された結合内部領域に基づいて決定される領域が、表領域であるか判定し、表領域と判定された場合は、当該領域を表領域として抽出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書画像から表領域を抽出する画像処理方法及び装置に関する。
【背景技術】
【0002】
従来、文書画像を解析して、文字、グラフィックス、線画、表などの属性別の領域に分割する領域分割技術がある(特許文献1)。特許文献1では、2値化された文書画像から黒画素の8方向輪郭追跡により黒画素連結要素を抽出し、更に、その黒画素連結要素の内部で白画素の4方向輪郭追跡により白画素連結要素(以下、内部領域と呼ぶ)を抽出する。そして、これらの抽出した結果に基づいて、文字、グラフィックス、表といった属性毎の領域に分割する。このような分割された領域の各属性は、光学式文字認識(OCR)、データ圧縮、データルーチング、データ抽出など、各領域内の画像に対して行うその後の処理の種類を決定する際に使用することができる。たとえば、文字領域内の画像に対してはOCR処理を行うが、絵や図領域内の画像に対してはOCR処理を行わないようにする。このような仕組みを利用して複数の異なるタイプの文書画像を入力しても、オペレータの介入なしに自動処理するように構成することもができる。
【特許文献1】特開平06−068301号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
特許文献1に記載した領域分割技術を、図3のような文書画像に対して適用した場合、図4のような領域分割結果が得られる。図3の文書画像内に含まれる、題名、水平線、文字、絵及び図、枠、及び表等の領域が、領域のタイプ(属性)に応じて分離およびグループ化されることで、図4のように各領域が抽出される。
【0004】
一方、領域分割処理を行う場合、正確に領域が抽出できない場合がある。例えば、図5のように表と題名が近くにあるとき、スキャン時の状態や印刷の状態によっては、スキャン画像上で表の黒画素と題名の黒画素とが繋がってしまう場合がある。このような場合、点線501で描いた領域を1つの黒画素連結領域と見なしてしまい、題名部分については文字領域として識別されずに、表領域の罫線部分として識別してしまうおそれがある。
【0005】
また、図8のように、表が他の要素(矢印の図形など)と連結している文書画像の場合、黒画素連結要素は、表部分と図形部分とが結合した領域801になってしまう。また、領域801の内部の白画素連結要素は、不規則に並ぶことになるので、領域801は表として識別されないことになる。すなわち、図5や図8のように表以外の黒画素が連結している場合、表領域の抽出に誤りが生じたり、領域を表として識別することに失敗したりする場合がある。
【0006】
本発明では、表領域を適切に抽出することが可能な画像処理装置及び方法を提供する。
【課題を解決するための手段】
【0007】
上述した課題を解決する為に、本発明の画像処理装置は、文書画像内の黒画素連結領域に基づいて領域分割を行う領域分割手段と、前記領域分割手段で分割された領域から、処理対象の領域を選択する選択手段と、前記選択手段で選択された領域内にある内部領域のうち、所定の条件を満たす内部領域を結合して結合内部領域を生成する内部領域結合手段と、前記内部領域結合手段で結合された結合内部領域に基づく領域が、表領域であるか判定する表領域判定手段と、前記表領域判定手段で表領域と判定された場合、当該領域を表領域として抽出する抽出手段と、を備えることを特徴とする。
【発明の効果】
【0008】
本発明によれば、文書画像から、表領域をより正確に抽出することができるようになる。
【発明を実施するための最良の形態】
【0009】
以下、本発明を、図面を参照して詳細に説明する。
【0010】
図1は、本発明の一実施形態を実現する画像処理装置の概略構成を示すブロック図である。CPU101は、ROM102に格納されているコンピュータプログラムを実行することにより、本装置全体の制御を行い、後述するフローチャートの各処理を実行することになる。すなわち、コンピュータ(CPU)は、コンピュータプログラムを実行することにより、後述する処理の処理部(処理手段)として機能することになる。ROM102は、後述するフローチャートに示す各処理等をコンピュータに実行させるための制御プログラムや各種パラメータデータなどを格納する。
【0011】
RAM103は、画像や各種データを記憶する。また、RAM103は、データの作業領域や一時待避領域として機能する。外部記憶装置104は、画像を管理するデータベースなどの各種データを記憶する。外部記憶装置104は、例えば、ハードディスクやCD−ROM等のコンピュータ読み取り可能な記憶媒体で構成され、上述したコンピュータプログラムを格納するようにしてもよい。ディスプレイ105は、LCDやCRTなどの表示装置である。
【0012】
入力装置106は、例えば、マウスやペンタブレット等で構成され、ユーザからの指示を入力することができる。スキャナ107は、カラー画像の入力が可能なスキャナであり、画像(例えば、文書)を光学的に読み取り、その画像データを取得する画像入力装置である。プリンタ108は、所定の画像処理を行った画像データ等の印刷を行う。
【0013】
尚、本発明は汎用的なコンピュータでも実施可能であり、その場合、記憶媒体に記憶される制御プログラムを外部記憶装置104に記憶しておき、CPU101で該プログラムを読み込んで実行するように構成されてもよい。
【0014】
ネットワークインターフェース(I/F)109は、ネットワーク上に接続されている外部装置(例えば、サーバ、外部記憶装置等)と通信し、プログラムやデータを読み込んだり、書き込んだりする際に利用される。尚、ネットワークは、インターネットやLANやWANや電話回線、無線回線、ATMやフレームリレー回線、ケーブルテレビ回線などの通信ネットワークである。
【0015】
また、スキャナ107やプリンタ108は、ネットワークインターフェース109を介して接続されて構成されていても良い。
【0016】
このような画像処理装置は、例えば図2に示すシステムにおいて実現される。図2は、本実施形態において採用可能なコンピュータシステムの構成例を示す図であり、コンピュータ装置201、スキャナ202、プリンタ203で構成されている。同図において、コンピュータ装置201は所定の画像処理を実行する。スキャナ装置202は原稿を光学的に読み取り電子化し、画像データをコンピュータ装置201に送る。プリンタ装置203は所定の画像処理を施した画像データ等を印刷する。なお、本実施形態では、スキャナ装置202を用いて帳票を読み込んでいるが、デジタルカメラ等を用いて帳票を電子化して画像データを得てもよい。
【0017】
以上の構成を備えた本実施形態の画像処理装置の動作について、以下、説明する。図11は本実施形態における画像処理の概要手順を説明するフローチャートである。
【0018】
ステップS1101にて、紙文書をスキャナで読み取ることによって得た文書画像を2値画像に変換する。ステップS1102にて、二値画像に対して領域分割処理を行う。領域分割により、文書画像上の各要素が領域として抽出される。ここで行われる領域分割処理には、例えば、特許文献1に記載の領域分割技術を利用する。詳細は後述する。
【0019】
ステップS1103にて、処理対象の領域を選択する。本実施例ではステップS1102にて抽出された領域のうち、表領域、枠領域、及び、内部領域(白画素連結領域)を複数個持つ非文字領域を、処理対象の領域として選択する。
【0020】
ステップS1104にて、ステップS1103にて選択された領域内の内部領域を抽出し、各内部領域同士について、内部領域の位置が所定の条件を満たす場合、内部領域同士を結合する。以降、再帰的に上記結合処理を繰り返し、結合が行われなくなった時点で本処理を終了する。例えば、図5の点線501の領域内の内部領域は、図6の601〜609である。これに対して、S1104の処理を実施すると、図5の点線501の領域内にある内部領域(図6の601〜609)は結合されて、図7の701〜703のような結合内部領域が生成される。また、図8の点線801が1つの非文字領域として判別された場合、その領域801内にある内部領域は図9の901〜916のように複数存在する。ここで、S1104の処理を行うことにより、近くにある内部領域同士が結合されて図10の1001〜1002のような結合内部領域が生成される。詳細な説明は後述する。
【0021】
結合が実施された後の各結合内部領域に基づいてS1105の判定処理の処理対象にする領域を決定する。例えば、結合内部領域の上下左右に数画素分(例えば1画素分)大きい領域(もしくは、結合内部領域の上下左右に罫線の線幅分大きい領域)を処理対象領域とする。この処理対象領域内の部分画像を処理対象として、ステップS1105において、S1102での表判定基準と同等の基準で表の判定を行う。すなわち、結合内部領域に基づいて決定した領域内の部分画像を対象として、黒画素連結領域の抽出と白画素連結領域の抽出とを行い、表の構造になっているか判定する。ステップS1106では、ステップS1105で表と判定された各領域内の部分画像を新たに表領域画像として抽出し、抽出前の領域情報は破棄する。
【0022】
例えば、図5の画像に対して、ステップS1102〜ステップS1104を行うと、図7のような結合内部領域703が得られる。ステップS1105では、この結合内部領域703に基づいて表領域候補が図5の点線502の位置に決定され、当該領域502内の部分画像が表と判断される条件を満たすか判断され、表領域の画像として抽出されることになる。また、図8の画像の例では、結合内部領域1001と1002に対応する部分の画像(すなわち、図8の点線802と点線803で示される領域内の画像)が表領域画像として抽出される。
【0023】
次に、上述したステップS1102において実行される領域分割処理について詳細に説明する。図12は本実施形態による領域分割処理を説明するフローチャートである。
【0024】
ステップS1201において、画像からすべての黒画素の8連結領域を抽出する。黒画素の8連結領域とは、図13(a)に示されるように、縦横斜めの8方向のいずれかで接触した黒画素の集合であり、黒画素の輪郭追跡を行うことにより抽出できる。以降この領域を単に黒領域と呼び、画像内の文字や表などのオブジェクトを構成する最小要素とし、この黒領域を含む最小の矩形を黒領域矩形(図13(a)では点線矩形で表している)と呼ぶことにする。
【0025】
ステップS1202では、黒領域矩形の高さと幅を、想定される文字高さと文字幅に基づいて予め決めておいた閾値と比較し、その閾値内に収まる黒領域矩形を「文字」と判定する。ステップS1203では、黒領域矩形の高さと幅の比率が一定比率以上で縦長または横長のもの、あるいは一定太さの斜め線状をなす黒領域を「線」と判定する。ステップS1204では、黒領域矩形の形状が一定大きさ以上かどうかを調べる。条件を満たすならばステップS1205へ進む。満たさないときは、その黒領域を「非文字」と判定する。なお、「非文字」は、図、写真またはその一部などを含む集合と考えられる。
【0026】
ステップS1205では、矩形をなす黒領域の内部に存在する白画素の4連結領域の集合を抽出する。白画素の4連結領域とは、図13(b)に示されるように、縦横の4方向のいずれかで接触した黒画素領域の集合である。なお、内部領域に4連結領域を適用するのは、黒画素と同様の8連結領域を白画素に適用すると、輪郭追跡したときに斜め線のところで黒画素の塊の中から外の白画素に飛び出してしまうからである。白画素の4連結領域とは、図13(b)に示されるように、縦横のいずれかで接触した白画素の集合のことである。図13(a)の画像に対して、黒画素8連結領域を抽出した場合、黒画素部分は1つの領域として切り出される。一方、図13(b)の画像に対して、白画素4連結領域を抽出した場合、白画素部分は2つの領域として切り出される。この白画素領域を囲む最小の矩形を、内部領域矩形(図13(b)では点線矩形で表している)と呼ぶことにする。
【0027】
ステップS1205の処理により黒領域矩形内から1つまたは複数の内部領域矩形が抽出されるが、ステップS1206では、当該抽出された内部領域矩形同士が互いに重なることなく当該黒領域内をほぼ埋めているかを判定する。この条件を満たすと判断した場合は、ステップS1207に進む。満たさないときは、その黒領域を「非文字」と判定する。例えば、図14(a)及び図14(b)では内部領域矩形が重なることなく抽出されているが、図14(c)では内部領域矩形が重なって抽出されているので「非文字(図)」と判定される。
【0028】
ステップS1207では、内部領域矩形の数が一定閾値以上あるか、ならびに、内部領域が水平方向と垂直方向の双方に延びる格子状構造を形成しているかを判定する。黒領域の内部領域が当該条件を満たす場合は、当該黒領域を「表」と判断し、一方、満たさないときは、「枠」と判定する。内部領域が格子状構造をしていれば、上下方向に並んだ内部領域は左端の座標位置と右の座標位置とがほぼ同じ位置になり、かつ、左右方向に並んだ内部領域は上端の座標位置と下端の座標位置とがほぼ同じ位置になることが多い。したがって、内部領域の座標位置に基づいて、格子状構造をしているかどうか判断できる。例えば、特許文献1のように、内部領域(白輪郭)同士の座標位置(境界線)が一致しなければ接続する場合、表をなす内部領域は接続されにくいので、当該黒領域内の内部領域の接続率が低く且つ接続処理後の内部領域の数が多ければ、表と判断できる。
【0029】
ステップS1208では、枠及び表領域の内部領域矩形各々に対し、その矩形の範囲内の画像に対して再度、黒画素の8連結領域を抽出する。以降、抽出された黒領域の集合に対し、ステップS1202以降の処理を繰り返す。そして、この再帰的な探索が行われなくなった時点で本処理を終了する。
【0030】
次に、上記ステップS1104において実行される内部領域結合処理について詳細に説明する。図15は本実施形態による内部領域結合処理を説明するフローチャートである。
【0031】
ステップS1501では、後述するステップS1504の距離判定で使用する閾値を算出する。図16の点線矢印のように、ステップS1103で選択した領域の左端から右端に向かって水平方向に黒画素を探索していき、最初に検知した黒画素から連続する黒画素数(連結黒画素)を係数する。上記処理を全てのラインに対して行う。図16の場合、例えば、2ライン目の最初に検知した黒画素からの黒連結画素数は8画素である。左端からの処理が終了すると、右端から左端に向かっても同様に算出する。また、上端から下端、下端から上端に向かう垂直方向にも、それぞれ同様に黒連結画素数を計数する。そして、計数した黒画素数の平均値を閾値とする。この閾値は、表罫線の線幅に近い値(罫線の平均的な線幅より数画素大きい値)になる。なお、本実施例では上述のように閾値を画像に応じて動的に算出するものとしたが、予め罫線の線幅が分かっているのであれば、線幅に基づいて予め決めておいた値を用いるようにしてもよい。
【0032】
ステップS1502にて、内部領域のうちの2つを処理対象として選択する。例えば、左上にある内部領域から順に処理対象にしていく。好適には、まず内部領域の1つを選択し、更にその近傍にある他の内部領域の1つを選択する。
【0033】
ステップS1503にて、内部領域の垂直方向の座標位置と水平方向の座標位置とを比較して、垂直方向および水平方向に重複しているかを判定する。本実施形態では、「垂直方向に重複」とは、図17(a)のように、内部領域1の垂直方向の始点と終点の座標位置と、内部領域2の垂直方向の始点と終点の座標位置とを比較した結果、重複部分があることを示している。また、「水平方向に重複」とは、図17(b)のように、内部領域1の水平方向の始点と終点の座標位置と、内部領域2の水平方向の始点と終点の座標位置とを比較した結果、重複部分があることを示している。水平方向もしくは垂直方向のいずれかで重複していると判定されるとステップS1504へ進み、水平方向と垂直方向の両方で重複していると判定されるとステップS1506へ進み、非重複である(両方とも重複していない)と判定されるとS1507に進む。図17(c)は内部領域が水平方向と垂直方向の両方向で重複している例であり、図17(d)は非重複の例である。
【0034】
ステップS1504において、処理対象の内部領域同士が隣接しているかを判定する。まず、内部領域の相対する辺と辺の間の距離(図17(a)のように垂直方向に重複している場合は水平の距離K、図17(b)のように水平方向に重複している場合は垂直の距離K)を求める。そして、距離KがステップS1501で算出した閾値以下の場合、当該処理対象の内部領域同士は隣接していると判定する。隣接していると判定された場合は、ステップS1506へ進み、隣接していないと判定された場合はステップS1505へ進む。すなわち、罫線の線幅程度の距離しか離れていないと判断される場合は、隣接していると判定して結合対象にする。
【0035】
ステップS1505において、内部領域間の重複領域内の画像の濃度判定を行う。まず、内部領域間の重複領域(図17(a)のように垂直方向に重複している場合は重複領域a、図17(b)のように水平方向に重複している場合は重複領域b)内の黒画素濃度を求める。そして、黒画素濃度が一定閾値以上の場合は、結合対象としてステップS1506へ進み、一方、閾値未満の場合は結合対象にせずにステップS1507へ進む。すなわち、平均的な罫線の線幅以上離れているが、その間に存在するのが太い罫線であると判定できる場合は結合対象とする。例えば、図9の914と915の間は、図8を参照すれば分かるように黒画素で埋められているので、結合対象となる。なお、ステップS1505において、黒画素濃度が高い場合であっても、内部領域間が離れすぎているような場合(太い罫線と見なせないぐらい離れている場合)は、結合対象にせずにステップS1507に進むようにするのがよい。
【0036】
ステップS1506では、処理対象の内部領域同士を結合して結合内部領域を生成する。ステップS1507では、全ての内部領域を処理対象として判定し終わったか判定する。未判定の内部領域あると判断した場合は、ステップS1501に戻って、未処理の内部領域を対象として、上述した処理を再帰的に繰り返す。ステップS1501〜S1507の処理が終了すると、最終的な結合内部領域が生成されることになる。
【0037】
例えば、図8のような画像から抽出される内部領域は図9のようになり、これに対して結合処理を行うと、図10のような結合内部領域1001,1002が得られることになる。そして、この結合内部領域に基づいて決定される領域802、803内の部分画像は、表領域判定を行うと、表として判定されて表領域が抽出されることになる。すなわち、図8の場合、S1102の処理で抽出された領域801は表領域として判定されないが、S1104の処理で抽出された領域802,803はそれぞれ表領域として抽出されるようになる。
【0038】
また、図5のような画像の場合、S1102の処理で抽出された領域501は、表題などの余分な文字列が付加された状態で抽出される場合があるが、S1104の処理で抽出される領域502により、表の部分をより正確に抽出できるようになる。
【0039】
このようにして抽出された表領域は、帳票種別を決定するための帳票認識処理や、文字認識処理の対象領域を決定するためなど、様々な画像処理に利用することができる。
【0040】
本実施例においては、上述したフローチャートの各ステップにおける処理は、コンピュータがプログラムを実行することにより実現するものとしたがこれに限るものではない。例えば、その一部または全部の処理を、電子回路等のハードウェアで構成するようにしてもよい。
【図面の簡単な説明】
【0041】
【図1】本実施形態における画像処理装置の構成図
【図2】本実施形態における画像処理装置のシステム例
【図3】文書画像の例
【図4】図3の文書画像の領域分割結果を示した図
【図5】文字画像が連結した表画像の例
【図6】図5の表画像内にある内部領域を示した図
【図7】図6の内部領域を結合した結果を示した図
【図8】表画像と他のオブジェクトが連結している場合の例
【図9】図8の画像内にある内部領域を示した図
【図10】図9の内部領域を結合した結果を示した図
【図11】本実施形態の画像処理手順を示したフローチャート
【図12】本実施形態における領域分割処理(表判定処理)を示したフローチャート
【図13】(a)は黒画素の8連結領域の例を示す図であり、(b)は白画素の4連結領域の例を示す図
【図14】(a)、(b)、(c)は、内部白画素の4連結領域の集合の例を示す図
【図15】内部領域結合処理のフローチャート
【図16】枠線の太さ(罫線の線幅)を算出する様子を示す図
【図17】内部領域の重複例を示す図
【技術分野】
【0001】
本発明は、文書画像から表領域を抽出する画像処理方法及び装置に関する。
【背景技術】
【0002】
従来、文書画像を解析して、文字、グラフィックス、線画、表などの属性別の領域に分割する領域分割技術がある(特許文献1)。特許文献1では、2値化された文書画像から黒画素の8方向輪郭追跡により黒画素連結要素を抽出し、更に、その黒画素連結要素の内部で白画素の4方向輪郭追跡により白画素連結要素(以下、内部領域と呼ぶ)を抽出する。そして、これらの抽出した結果に基づいて、文字、グラフィックス、表といった属性毎の領域に分割する。このような分割された領域の各属性は、光学式文字認識(OCR)、データ圧縮、データルーチング、データ抽出など、各領域内の画像に対して行うその後の処理の種類を決定する際に使用することができる。たとえば、文字領域内の画像に対してはOCR処理を行うが、絵や図領域内の画像に対してはOCR処理を行わないようにする。このような仕組みを利用して複数の異なるタイプの文書画像を入力しても、オペレータの介入なしに自動処理するように構成することもができる。
【特許文献1】特開平06−068301号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
特許文献1に記載した領域分割技術を、図3のような文書画像に対して適用した場合、図4のような領域分割結果が得られる。図3の文書画像内に含まれる、題名、水平線、文字、絵及び図、枠、及び表等の領域が、領域のタイプ(属性)に応じて分離およびグループ化されることで、図4のように各領域が抽出される。
【0004】
一方、領域分割処理を行う場合、正確に領域が抽出できない場合がある。例えば、図5のように表と題名が近くにあるとき、スキャン時の状態や印刷の状態によっては、スキャン画像上で表の黒画素と題名の黒画素とが繋がってしまう場合がある。このような場合、点線501で描いた領域を1つの黒画素連結領域と見なしてしまい、題名部分については文字領域として識別されずに、表領域の罫線部分として識別してしまうおそれがある。
【0005】
また、図8のように、表が他の要素(矢印の図形など)と連結している文書画像の場合、黒画素連結要素は、表部分と図形部分とが結合した領域801になってしまう。また、領域801の内部の白画素連結要素は、不規則に並ぶことになるので、領域801は表として識別されないことになる。すなわち、図5や図8のように表以外の黒画素が連結している場合、表領域の抽出に誤りが生じたり、領域を表として識別することに失敗したりする場合がある。
【0006】
本発明では、表領域を適切に抽出することが可能な画像処理装置及び方法を提供する。
【課題を解決するための手段】
【0007】
上述した課題を解決する為に、本発明の画像処理装置は、文書画像内の黒画素連結領域に基づいて領域分割を行う領域分割手段と、前記領域分割手段で分割された領域から、処理対象の領域を選択する選択手段と、前記選択手段で選択された領域内にある内部領域のうち、所定の条件を満たす内部領域を結合して結合内部領域を生成する内部領域結合手段と、前記内部領域結合手段で結合された結合内部領域に基づく領域が、表領域であるか判定する表領域判定手段と、前記表領域判定手段で表領域と判定された場合、当該領域を表領域として抽出する抽出手段と、を備えることを特徴とする。
【発明の効果】
【0008】
本発明によれば、文書画像から、表領域をより正確に抽出することができるようになる。
【発明を実施するための最良の形態】
【0009】
以下、本発明を、図面を参照して詳細に説明する。
【0010】
図1は、本発明の一実施形態を実現する画像処理装置の概略構成を示すブロック図である。CPU101は、ROM102に格納されているコンピュータプログラムを実行することにより、本装置全体の制御を行い、後述するフローチャートの各処理を実行することになる。すなわち、コンピュータ(CPU)は、コンピュータプログラムを実行することにより、後述する処理の処理部(処理手段)として機能することになる。ROM102は、後述するフローチャートに示す各処理等をコンピュータに実行させるための制御プログラムや各種パラメータデータなどを格納する。
【0011】
RAM103は、画像や各種データを記憶する。また、RAM103は、データの作業領域や一時待避領域として機能する。外部記憶装置104は、画像を管理するデータベースなどの各種データを記憶する。外部記憶装置104は、例えば、ハードディスクやCD−ROM等のコンピュータ読み取り可能な記憶媒体で構成され、上述したコンピュータプログラムを格納するようにしてもよい。ディスプレイ105は、LCDやCRTなどの表示装置である。
【0012】
入力装置106は、例えば、マウスやペンタブレット等で構成され、ユーザからの指示を入力することができる。スキャナ107は、カラー画像の入力が可能なスキャナであり、画像(例えば、文書)を光学的に読み取り、その画像データを取得する画像入力装置である。プリンタ108は、所定の画像処理を行った画像データ等の印刷を行う。
【0013】
尚、本発明は汎用的なコンピュータでも実施可能であり、その場合、記憶媒体に記憶される制御プログラムを外部記憶装置104に記憶しておき、CPU101で該プログラムを読み込んで実行するように構成されてもよい。
【0014】
ネットワークインターフェース(I/F)109は、ネットワーク上に接続されている外部装置(例えば、サーバ、外部記憶装置等)と通信し、プログラムやデータを読み込んだり、書き込んだりする際に利用される。尚、ネットワークは、インターネットやLANやWANや電話回線、無線回線、ATMやフレームリレー回線、ケーブルテレビ回線などの通信ネットワークである。
【0015】
また、スキャナ107やプリンタ108は、ネットワークインターフェース109を介して接続されて構成されていても良い。
【0016】
このような画像処理装置は、例えば図2に示すシステムにおいて実現される。図2は、本実施形態において採用可能なコンピュータシステムの構成例を示す図であり、コンピュータ装置201、スキャナ202、プリンタ203で構成されている。同図において、コンピュータ装置201は所定の画像処理を実行する。スキャナ装置202は原稿を光学的に読み取り電子化し、画像データをコンピュータ装置201に送る。プリンタ装置203は所定の画像処理を施した画像データ等を印刷する。なお、本実施形態では、スキャナ装置202を用いて帳票を読み込んでいるが、デジタルカメラ等を用いて帳票を電子化して画像データを得てもよい。
【0017】
以上の構成を備えた本実施形態の画像処理装置の動作について、以下、説明する。図11は本実施形態における画像処理の概要手順を説明するフローチャートである。
【0018】
ステップS1101にて、紙文書をスキャナで読み取ることによって得た文書画像を2値画像に変換する。ステップS1102にて、二値画像に対して領域分割処理を行う。領域分割により、文書画像上の各要素が領域として抽出される。ここで行われる領域分割処理には、例えば、特許文献1に記載の領域分割技術を利用する。詳細は後述する。
【0019】
ステップS1103にて、処理対象の領域を選択する。本実施例ではステップS1102にて抽出された領域のうち、表領域、枠領域、及び、内部領域(白画素連結領域)を複数個持つ非文字領域を、処理対象の領域として選択する。
【0020】
ステップS1104にて、ステップS1103にて選択された領域内の内部領域を抽出し、各内部領域同士について、内部領域の位置が所定の条件を満たす場合、内部領域同士を結合する。以降、再帰的に上記結合処理を繰り返し、結合が行われなくなった時点で本処理を終了する。例えば、図5の点線501の領域内の内部領域は、図6の601〜609である。これに対して、S1104の処理を実施すると、図5の点線501の領域内にある内部領域(図6の601〜609)は結合されて、図7の701〜703のような結合内部領域が生成される。また、図8の点線801が1つの非文字領域として判別された場合、その領域801内にある内部領域は図9の901〜916のように複数存在する。ここで、S1104の処理を行うことにより、近くにある内部領域同士が結合されて図10の1001〜1002のような結合内部領域が生成される。詳細な説明は後述する。
【0021】
結合が実施された後の各結合内部領域に基づいてS1105の判定処理の処理対象にする領域を決定する。例えば、結合内部領域の上下左右に数画素分(例えば1画素分)大きい領域(もしくは、結合内部領域の上下左右に罫線の線幅分大きい領域)を処理対象領域とする。この処理対象領域内の部分画像を処理対象として、ステップS1105において、S1102での表判定基準と同等の基準で表の判定を行う。すなわち、結合内部領域に基づいて決定した領域内の部分画像を対象として、黒画素連結領域の抽出と白画素連結領域の抽出とを行い、表の構造になっているか判定する。ステップS1106では、ステップS1105で表と判定された各領域内の部分画像を新たに表領域画像として抽出し、抽出前の領域情報は破棄する。
【0022】
例えば、図5の画像に対して、ステップS1102〜ステップS1104を行うと、図7のような結合内部領域703が得られる。ステップS1105では、この結合内部領域703に基づいて表領域候補が図5の点線502の位置に決定され、当該領域502内の部分画像が表と判断される条件を満たすか判断され、表領域の画像として抽出されることになる。また、図8の画像の例では、結合内部領域1001と1002に対応する部分の画像(すなわち、図8の点線802と点線803で示される領域内の画像)が表領域画像として抽出される。
【0023】
次に、上述したステップS1102において実行される領域分割処理について詳細に説明する。図12は本実施形態による領域分割処理を説明するフローチャートである。
【0024】
ステップS1201において、画像からすべての黒画素の8連結領域を抽出する。黒画素の8連結領域とは、図13(a)に示されるように、縦横斜めの8方向のいずれかで接触した黒画素の集合であり、黒画素の輪郭追跡を行うことにより抽出できる。以降この領域を単に黒領域と呼び、画像内の文字や表などのオブジェクトを構成する最小要素とし、この黒領域を含む最小の矩形を黒領域矩形(図13(a)では点線矩形で表している)と呼ぶことにする。
【0025】
ステップS1202では、黒領域矩形の高さと幅を、想定される文字高さと文字幅に基づいて予め決めておいた閾値と比較し、その閾値内に収まる黒領域矩形を「文字」と判定する。ステップS1203では、黒領域矩形の高さと幅の比率が一定比率以上で縦長または横長のもの、あるいは一定太さの斜め線状をなす黒領域を「線」と判定する。ステップS1204では、黒領域矩形の形状が一定大きさ以上かどうかを調べる。条件を満たすならばステップS1205へ進む。満たさないときは、その黒領域を「非文字」と判定する。なお、「非文字」は、図、写真またはその一部などを含む集合と考えられる。
【0026】
ステップS1205では、矩形をなす黒領域の内部に存在する白画素の4連結領域の集合を抽出する。白画素の4連結領域とは、図13(b)に示されるように、縦横の4方向のいずれかで接触した黒画素領域の集合である。なお、内部領域に4連結領域を適用するのは、黒画素と同様の8連結領域を白画素に適用すると、輪郭追跡したときに斜め線のところで黒画素の塊の中から外の白画素に飛び出してしまうからである。白画素の4連結領域とは、図13(b)に示されるように、縦横のいずれかで接触した白画素の集合のことである。図13(a)の画像に対して、黒画素8連結領域を抽出した場合、黒画素部分は1つの領域として切り出される。一方、図13(b)の画像に対して、白画素4連結領域を抽出した場合、白画素部分は2つの領域として切り出される。この白画素領域を囲む最小の矩形を、内部領域矩形(図13(b)では点線矩形で表している)と呼ぶことにする。
【0027】
ステップS1205の処理により黒領域矩形内から1つまたは複数の内部領域矩形が抽出されるが、ステップS1206では、当該抽出された内部領域矩形同士が互いに重なることなく当該黒領域内をほぼ埋めているかを判定する。この条件を満たすと判断した場合は、ステップS1207に進む。満たさないときは、その黒領域を「非文字」と判定する。例えば、図14(a)及び図14(b)では内部領域矩形が重なることなく抽出されているが、図14(c)では内部領域矩形が重なって抽出されているので「非文字(図)」と判定される。
【0028】
ステップS1207では、内部領域矩形の数が一定閾値以上あるか、ならびに、内部領域が水平方向と垂直方向の双方に延びる格子状構造を形成しているかを判定する。黒領域の内部領域が当該条件を満たす場合は、当該黒領域を「表」と判断し、一方、満たさないときは、「枠」と判定する。内部領域が格子状構造をしていれば、上下方向に並んだ内部領域は左端の座標位置と右の座標位置とがほぼ同じ位置になり、かつ、左右方向に並んだ内部領域は上端の座標位置と下端の座標位置とがほぼ同じ位置になることが多い。したがって、内部領域の座標位置に基づいて、格子状構造をしているかどうか判断できる。例えば、特許文献1のように、内部領域(白輪郭)同士の座標位置(境界線)が一致しなければ接続する場合、表をなす内部領域は接続されにくいので、当該黒領域内の内部領域の接続率が低く且つ接続処理後の内部領域の数が多ければ、表と判断できる。
【0029】
ステップS1208では、枠及び表領域の内部領域矩形各々に対し、その矩形の範囲内の画像に対して再度、黒画素の8連結領域を抽出する。以降、抽出された黒領域の集合に対し、ステップS1202以降の処理を繰り返す。そして、この再帰的な探索が行われなくなった時点で本処理を終了する。
【0030】
次に、上記ステップS1104において実行される内部領域結合処理について詳細に説明する。図15は本実施形態による内部領域結合処理を説明するフローチャートである。
【0031】
ステップS1501では、後述するステップS1504の距離判定で使用する閾値を算出する。図16の点線矢印のように、ステップS1103で選択した領域の左端から右端に向かって水平方向に黒画素を探索していき、最初に検知した黒画素から連続する黒画素数(連結黒画素)を係数する。上記処理を全てのラインに対して行う。図16の場合、例えば、2ライン目の最初に検知した黒画素からの黒連結画素数は8画素である。左端からの処理が終了すると、右端から左端に向かっても同様に算出する。また、上端から下端、下端から上端に向かう垂直方向にも、それぞれ同様に黒連結画素数を計数する。そして、計数した黒画素数の平均値を閾値とする。この閾値は、表罫線の線幅に近い値(罫線の平均的な線幅より数画素大きい値)になる。なお、本実施例では上述のように閾値を画像に応じて動的に算出するものとしたが、予め罫線の線幅が分かっているのであれば、線幅に基づいて予め決めておいた値を用いるようにしてもよい。
【0032】
ステップS1502にて、内部領域のうちの2つを処理対象として選択する。例えば、左上にある内部領域から順に処理対象にしていく。好適には、まず内部領域の1つを選択し、更にその近傍にある他の内部領域の1つを選択する。
【0033】
ステップS1503にて、内部領域の垂直方向の座標位置と水平方向の座標位置とを比較して、垂直方向および水平方向に重複しているかを判定する。本実施形態では、「垂直方向に重複」とは、図17(a)のように、内部領域1の垂直方向の始点と終点の座標位置と、内部領域2の垂直方向の始点と終点の座標位置とを比較した結果、重複部分があることを示している。また、「水平方向に重複」とは、図17(b)のように、内部領域1の水平方向の始点と終点の座標位置と、内部領域2の水平方向の始点と終点の座標位置とを比較した結果、重複部分があることを示している。水平方向もしくは垂直方向のいずれかで重複していると判定されるとステップS1504へ進み、水平方向と垂直方向の両方で重複していると判定されるとステップS1506へ進み、非重複である(両方とも重複していない)と判定されるとS1507に進む。図17(c)は内部領域が水平方向と垂直方向の両方向で重複している例であり、図17(d)は非重複の例である。
【0034】
ステップS1504において、処理対象の内部領域同士が隣接しているかを判定する。まず、内部領域の相対する辺と辺の間の距離(図17(a)のように垂直方向に重複している場合は水平の距離K、図17(b)のように水平方向に重複している場合は垂直の距離K)を求める。そして、距離KがステップS1501で算出した閾値以下の場合、当該処理対象の内部領域同士は隣接していると判定する。隣接していると判定された場合は、ステップS1506へ進み、隣接していないと判定された場合はステップS1505へ進む。すなわち、罫線の線幅程度の距離しか離れていないと判断される場合は、隣接していると判定して結合対象にする。
【0035】
ステップS1505において、内部領域間の重複領域内の画像の濃度判定を行う。まず、内部領域間の重複領域(図17(a)のように垂直方向に重複している場合は重複領域a、図17(b)のように水平方向に重複している場合は重複領域b)内の黒画素濃度を求める。そして、黒画素濃度が一定閾値以上の場合は、結合対象としてステップS1506へ進み、一方、閾値未満の場合は結合対象にせずにステップS1507へ進む。すなわち、平均的な罫線の線幅以上離れているが、その間に存在するのが太い罫線であると判定できる場合は結合対象とする。例えば、図9の914と915の間は、図8を参照すれば分かるように黒画素で埋められているので、結合対象となる。なお、ステップS1505において、黒画素濃度が高い場合であっても、内部領域間が離れすぎているような場合(太い罫線と見なせないぐらい離れている場合)は、結合対象にせずにステップS1507に進むようにするのがよい。
【0036】
ステップS1506では、処理対象の内部領域同士を結合して結合内部領域を生成する。ステップS1507では、全ての内部領域を処理対象として判定し終わったか判定する。未判定の内部領域あると判断した場合は、ステップS1501に戻って、未処理の内部領域を対象として、上述した処理を再帰的に繰り返す。ステップS1501〜S1507の処理が終了すると、最終的な結合内部領域が生成されることになる。
【0037】
例えば、図8のような画像から抽出される内部領域は図9のようになり、これに対して結合処理を行うと、図10のような結合内部領域1001,1002が得られることになる。そして、この結合内部領域に基づいて決定される領域802、803内の部分画像は、表領域判定を行うと、表として判定されて表領域が抽出されることになる。すなわち、図8の場合、S1102の処理で抽出された領域801は表領域として判定されないが、S1104の処理で抽出された領域802,803はそれぞれ表領域として抽出されるようになる。
【0038】
また、図5のような画像の場合、S1102の処理で抽出された領域501は、表題などの余分な文字列が付加された状態で抽出される場合があるが、S1104の処理で抽出される領域502により、表の部分をより正確に抽出できるようになる。
【0039】
このようにして抽出された表領域は、帳票種別を決定するための帳票認識処理や、文字認識処理の対象領域を決定するためなど、様々な画像処理に利用することができる。
【0040】
本実施例においては、上述したフローチャートの各ステップにおける処理は、コンピュータがプログラムを実行することにより実現するものとしたがこれに限るものではない。例えば、その一部または全部の処理を、電子回路等のハードウェアで構成するようにしてもよい。
【図面の簡単な説明】
【0041】
【図1】本実施形態における画像処理装置の構成図
【図2】本実施形態における画像処理装置のシステム例
【図3】文書画像の例
【図4】図3の文書画像の領域分割結果を示した図
【図5】文字画像が連結した表画像の例
【図6】図5の表画像内にある内部領域を示した図
【図7】図6の内部領域を結合した結果を示した図
【図8】表画像と他のオブジェクトが連結している場合の例
【図9】図8の画像内にある内部領域を示した図
【図10】図9の内部領域を結合した結果を示した図
【図11】本実施形態の画像処理手順を示したフローチャート
【図12】本実施形態における領域分割処理(表判定処理)を示したフローチャート
【図13】(a)は黒画素の8連結領域の例を示す図であり、(b)は白画素の4連結領域の例を示す図
【図14】(a)、(b)、(c)は、内部白画素の4連結領域の集合の例を示す図
【図15】内部領域結合処理のフローチャート
【図16】枠線の太さ(罫線の線幅)を算出する様子を示す図
【図17】内部領域の重複例を示す図
【特許請求の範囲】
【請求項1】
文書画像内の黒画素連結領域に基づいて領域分割を行う領域分割手段と、
前記領域分割手段で分割された領域から、処理対象の領域を選択する選択手段と、
前記選択手段で選択された領域内にある内部領域のうち、所定の条件を満たす内部領域を結合して結合内部領域を生成する内部領域結合手段と、
前記内部領域結合手段で結合された結合内部領域に基づく領域が、表領域であるか判定する表領域判定手段と、
前記表領域判定手段で表領域と判定された場合、当該領域を表領域として抽出する抽出手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記内部領域結合手段は、内部領域同士が水平方向及び垂直方向のどちらかで重複しており、かつ内部領域間の距離が閾値以下の場合、当該内部領域同士を結合することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記閾値は、前記選択手段で選択された領域内の黒連結画素数に基づいて算出することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記内部領域結合手段は、内部領域同士が水平方向及び垂直方向の両方で重複している場合、当該内部領域同士を結合することを特徴とする請求項1乃至3のいずれかに記載の画像処理装置。
【請求項5】
前記内部領域結合手段は、前記内部領域が水平方向及び垂直方向のどちらかで重複しており、かつ内部領域間の濃度が一定閾値以上の場合、当該内部領域同士を結合することを特徴とする請求項1乃至4のいずれかに記載の画像処理装置。
【請求項6】
領域分割手段が、文書画像内の黒画素連結領域に基づいて領域分割を行う領域分割ステップと、
選択手段が、前記領域分割ステップで分割された領域から、処理対象の領域を選択する選択ステップと、
内部領域結合手段が、前記選択ステップで選択された領域内にある内部領域のうち、所定の条件を満たす内部領域を結合して結合内部領域を生成する内部領域結合ステップと、
表領域判定手段が、前記内部領域結合ステップで結合された結合内部領域に基づく領域が、表領域であるか判定する表領域判定ステップと、
抽出手段が、前記表領域判定ステップで表領域と判定された場合、当該領域を表領域として抽出する抽出ステップと、
を備えることを特徴とする画像処理方法。
【請求項7】
コンピュータを、
文書画像内の黒画素連結領域に基づいて領域分割を行う領域分割手段、
前記領域分割手段で分割された領域から、処理対象の領域を選択する選択手段、
前記選択手段で選択された領域内にある内部領域のうち、所定の条件を満たす内部領域を結合して結合内部領域を生成する内部領域結合手段、
前記内部領域結合手段で結合された結合内部領域に基づく領域が、表領域であるか判定する表領域判定手段、
前記表領域判定手段で表領域と判定された場合、当該領域を表領域として抽出する抽出手段、
として機能させるための、コンピュータプログラム。
【請求項8】
請求項7に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
【請求項1】
文書画像内の黒画素連結領域に基づいて領域分割を行う領域分割手段と、
前記領域分割手段で分割された領域から、処理対象の領域を選択する選択手段と、
前記選択手段で選択された領域内にある内部領域のうち、所定の条件を満たす内部領域を結合して結合内部領域を生成する内部領域結合手段と、
前記内部領域結合手段で結合された結合内部領域に基づく領域が、表領域であるか判定する表領域判定手段と、
前記表領域判定手段で表領域と判定された場合、当該領域を表領域として抽出する抽出手段と、
を備えることを特徴とする画像処理装置。
【請求項2】
前記内部領域結合手段は、内部領域同士が水平方向及び垂直方向のどちらかで重複しており、かつ内部領域間の距離が閾値以下の場合、当該内部領域同士を結合することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記閾値は、前記選択手段で選択された領域内の黒連結画素数に基づいて算出することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記内部領域結合手段は、内部領域同士が水平方向及び垂直方向の両方で重複している場合、当該内部領域同士を結合することを特徴とする請求項1乃至3のいずれかに記載の画像処理装置。
【請求項5】
前記内部領域結合手段は、前記内部領域が水平方向及び垂直方向のどちらかで重複しており、かつ内部領域間の濃度が一定閾値以上の場合、当該内部領域同士を結合することを特徴とする請求項1乃至4のいずれかに記載の画像処理装置。
【請求項6】
領域分割手段が、文書画像内の黒画素連結領域に基づいて領域分割を行う領域分割ステップと、
選択手段が、前記領域分割ステップで分割された領域から、処理対象の領域を選択する選択ステップと、
内部領域結合手段が、前記選択ステップで選択された領域内にある内部領域のうち、所定の条件を満たす内部領域を結合して結合内部領域を生成する内部領域結合ステップと、
表領域判定手段が、前記内部領域結合ステップで結合された結合内部領域に基づく領域が、表領域であるか判定する表領域判定ステップと、
抽出手段が、前記表領域判定ステップで表領域と判定された場合、当該領域を表領域として抽出する抽出ステップと、
を備えることを特徴とする画像処理方法。
【請求項7】
コンピュータを、
文書画像内の黒画素連結領域に基づいて領域分割を行う領域分割手段、
前記領域分割手段で分割された領域から、処理対象の領域を選択する選択手段、
前記選択手段で選択された領域内にある内部領域のうち、所定の条件を満たす内部領域を結合して結合内部領域を生成する内部領域結合手段、
前記内部領域結合手段で結合された結合内部領域に基づく領域が、表領域であるか判定する表領域判定手段、
前記表領域判定手段で表領域と判定された場合、当該領域を表領域として抽出する抽出手段、
として機能させるための、コンピュータプログラム。
【請求項8】
請求項7に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2010−2991(P2010−2991A)
【公開日】平成22年1月7日(2010.1.7)
【国際特許分類】
【出願番号】特願2008−159319(P2008−159319)
【出願日】平成20年6月18日(2008.6.18)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成22年1月7日(2010.1.7)
【国際特許分類】
【出願日】平成20年6月18日(2008.6.18)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]