JP4251586B2 - 画像処理方法及び装置 - Google Patents

画像処理方法及び装置 Download PDF

Info

Publication number
JP4251586B2
JP4251586B2 JP00023999A JP23999A JP4251586B2 JP 4251586 B2 JP4251586 B2 JP 4251586B2 JP 00023999 A JP00023999 A JP 00023999A JP 23999 A JP23999 A JP 23999A JP 4251586 B2 JP4251586 B2 JP 4251586B2
Authority
JP
Japan
Prior art keywords
row
cell
assigning
image
grid line
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
JP00023999A
Other languages
English (en)
Other versions
JPH11259655A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of JPH11259655A publication Critical patent/JPH11259655A/ja
Application granted granted Critical
Publication of JP4251586B2 publication Critical patent/JP4251586B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/412Layout analysis of documents structured with printed lines or input boxes, e.g. business forms or tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/414Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Character Input (AREA)
  • Image Analysis (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、表イメージ中の特徴を識別して定義する画像処理方法及び装置に関するものである。
【0002】
【従来の技術】
従来のページ分割システムは、文書イメージに適用して、その文書イメージの特定の領域に含まれるデータの種類を識別するためのものである。この情報を使用して、特定の領域中のデータを抽出し、この抽出データに実施する処理の種類を決定する。
【0003】
表イメージを含む文書については、表イメージの中に位置するテキスト領域、又は表セルを、光学式文字認識(OCR)処理を使用してASCII文字に変換し、これらを、この表セルの位置に対応する情報とともにASCIIファイルに記憶することができる。しかし従来のシステムは、表セルに対応する行及び列アドレスを正確に決定することができない。従って、認識したASCII文字を、行及び列アドレス・データに基づくスプレッドシートに確実に入力することができない。
【0004】
更に、従来のシステムによって生成されたデータが不十分で、ビットマップ表イメージの内部特徴を適切に再作成することができないことがよくある。例えばこのようなデータは、解析した表イメージの垂直及び水平格子線を反映しない。本明細書の定義によれば、垂直及び水平格子線は表内のそれぞれの行及び列を定義するものであり、目に見えるものであっても、又は目に見えないものであってもよい。従って、従来のシステムを使用してASCIIバージョンのビットマップ表を作成することはできるが、このASCIIバージョンは、表格子線を表すデータを含まない。従って、記憶したデータを使用して、表の中の格子線のビットマップ・バージョンを正確に再作成することはできない。更に、表セルの中のテキストを編集したい場合、編集したテキストが格子線と交差し、これによって行/列境界を侵害するかどうかを、従来のシステムが供給する情報に基づいて判定することは難しい。
【0005】
【発明が解決しようとする課題】
従って、行、列、表格子線などのビットマップ表イメージの内部の特徴を正確に識別し表すためのシステムが求められている。
【0006】
本発明は上記従来例に鑑みてなされたもので、表イメージを含む画像データから、その表を定義する行、列、表格子線などの特徴を正確に取り出すことができる画像処理方法及び装置を提供することを目的とする。
【0007】
また本発明の目的は、表セルに含まれるデータを正確に抽出し、スプレッドシート・アプリケーションに出力することができる画像処理方法及び装置を提供することにある。
【0008】
また更に本発明の目的は、既存の行及び列に基づいて表にセルを簡単に追加することができる画像処理方法及び装置を提供することにある。
【0009】
【課題を解決するための手段】
本発明の画像処理方法は、以下のような工程を有する。
表イメージを解析する画像処理方法であって、
第1識別手段が、表イメージに含まれる複数のテキスト・ブロックをそれぞれ表セルとして識別する第1識別ステップと、
第2識別手段が、可視の格子線と前記表イメージの縁に沿った不可視の格子線との少なくともいずれかの格子線に囲まれた複数のスーパーセルを識別する第2識別ステップと、
第1判定手段が、前記表セルそれぞれの境界となる各垂直格子線と水平格子線とが、可視であるか不可視であるか判定する第1判定ステップと、
第2判定手段が、前記複数のスーパーセルのそれぞれの境界となる各垂直格子線と水平格子線とが、可視であるか不可視であるか判定する第2判定ステップと、
第3判定手段が、前記表セル及びスーパーセルそれぞれの前記表イメージにおける行及び列アドレスを判定する第3判定ステップと、
保存手段が、前記第1識別ステップで識別された表セルと、前記第2識別ステップで識別されたスーパーセルと、前記第1及び第2判定ステップで判定された可視及び不可視の格子線と、前記第3判定ステップで判定された行及び列アドレスとに基づいて、前記表イメージのデータを保存する保存ステップと、を有し、
前記第3判定ステップは、
反転テキスト判別手段が、前記表イメージの反転テキスト領域を判別する反転テキスト判別ステップと、
垂直ヒストグラム計算手段が、前記判別された反転テキスト領域を除く前記表イメージの領域に基づいて、前記表イメージの垂直ヒストグラムを計算する垂直ヒストグラム計算ステップと、
第1割り当て手段が、前記計算された垂直ヒストグラムに基づいて前記表セルに列アドレスを割り当てる第1割り当てステップと、
水平ヒストグラム計算手段が、前記判別された反転テキスト領域を除く前記表イメージの領域に基づいて、前記表イメージの水平ヒストグラムを計算する水平ヒストグラム計算ステップと、
第2割り当て手段が、前記計算された水平ヒストグラムに基づいて前記表セルに行アドレスを割り当てる第2割り当てステップと、
第3割り当て手段が、前記第1及び第2割り当てステップで割り当てられた各表セルの行及び列アドレスに基づいて、前記スーパーセルに対して行及び列アドレスを割り当てる第3割り当てステップと、を含むことを特徴とする。
【0010】
また本発明の一態様に係る画像処理装置によれば、
表イメージを解析する画像処理装置であって、
表イメージに含まれる複数のテキスト・ブロックをそれぞれ表セルとして識別する第1識別手段と、
可視の格子線と前記表イメージの縁に沿った不可視の格子線の少なくともいずれかの格子線に囲まれた複数のスーパーセルを識別する第2識別手段と、
前記表セルそれぞれの境界となる各垂直格子線と水平格子線とが、可視であるか不可視であるか判定する第1判定手段と、
前記複数のスーパーセルのそれぞれの境界となる各垂直格子線と水平格子線とが、可視であるか不可視であるか判定する第2判定手段と、
前記表セル及びスーパーセルそれぞれの前記表イメージにおける行及び列アドレスを判定する第3判定手段と、
前記第1識別手段で識別された表セルと、前記第2識別手段で識別されたスーパーセルと、前記第1及び第2判定手段で判定された可視及び不可視の格子線と、前記第3判定手段で判定された行及び列アドレスとに基づいて、前記表イメージのデータを保存する保存手段と、を有し、
前記第3判定手段は、
前記表イメージの反転テキスト領域を判別する反転テキスト判別手段と、
前記判別された反転テキスト領域を除く前記表イメージの領域に基づいて、前記表イメージの垂直ヒストグラムを計算する垂直ヒストグラム計算手段と、
前記計算された垂直ヒストグラムに基づいて前記表セルに列アドレスを割り当てる第1割り当て手段と、
前記判別された反転テキスト領域を除く前記表イメージの領域に基づいて、前記表イメージの水平ヒストグラムを計算する水平ヒストグラム計算手段と、
前記計算された水平ヒストグラムに基づいて前記表セルに行アドレスを割り当てる第2割り当て手段と、
前記第1及び第2割り当て手段で割り当てられた各表セルの行及び列アドレスに基づいて、前記スーパーセルに対して行及び列アドレスを割り当てる第3割り当て手段と、を含むことを特徴とする。
【0011】
前記態様によって本発明は、表イメージの内部特徴を実質的に復元するのに使用できる情報を求める。表イメージ全体を正確に表現するため、求めた情報を更に、ASCIIファイルの中に、又はASCIIファイルとともに記憶することができる。
【0013】
前記態様の結果、表セルを正確に識別し、これらをスプレッドシートの適当な行に入力することができる。
【0015】
以上の態様によって、表セルに含まれるデータを正確に抽出し、スプレッドシート・アプリケーションに出力することができる。更に、既存の行及び列に基づいて表にセルを簡単に追加することができる。
【0016】
この短い概要は、本発明の性質を短時間で理解できるように示したものである。本発明の好ましい実施形態の以下の詳細な説明を添付図面ととともに参照すれば、本発明の理解を更に完全なものとすることができよう。
【0017】
【発明の実施の形態】
図1は、本発明に基づくブロック選択ベースの表解析システムを実施する代表的なコンピュータ装置の外観を示す図である。
【0018】
図1には、コンピュータ装置1が示されている。コンピュータ装置1は、モノクロ又はカラーの表示モニタ2を備え、これを使用してコンピュータ装置1はユーザに対してイメージを表示する。コンピュータ装置1は更に、データ・ファイル及びアプリケーション・プログラム・ファイルを記憶するための固定ディスク・ドライブ3、テキスト・データを入力したり表示画面2上のオブジェクトを操作したりするためのキーボード5、及び表示画面2上のオブジェクトを指したり操作したりするためのマウスなどのポインティング・デバイス6を備える。
【0019】
コンピュータ・システム1は更に、フロッピー・ディスクに読取り及び書込みを行なうためのフロッピー・ディスク・ドライブ4を含む。表イメージを含む文書イメージ・ファイル及びコンピュータで実行可能な本発明の実施の形態を具現化する処理ステップ等は、固定ディスク3に記憶してもよいし、又はフロッピー・ディスク・ドライブ4に挿入されたフロッピー・ディスクに記憶してもよい。或は、文書イメージ・ファイル及び/又はコンピュータで実行可能な処理ステップをCD−ROMドライブ(図示せず)を介してアクセスしたCD−ROMから獲得してもよい。
【0020】
コンピュータ装置1は更に、ローカル・エリア・ネットワークとインタフェースするためのネットワーク・インタフェース10、及びファクシミリ・メッセージ及びその他のデータ・ファイルを送受するためのファクシミリ/モデム・インタフェース11を備える。文書イメージ・ファイル及びコンピュータで実行可能な本発明を具現化する処理ステップには、ネットワーク・インタフェース10を介してネットワーク上でアクセスされてもよい。更に、ファクシミリ/モデム・インタフェース11を使用して、イメージ及び/又はコンピュータで実行可能な処理ステップをワールド・ワイド・ウェブ(以後WWWと称する)から取り出すこともできる。
【0021】
固定ディスク3に記憶される、本実施の形態に基づくブロック選択アプリケーションを含むアプリケーションは、フロッピー・ディスク、CD−ROM、ネットワーク・ドライブ、WWWなどのコンピュータ可読媒体からダウンロードしてディスク3に記憶するのが最も一般的である。
【0022】
文書を走査してその文書のビットマップ・イメージ・データをコンピュータ装置1に供給するスキャナ7から文書イメージを入力してもよい。ビットマップ表イメージ・データを含むビットマップ・イメージ・データを固定ディスク3に記憶するときには圧縮フォーマットで記憶してもよいし非圧縮フォーマットで記憶してもよい。
【0023】
コンピュータ装置1によって処理された文書イメージを出力するためにプリンタ9が提供される。
【0024】
動作時、ウィンドウ機能オペレーティング・システムの制御下で、本発明の実施の形態に基づくブロック選択アプリケーションなどが記憶されたアプリケーション・プログラムは選択的に起動され、記憶データを処理及び操作する。オペレータの命令及び記憶されたアプリケーション・プログラムに基づいて、スクリーン2にイメージを表示するためのコマンド、及びプリンタ9を使用して表示されたイメージを印刷するためのコマンドが発行される。
【0025】
図2は、コンピュータ装置1の内部構造を示す詳細ブロック図である。図2に示すように、コンピュータ装置1は、プログラムされたマイクロプロセッサなどの、コンピュータ・バス21にインタフェースされた中央処理装置(CPU)20を含む。コンピュータ・バス21には更に、スキャナ・インタフェース22、プリンタ・インタフェース23、ネットワーク・インタフェース24、ファックス/モデム・インタフェース26、ディスプレイ・インタフェース27、キーボード・インタフェース28、及びマウス・インタフェース29がインタフェースされる。
【0026】
CPU20がメモリ域にアクセスできるように、ランダム・アクセス・メモリ(RAM)などのメイン・メモリ30が、コンピュータ・バス21にインタフェースされる。具体的には、ディスク3に記憶されているようなコンピュータで実行可能な処理ステップを実行するときに、CPU20はそれらのステップを、ディスク3又はその他の記憶媒体からメイン・メモリ30にロードし、メイン・メモリ30から、これらの処理ステップを実行する。
【0027】
リード・オンリー・メモリ(ROM)31は、ブートアップの際に使用する処理ステップなどのコンピュータが実行可能な処理ステップ、又は例えばキーボード5の動作用の基本入出力システム(BIOS)シーケンスを記憶するのに使用される。
【0028】
図3は、本発明の実施の形態に基づくブロック選択処理の方法を説明するフローチャートである。図3に示した処理ステップは、ディスク3などのコンピュータ可読媒体に記憶されたブロック選択アプリケーションに基づいてCPU20によって実行されることが好ましい。
【0029】
図3の処理ステップは、全体として、文書イメージを入力し、その文書イメージの中の接続した構成要素を検出し、テキスト接続構成要素と非テキスト接続構成要素とを分離し、非テキスト接続構成要素を分類し、非テキスト構成要素の縁に沿った白色領域を識別し、テキスト・ブロック及びテキスト行を作成し、入力イメージのスキューを検出し、入力イメージを後処理するのに使用される。
【0030】
図3に示す処理ステップは、表の中の反転テキスト領域、即ち、周囲を黒色画素で取り囲まれた白色画素によってテキストが構成されるテキスト領域を識別し、付属するテキスト接続構成要素を識別し、表セルのアドレス、ならびに表中の目に見える垂直及び/又は水平格子線によって境界された表領域の中にあって、少なくとも1つの表セルを含む領域であるスーパーセルのアドレスを作成、計算し、目に見えるセル境界の存在を調べ、本実施の形態に基づいて、表格子線の位置を決定するのにも使用されることに留意されたい。この点に関し、表中の格子線は、その表の中で識別されたそれぞれの行及び列を定義するものであり、目に見える格子線又は目に見えない格子線である。
【0031】
以下、詳しく説明する。図3のステップS301では、文書イメージのビットマップ画素データをコンピュータ・システム1に入力し、これをディスク3に記憶する。この画素データが2値画素データ、即ち、白黒のイメージ・データであることが好ましい。しかし、イメージ・データが、いくつかのグレースケール・レベルのうちの1つで画素が表されるハーフトーン・イメージ・データである場合、又は画素データが、画素のカラー・データを符号化したマルチビット・ワードによってそれぞれの画素が表されるカラー・イメージ・データである場合には、非2値画素データを2値画素データに2値化するために閾値処理を実行しなければならない。
【0032】
ステップS301の後にイメージの縮小を実施してもよいことに留意されたい。このようなイメージの縮小は後続の処理の速度を向上させるが、光学式文字認識などの特徴を集中的な処理に悪影響を及ぼすこともある。
【0033】
ステップS302では、入力した画素データを解析し、文書イメージの中の接続構成要素を検出する。接続構成要素とは、白色画素に完全に囲まれた一群の黒色画素である。検出した接続構成要素には、それぞれの接続構成要素についてその接続構成要素を境界する最も小さな長方形を定義する長方形化、即ち、「ブロック化」を実施する。
【0034】
ステップS304では、接続構成要素を、テキスト接続構成要素と非テキスト接続構成要素に大まかに分類する。この分類は、接続構成要素を境界する長方形のサイズに基づき、更に非テキスト接続構成要素がテキスト接続構成要素よりも通常は大きいことに基づいて実施される。
【0035】
ステップS305では、ステップS304で非テキスト接続構成要素として分類された接続構成要素を更に解析して、それらが、ライン、ジョイント・ライン、ピクチャ、ライン・アート、フレーム、表、不明(即ち前記以外)のいずれであるかを判定する。
【0036】
図4は、ステップS305に基づいて非テキスト接続構成要素を解析する方法を説明する流れ図である。
【0037】
図4に記載した非テキスト接続構成要素の分類は、全般的に基準閾値(しきい値)に基づく。基準閾値は数式化されており、解析する接続構成要素の大きさ、幅などに基づいて動的に計算される。ステップS401では非テキスト接続構成要素を解析して、それがハーフトーン(連続階調)ピクチャであるかどうかを判定する。そうである場合にはステップS402に進み、「ハーフトーン(連続階調)ピクチャ」副属性をその非テキスト接続構成要素に割り当てる。
【0038】
ステップS401で、非テキスト接続構成要素がハーフトーン・ピクチャでないと判定された場合にはステップS404に進み、その非テキスト接続構成要素がフレームであるかどうかを判定する。そうである場合にはステップS405に進み、「フレーム」副属性をその非テキスト接続構成要素に割り当てる。ステップS404でそうではないと判定された場合にはステップS406に進み、非テキスト接続構成要素が水平線又は垂直線であるかどうかを判定する。接続構成要素が水平線又は垂直線であると判定された場合にはステップS407に進む。ステップS407では、「水平線」又は「垂直線」副属性をこの非テキスト接続構成要素に割り当てる。
【0039】
ステップS409は、ステップS406で、非テキスト接続構成要素が水平線でも垂直線でもないと判定された場合に実行される。ステップS409では、非テキスト接続構成要素が表であるかどうかを判定する。簡単に言うと、非テキスト接続構成要素が表であるかどうかを判定するためには、接続構成要素の内部白色領域を4方向にトレースする。内部白色領域とは、黒色画素に完全に囲まれた白色画素の領域である。4つの内部白色領域が見つかり、かつこれらの白色領域が水平線及び垂直線によって閉じられているなど、これらの白色領域の配置が表に類似の格子形である場合には、ステップS410で、この非テキスト接続構成要素を表として指定する。
【0040】
表の内部のテキスト接続構成要素と非テキスト接続構成要素を識別し分類するために、ステップS410では更に、識別した表の内部をステップS302及びS304に基づいて再解析する。
【0041】
ステップS409で非テキスト接続構成要素が表ではないと判定された場合にはステップS412に進み、非テキスト接続構成要素が斜線であるかどうかを判定する。そうである場合にはステップS414で「斜線」副属性を非テキスト接続構成要素に割り当てる。
【0042】
ステップS412で、斜線でないと判定された場合にはステップS415に進み、非テキスト接続構成要素が、ライン・アート(line-art)・ピクチャ、又はジョイント・ラインであるかどうかを判定する。非テキスト接続構成要素がライン・アート・ピクチャでもジョイント・ラインでもない場合にはステップS416に進み、「不明」属性を、この接続構成要素に割り当てる。ライン・アート・ピクチャ又はジョイント・ラインである場合にはステップS417に進み、非テキスト接続構成要素がジョイント・ラインであるかどうかを判定する。
【0043】
非テキスト接続構成要素がジョイント・ラインでない場合にはステップS419で、この非テキスト接続構成要素をライン・アート・ピクチャに指定する。ステップS417で、非テキスト接続構成要素がジョイント・ライン・ピクチャであると判定された場合にはステップS420に進み、「ジョイント・ライン」副属性をこの構成要素に割り当てる。次いでステップS421に進む。
【0044】
ステップS402、S405、S407、S410、S414、S416、S419からもステップS421に進むことに留意されたい。このステップでは、分類すべき非テキスト接続構成要素が残っているかどうかを判定する。そうである場合にはステップS401に戻る。そうでなければ図3のステップS306に進む。
【0045】
ステップS306では、非テキスト接続構成要素の縁に沿った目に見えない線を識別する。ステップS306では例えば、目に見えない垂直線、即ち垂直の白色画素の領域は2つのハーフトーン・ピクチャ接続構成要素間に位置することがある。この目に見えない線をステップS308で使用して、これらのピクチャ接続構成要素の下に位置する複数のテキスト接続構成要素を一緒にすべきか、又は別個の列ブロックに入れるべきかを判定することができる。
【0046】
ステップS306からステップS307に進み、表領域の中の反転領域を識別する。反転領域は、周囲を黒色画素に囲まれた白色画素から構成されたテキストを含む領域である。本実施の形態に基づく後続の処理では、その他の表の特徴の識別を妨害しないように表領域の中の反転領域を無視する。反転領域の識別の詳細については図6及び7に関して後で説明する。
【0047】
ステップS307では更に、表領域の中の水平及び垂直格子線に付属する接続構成要素を識別する。付属する接続構成要素の識別及び抽出については概要を図8に関して後に説明する。こうして識別された付属構成要素は、本発明の実施の形態に基づく表中のその他の特徴の識別に使用される。
【0048】
続いてステップS308に進み、ステップS304で分類したテキスト接続構成要素からテキスト・ブロックを形成する。この点に関し、それぞれのテキスト接続構成要素の水平方向及び垂直方向に隣接したテキスト接続構成要素を、隣接したテキスト単位間の水平及び垂直間隔の統計解析に基づいてテキスト・ブロックにまとめる。次に、形成したテキスト・ブロックを解析してテキスト行を形成する。
【0049】
次にステップS309に進み、表として指定された非テキスト接続構成要素を解析するための本発明の実施の形態に基づく処理ステップを実行する。より詳細には、表の中の行及び列を識別し、行及び列アドレスを表中のそれぞれの表セルに割り当てる。行及び列アドレスの識別及び割当てについては図9ないし図14に関して後に詳細に説明する。
【0050】
ステップS309では更に、表の垂直及び水平格子線の位置を計算する。これらの格子線は、識別された行及び列を定義するものであり、目に見える格子線及び目に見えない格子線がある。格子線計算については図15及び16に関して後に説明する。
【0051】
ステップS309では更に、目に見える格子線(即ち、連続する目に見える画素により構成される線)によって境界され、少なくとも1つの表セルを含む表領域に基づいてスーパーセルを定義する。行及び列アドレスをスーパーセルに割り当て、それぞれのスーパーセルを取り囲む目に見える格子線の境界を識別する。スーパーセルの作成及び目に見える境界の識別については図17及び18に関して後に説明する。
【0052】
次にステップS310で、入力文書イメージのスキューを検出し、スキューの角度が予め定めた最大角度を超えた場合にはエラー・コードを出力して、文書ページのスキューが大きすぎてブロック選択処理を遂行することができないことをユーザに知らせる。
【0053】
スキューが許容範囲内である場合にはステップS311に進み、後処理を実行する。この後処理は、文書イメージのブロック表現をよりコンパクトで「クリーン」なものにするためのものであり、文字認識、データ圧縮などの後段の特定の処理に適合するように変更することができる。一般に後処理は、テキスト・ブロックをその他のテキスト又は非テキスト・ブロックと関連させることを含む。
【0054】
この後処理手順は、ステップS310で求めたページ・スキューによって決定すると有利である。例えば、ページのスキューがわずかである場合にはテキスト・ブロック間のギャップははっきりしている。従ってブロックは積極的に結合される。一方、スキューが大きいページでは境界する長方形がいくつかのテキスト領域にかかりやすく、そのために長方形は消極的に結合される。後処理が終わるとブロック選択は終了となる。
【0055】
図3の処理ステップを実行すると、文書イメージ中のデータの位置及び種類の詳細表現が得られる。その結果、図3の処理ステップを光学式文字認識システムとともに使用して、表の中のビットマップ・イメージ・データで表された文字を認識し、これらの文字をASCII形式に変換し、表の決定された行及び列アドレスに基づいて、これらのASCII文字を表計算プログラムに入力することができる。更に図3の処理によって、表格子線などの表の内部特徴を実質的に再現するのに必要な情報を得ることができる。
【0056】
図5は図3の流れ図のステップを、表の特徴の解析に特に注意を払ってより詳細に説明した流れ図である。この点に関し、ステップS501及びS502は、図3のステップS301、S302、S304、S305に対応する。具体的にはステップS501で文書イメージを入力し、ステップS502で、文書イメージの中の接続構成要素を検出しブロック化する。
【0057】
ステップS503では、ステップS304及びS305に関して先に述べたとおり、表及び表の中のテキスト・ブロックを識別する。次にステップS504で、後段のテキスト・ブロック形成に使用する表の縁に沿った目に見えない線を識別する。
【0058】
対象表の中の反転テキスト領域はステップS505で識別される。周囲を黒色画素に囲まれた白色画素から構成されたテキストを含む領域である反転領域は前述のとおり、本実施の形態に基づく後続の表処理中には無視される領域である。図6(a)に、表40の中にある反転領域42を示す。領域42の内部の斜線は黒色画素の領域を表し、領域42の中に語「TITLE」が形成されるように配置されている。図6(a)には更に、先のステップS409に関して説明した表40の識別の際に利用される白色領域が破線で示されている。
【0059】
反転領域を識別するためのフローは図7のステップS701から始まり、このステップでは、表中のそれぞれの画素行の中の白色境界対がまたぐ距離の合計を表す水平ヒストグラムを計算する。この点に関し、境界対とは、白色領域境界(図6(a)の破線)と特定の画素行との交点によって決定される座標位置である。図6(b)に、ステップS701から得られた表40に対応するヒストグラム44を示す。
【0060】
次いでステップS702に進む。ステップS702では、表40の大きさ及びヒストグラム44に反映されたデータを使用して表40の最上部から始めてそれぞれの画素行を解析し、表中の画素行の中の白色境界対間の距離の合計がその画素行がまたぐ合計距離の1/2よりも小さいかどうかを判定する。Nを閾値として、連続的に解析したN行の画素行について前述の条件が満たされた場合にはステップS704に進む。
【0061】
表40の場合、領域42中の行数はNよりも大きく、従ってフローはステップS704に進む。このような行が連続するN行がない場合には図5のステップS506に進む。
【0062】
ステップS704では、ステップS702で識別した行の中のトレースされた白色領域を識別する。これらの領域は、領域42の中に形成されたそれぞれの文字の内部に対応する。次にステップS706で、識別されたそれぞれの白色領域のサイズを閾値サイズと比較する。この閾値サイズは、テキスト文字又は小さなイメージ・ノイズが、より大きな特徴から区別されるように定義されることが好ましい。識別した白色領域のサイズが閾値サイズよりも小さい場合にはステップS707で、後続の表処理の際に、その白色領域を無視すべきであると判定される。その結果この白色領域は、対象表の中の白色領域を利用する後続の処理では考慮されない。次いでステップS709に進む。
【0063】
ステップS706で、識別した白色領域のサイズが閾値サイズに等しいか、又はこれより大きい場合には、その白色領域は反転テキストに対応するものではないと判定され、フローはステップS709に進む。
【0064】
ステップS709では、ステップS704で識別した全ての白色領域を閾値サイズと比較したかどうかを判定する。そうでない場合にはステップS706に戻り、前述のとおりのステップをたどる。そうである場合にはステップS710に進む。
【0065】
次にステップS710で、表40の最後の行を解析したかどうかを判定する。そうでない場合にはステップS702に戻る。表40の全ての行を解析した場合にはステップS506に進む。
【0066】
ステップS506では、表の中の格子線に付着した接続構成要素を識別して抽出する。
【0067】
この点に関し図8に、全ての側面を目に見える表格子線で囲まれた表50を示す。この表領域50の中には、目に見えるその他の表格子線があり、黒色画素に完全に囲まれたそれぞれの白色領域が破線で示されている。図8に示す通り、いくつかの目に見える格子線はギャップを含む。このようなギャップは、不完全な印刷、不完全な走査などに起因してしばしば生じる。これらのギャップは、付属した接続構成要素とも呼ぶ部分格子線51、52及び53を定義する。トレースされた白色領域54の点56と58が接近しているため接続構成要素52が抽出される。即ち、接続構成要素52は、表領域50の垂直及び水平格子線とは別個の接続構成要素として識別される。接続構成要素51及び53も同様に抽出される。抽出された付属する接続構成要素の使用については後に詳細に説明する。
【0068】
図5に戻る。ステップS507ではステップS308に関して説明したのと同様に、入力文書イメージの中のそれぞれの表の外部に位置する接続構成要素に基づいて、テキスト・ブロック及びテキスト行を形成する。同様に、ステップS509では、それぞれの表の内部に位置するテキスト接続構成要素に基づいてテキスト・ブロック及びテキスト行を形成する。ステップS507では、テキスト・ブロックを調べてテキスト・ブロックの向きが垂直なのか、又は水平なのかを判定し、この判定に基づいてテキスト行を形成するのが好ましい。一方、ステップS509では水平テキスト行のみを形成することが好ましい。
【0069】
表の中に形成されたテキスト・ブロックを以後、表セルと称する。この点に関しては前述のとおり、表ブロックの中のその他のテキスト接続構成要素と結合していないテキスト接続構成要素も本明細書では表セルと呼ぶ。次にステップS510では、表の列を計算し列アドレスを表セルに割り当てる。
【0070】
図9A及び図9Bは、ステップS510のプロセスを説明するための詳細フローチャートである。図9A及び図9Bのフローチャートでは、表列を識別するのに表の垂直ヒストグラムを利用し、適正な列識別を混乱させる可能性がある表題の領域を都合よく無視する。
【0071】
この点に関しステップS901では、対象表が5行以上のテキスト行を含むかどうかを判定する。そうである場合には最上位のテキスト行を表題行であるとみなし、列識別時にはこれを無視する。
【0072】
例えば、図10(a)に示す表60は、ステップS901で5行以上のテキスト行を含むと判定される。これに従ってステップS902に進む。ステップS902では、図10(b)の垂直ヒストグラム70のような垂直ヒストグラムを計算する。垂直ヒストグラム70を計算するときには前述のとおり、表題とみなす最上位のテキスト行61は無視する。ステップS901でそうではないと判定された場合には直接にステップS904に進み、対象表のテキスト行を一切無視せずに垂直ヒストグラムを計算する。
【0073】
図10(a)に記載した垂直ヒストグラムは、表60のそれぞれの画素列について、ステップS302及びS502に関して説明した表60の中のそれぞれの接続構成要素を境界する長方形(図示せず)がまたぐ垂直距離の合計を反映することに留意されたい。例えば、格子線64及び66などの水平及び垂直格子線は境界する長方形によってブロック化されず、従って垂直ヒストグラム70に反映されるデータには寄与しない。しかし、ステップS506で識別され抽出された接続構成要素は「ブロック化」され、従ってステップS904又はステップS902に基づいて計算されるヒストグラムに反映されることに留意されたい。例えば、付属する接続構成要素68はヒストグラム70の部分71に反映される。
【0074】
ステップS905では、計算したヒストグラムの黒色画素が少ないことを反映した部分の距離P_gap、P_gapの直後の、ヒストグラムの画素が比較的多いことを反映した部分W、及びWの直後の、ヒストグラムの画素が少ないことを反映した部分N_gapを、ヒストグラム70の左端の点を始点として計算する。例えば、P_gap、W及びN_gapは当初、ヒストグラム70の領域72、74及び75にそれぞれ対応する。次いで、それぞれのP_gap、W及びN_gapの位置及び大きさに基づいて列を割り当てる。
【0075】
ステップS906ないしS916(図9Bに示す)に従って表を左から右に解析する。この点に関し、ステップS906ないしS916では、現在のWに対応する表領域を現在の列に含めるべきか、又は現在のWを含む新規の列を定義すべきか、又は現在のWを無視して新規の列を定義すべきかを判定する。
【0076】
最初に、ステップS906で、Wが閾値よりも大きいかどうかを判定する。閾値は、小さなサイズのテキスト文字を反映したものであることが好ましい。Wが閾値よりも大きい場合にはステップS907に進み、P_gapが幅狭いかどうかを判定する。P_gapが幅広い場合にはステップS917に進み、Wを含む新規の列を定義する。このWとP_gapの構成を図11(a)に示す。
【0077】
ステップS907でP_gapが幅狭いと判定された場合にはステップS909に進み、現在の列の定義を延長してWを含める。この状況を図11(b)に示す。次いでステップS905に戻る。
【0078】
ステップS906で、Wが閾値に等しいか又はこれより小さいと判定された場合にはステップS910に進み、P_gapが幅広いかどうかを判定する。そうである場合にはステップS911に進み、Wが、表50の接続構成要素52のような切断された接続構成要素を反映したものであるかどうかを判定する。Wが、切断接続構成要素を反映したものではない場合にはステップS917に進み、Wを含む新規の列を定義する。図11(c)はこの状況を反映したものである。
【0079】
ステップS911で、Wが、図11(d)に示すような切断接続構成要素を反映したものであると判定された場合には、現在の列の右端の境界を、P_gapの左端のところで定義し、ステップS905に戻って、新規のP_gap、W及びN_gapを定義する。従って、ヒストグラムに反映されたこの切断接続構成要素は定義されたどの列にも含まれない。
【0080】
ステップS910に戻り、P_gapが幅狭いと判定された場合にはステップS912に進む。ステップS912ではN_gapが幅広いかどうかを判定する。そうでない場合にはステップS914に進み、現在の列が対象表の最初の列であるかどうかを判定する。そうである場合には先に説明したステップS917に進む。このような状況が図11(e)に反映されている。この状況では、現在の列がN_gapの始点で終わるように定義される。
【0081】
ステップS914で、現在の列が対象表の最初の列ではないと判定された場合にはステップS915に進み、現在の列を延長してWを含める。このような状況を図11(f)に示す。フローはステップS905に戻る。
【0082】
ステップS912で、N_gapが幅広いと判定された場合にはステップS916に進み、Wが、切断接続構成要素を反映したものであるかどうかを判定する。そうでない場合にはステップS915に進み、図11(g)に示すWを現在の列に含める。ステップS916でそうであると判定された場合には、現在の列の右端境界をP_gapの左端のところで定義し、ステップS905に戻って切断接続構成要素を無視する。この状況を図11(h)に示す。
【0083】
再び図9Aに戻り、ステップS917からステップS918に進む。この時点で、対象表を反映するヒストグラムの右端の部分に到達した場合にはステップS920に進む。そうでない場合にはステップS905に戻る。
【0084】
ステップS920に達したときには、対象表の中にいくつかの列が定義されている。これらの列に左から右に順番にアドレスを指定し、これらを、左右のX座標境界に基づいて定義する。この点に関し図12(a)及び図12(b)に、表76ならびに対応する列の定義A及びBを示す。図12(b)に示すように、表セル79があるために列Aは、2つの別個の列に分割しなければならない状況にある。ステップS920及びS921は、この状況に対処するためのものである。
【0085】
ステップS920では、検出された白色領域の左右の境界及び切断垂直格子線を調べて、定義された列境界の近くにこれらの特徴があるかどうかを判定する。そうである場合にはステップS922に進む。検出された白色境界又は切断格子線が列境界の近くにない場合にはステップS921に進み、白色境界又は切断格子線を囲む新規の列を定義する。これに応じて全ての列アドレスを更新する。
【0086】
図12(c)に、ステップS921を実施した後の表76の列定義を示す。 白色領域78の右境界は定義された列の境界とは離れているので、領域78の右境界に隣接して新規の列Bを定義する。これに応じて以前の列Bのアドレスは列Cに更新される。
【0087】
次にステップS922で、表セルがまたぐ列位置に対応する列アドレスをそれぞれの表セルに割り当てる。場合によっては、割り当てられた列アドレスが列アドレス範囲を含むことがある。例えば表セル77には列アドレスAが割り当てられるが、表セル79には列アドレスA〜Bが割り当てられる。次いでステップS922からステップS511に進み、表の行を計算して、表セルに行アドレスを割り当てる。
【0088】
図13は、表行を計算し、行アドレスを表セルに割り当てるためにステップS511で実行する処理ステップを説明する詳細フローチャートである。フローはステップS1301から始まり、このステップで、対象表の水平ヒストグラムを作成する。図14(a)(b)に、対象表80及びステップS1301に基づいて作成した水平ヒストグラム86を示す。水平ヒストグラム86は、表80のそれぞれの画素行について、表80の中のそれぞれの接続構成要素を境界する長方形(図示せず)がまたぐ水平距離を反映する。
【0089】
この点に関し、ヒストグラム86のピーク幅pw1は表セル81及び82を、ピーク幅pw2は表セル83を、ピーク幅pw3は表セル84をそれぞれ反映する。谷幅vw1は、ピーク幅pw1とピーク幅pw2の間の領域を指し、谷幅vw2は、ピーク幅pw2とピーク幅pw3の間の領域を指す。
【0090】
ステップS1302では、ヒストグラム86の最上位のピークを最初に調べる。具体的には、現在行の最初のピーク幅pwが第1の閾値よりも大きいかどうか、及び次の谷幅vwが第2の閾値よりも大きいかどうかを判定する。第1の閾値は最小文字サイズを示すことが好ましく、第2の閾値は最小行間隔を示すことが好ましい。両方の条件を満たしている場合にはステップS1304に進み、次に遭遇するピークに対応する新規の行を定義する。ステップS1302で条件の1つを満たしていない場合にはステップS1305に進み、現在行を延長して次に遭遇するピークを含める。いずれの場合にもフローはステップS1304及びステップS1305からステップS1306に進む。
【0091】
ステップS1306では、水平ヒストグラムのピークが他に存在するかどうかを判定する。そうである場合にはステップS1302に戻る。そうでなければステップS1307に進む。
【0092】
ステップS1307では、表80の中の水平な白色領域境界及び付属する水平格子線を識別する。先に説明したステップS920ないしステップS922と同様に、識別した白色境界又は格子線の近くに行境界がない場合には新規の行を定義し、これに応じて行アドレスを更新する。次いでステップS512に進む。
【0093】
ステップS512では、垂直格子線及び水平格子線の位置を計算する。図15は、ステップS512の処理ステップを詳細に説明するフローチャートである。このフローはステップS1501から始まり、このステップS1501で、現在列及び隣接する列がそれぞれ、対応するトレースした白色領域に囲まれているかどうかを判定する。そうである場合にはステップS1502に進む。ステップS1502では、対応する白色領域間の距離を求める。次にステップS1504で、ステップS1502で求めた距離が閾値距離に等しいか又はこれよりも大きいと判定された場合にはステップS1505に進み、垂直格子線の座標を計算する。ステップS1504で、前記距離が閾値距離よりも小さいと判定された場合にはステップS1506に進み、垂直格子線の座標を計算する。このときには、ステップS1505で使用する式とは異なる式に基づいて計算することが望ましい。
【0094】
ステップS1501で、隣接する列に対応する白色領域が存在しないと判定された場合にはステップS1510に進み、ステップS1505及びステップS1506で使用する式とは異なる式を使用して垂直格子線の座標を計算する。次いでステップS1511に進み、列が他に存在するかどうかを判定する。そうである場合にはステップS1501に戻る。そうでなければステップS1512に進む。
【0095】
ステップS1512では対象表の水平格子線を、ステップS1501ないしS1511で説明したのと実質的に同じステップを使用して計算する。ただしこれらは90゜回転されている。
【0096】
図16(a)(b)は、図15の流れ図を説明するための2つの対象表を示す図である。
【0097】
図16(a)を参照すると、表90は、X座標C1L及びC1Rを境界とする列C1、及びX座標C2L及びC2Rを境界とする列C2を含む。トレースされた白色領域91は列C1に対応し、境界b1を含み、トレースされた白色領域92は列C2に対応し、境界b2を含む。
【0098】
これに応じてステップS1501では、隣接する列C1及びC2に対応する白色領域がそれぞれ存在するかどうかを判定する。ステップS1502では、b1とb2の間の距離を求める。領域91及び92が、共通のX座標を共有する領域を含む場合、例えば傾斜した垂直線が領域91と領域92を分離している場合には、境界b1を、領域91の右端のX座標として定義し、境界b2を、領域92の左端のX座標として定義する。
【0099】
ステップS1504で、b1とb2の間の距離が大きいと判定された場合にはステップS1505に進む。好ましい本実施の形態では、ステップS1505で、列C1と列C2の間の垂直格子線の座標位置を、式min(max(T,C1R),C2L)で求める。ただし、この式でT=max(b1,b2)−1である。
【0100】
ステップS1504で、b1とb2の間の距離が小さいと判定された場合にはステップS1506に進み、min〔max((b1+b2)/2,C1R),C2L〕に存在する垂直格子線の座標を計算する。
【0101】
図16(b)に、列C3が、座標C3L及びC3Rによって境界され、列C4が、座標C4L及びC4Rによって境界された表95を示す。列C3は一方の側しか目に見える格子線で境界されていないので、列C3に対応する白色領域は存在しないことを理解されたい。従って、図15で説明した処理ステップを使用して、列C3及び列C4を隣接する列として調べると、ステップS1501の判定はノー(NO)となり、フローはステップS1510に進む。ステップS1510では、列C3及び列C4に対応する垂直格子線の位置を、式min(T,C4L)で求める。この式でT=max(C3R,b4)−1である。
【0102】
水平格子線に関してステップS1512を実行した後ステップS514に進み、スーパーセルを識別する。図17は、ステップS514に基づくスーパーセルの識別を説明するための詳細フローチャートである。この点に関してはステップS1701で、対象表の中の黒色画素によって境界されたそれぞれの白色領域に対応したスーパーセルを識別する。トレースされた白色領域に囲まれていない表セルが存在する場合には、ステップS1701で、その表セルと同じ位置及び大きさを有する「模造(artificial)」スーパーセルも形成する。次にステップS1702で、それぞれの模造スーパーセルを再フォーマットして、周囲の目に見える表格子線又は目に見えない表格子線の大きさに近づける。次いでステップS1704に進む。
【0103】
ステップS1704では、それぞれのスーパーセルの上下左右の境界を調べ、目に見える格子線がこれらの境界に隣接しているかどうかを判定する。ステップS1705に進み、ステップS510及びS511で計算した行及び列に基づいてスーパーセルに行アドレス及び列アドレスを割り当てる。ステップS1705からステップS515に進む。
【0104】
図18(a)(b)は、図17の流れ図を説明するための対象表を示す図である。この点に関して、表100は、表セル101、102、104及び105を含む。表セル101は白色領域に囲まれていない。これは表セル101が、黒色画素に完全に囲まれた領域の中に入っていないためである。しかし、表セル102、104及び105は白色領域106、107及び109に囲まれている。
【0105】
図17のフローチャートでは、ステップS1701で、表100の中のそれぞれの白色領域に対応するスーパーセルを最初に定義する。これに応じて、白色領域106、107及び109に対応するスーパーセルを定義する。これらのスーパーセル115、111及び112を図18(b)に示す。前述のとおり表セル101にはこれを取り囲む白色領域がないので、表セル101と同一の座標を有する模造スーパーセルを定義する。
【0106】
ステップS1702では、模造スーパーセルを以下のアルゴリズムに従って再フォーマットし、模造スーパーセルを取り囲んでいる目に見える表格子線又は目に見えない表格子線に近づける。
【0107】
上境界=min(上格子線(grid_line_top),テキスト・セル上端(text_cell_top))
下境界=max(下格子線(grid_line_bottom),テキスト・セル下端(text_cell_bottom));
左境界=min(左格子線(grid_line_left),テキスト・セル左端(text_cell_left))
右境界=max(右格子線(grid_line_right),テキスト・セル右端(text_cell_right))
この結果生じるスーパーセル114を図18(b)に示す。
【0108】
次にステップS1704で、それぞれのスーパーセルを調べ、スーパーセルの境界である目に見える格子線を識別する。例えば、スーパーセル114の右及び下、スーパーセル115の上、右、左及び下、スーパーセル112の上、右、左及び下、ならびに、スーパーセル111の上、右、左及び下の目に見える格子線を識別する。
【0109】
部分的に目に見える格子線が特定のスーパーセルの特定の側面の境界となっている場合には、ステップS1704で、その部分格子線が、「完全」境界の長さに対応する閾値長さよりも長いかどうかを判定することに留意されたい。そうである場合にはステップS1704で、その部分格子線が、特定のスーパーセルの特定の側面を完全に境界していると判定される。
【0110】
ステップS1704からステップS1705に進み、行アドレス及び列アドレスを図18(b)のそれぞれのスーパーセルに割り当てる。図18(b)のスーパーセルは、それらのそれぞれの表セルと同じ列位置及び行位置を有する。従ってスーパーセル111、112、114及び115はそれぞれ、表セル104、105、101及び102の行アドレス及び列アドレスを共有する。1つのスーパーセルがいくつかの行又は列にまたがる場合、そのスーパーセルのアドレスは、(1,2−4)などというように行及び/又は列アドレス範囲を含むことに留意されたい。次いでステップS515に進む。
【0111】
ステップS515では、適当であれば、行及び/又は列アドレス範囲を有する表セルを分割する。この点に関して、以上の処理ステップによって、複数の表セルとして更に分類するほうが適当ないくつかの行又は列にまたがる表セルが生じることがある。例として、図19(a)、図19(b)及び図19(c)を含む図19に、列アドレス範囲を有するいくつかの表セルを示す。同様に図20に、行アドレス範囲を有する表セルを示す。この点に関して図21A及び図21Bに、列アドレス範囲及び行アドレス範囲を有する表セルを分割するステップをそれぞれ記載する。
【0112】
列アドレス範囲を有する表セルを分割するフローはステップS2101から始まる。ステップS2101では、列アドレス範囲を有する表セルを識別する。次にステップS2102で、識別した表セルの垂直ヒストグラムを計算する。この垂直ヒストグラムは、識別した表セルの中のそれぞれの画素列について、その表セルの中のそれぞれの接続構成要素を境界する長方形(図示せず)がまたぐ垂直距離の合計を反映する。ステップS2104に進み、その表セルの隣接する列と列の間の空間に対応するヒストグラムの領域が黒色画素を反映しているかどうかを判定する。黒色画素を反映している場合にはステップS2105に進む。
【0113】
ステップS2105では、それらの列間の領域のヒストグラムが、閾値距離よりも大きな連続距離の間、非ゼロであるかどうかを判定する。そうである場合にはステップS2114に進み、対象表セルのアドレス範囲内に他に列が存在するかどうかを判定する。このような状況を図19(a)に示す。図中のlは、ヒストグラムの列rと列(r+1)の間の連続する非ゼロ部分を指す。他に列が存在する場合にはステップS2104に戻る。
【0114】
ステップS2114で他に列が存在しない場合には、ステップS2115で、対象表が、列アドレス範囲を有する表セルを他に含むかどうかを判定する。そうである場合にはステップS2102に戻る。そうでない場合には図21BのステップS2116に進む。
【0115】
図19(b)に、図21AのステップS2105で連続する非ゼロ部分mが閾値よりも小さいと判定される状況を示す。これに従ってステップS2106に進み、別個の非ゼロ部分が、図19(b)の列sと(s+1)の間にあるかどうかを判定する。そうでない場合には、表セル116を、どちらも部分mを含まない2つの新規の表セル、即ち列アドレスsを有する表セル及び列アドレス(s+1)を有する表セルとして再定義する。
【0116】
ステップS2106で、別個の非ゼロ部分が列sと列(s+1)の間にある場合にはステップS2114に進み、前述の処理を続ける。
【0117】
ステップS2104で、対象表セルの2つの列の間の領域が黒色画素を含まない場合にはステップS2110に進む。ステップS2110では、2つの列の間の領域を、それぞれの列の中の黒色画素に遭遇するまでこれらの2つの列の内部に延長する。図19(c)に示すように、表セル117の列tと列(t+1)の間の領域nは黒色画素を含まない。従ってステップS2110では、領域nを、表セル117の中の黒色画素に遭遇するまで水平方向に両側に延長する。その結果生じる領域をn’に示す。
【0118】
ステップS2111では、領域n’などの領域の長さが閾値よりも大きいかどうかを判定する。そうである場合には、ステップS2112で表セル117を2つの表セルに分割し、ステップS2114に進む。そうでない場合には直ちにステップS2114に進み、最終的には図21BのステップS2116に進む。
【0119】
図21Bの処理ステップは、行アドレス範囲を有する表セルを本実施の形態に基づいて分割するのに使用する。ステップS2116では、行アドレス範囲を有する対象表セルを取り出す。次にステップS2117で、行アドレス範囲の中の2つの行を調べ、これらの行と行との間の距離、及びこれらの行の中間点を求める。これらの2つの量は、図20のrow_dist及びmid_rowで表される。
【0120】
図20では、表セルが、その行アドレス範囲の中に行R1及び行R2を含む。行R1の上限は座標R1Uによって定義され、下限は座標R1Lによって定義される。同様に行R2の上限は座標R2Uによって定義され、下限は座標R2Lによって定義される。図20に示す通り、量mid_rowはR1LとR2Uの中間点を指す。また、量row_distはR1LとR2Uの間の距離を指す。
【0121】
次にステップS2119で、取り出した表セルが、mid_rowの両側に連続したテキスト行を含むかどうか、及びrow_distが閾値行サイズよりも大きいかどうかを判定する。そうである場合にはステップS2120に進み、対象表セルをmid_row座標のところで2つのセルに切り離す。これらの2つのセルのうちの一方は、その行アドレスに行R1を含み、もう一方はその行アドレスに行R2を含む。次いでステップS2121に進む。
【0122】
ステップS2119でそうではないと判定された場合もステップS2121に進み、対象表セルが他に行を含むかどうかを判定する。そうである場合にはステップS2117に戻る。そうでない場合にはステップS2122に進み、対象表の中に、行アドレス範囲を有する表セルが他にあるかどうかを判定する。そうである場合にはステップS2116に戻る。そうでなければステップS516に進み、ステップS510からステップS515までの間に生じた偽の行及び列を削除する。
【0123】
図22(a)(b)は、ステップS516の処理ステップを説明するための図である。例えば符号130は、図22(a)に示すように、列C5の右側の境界を指す。右境界130は垂直格子線132と隣接している。右列境界130と垂直格子線132の間に位置する列C6の中には接続構成要素が存在しないので、境界130を排除することによって列C6を削除する。これに従って格子線132が、列C5の右端境界として新しく定義される。
【0124】
図22(b)に、ステップS516で列位置が更新される第2の状況を示す。図22(b)に示すように、斜線134によって、左境界135と右境界136の間に列C9が定義されている。これに応じて境界135及び136を、列C8及び列C10を新たに拡張することによって生じるこれらの列の間の1本の境界(図示せず)で置き換えることによって列C9を削除する。ステップS516からステップS517に進む。
【0125】
ステップ517では、傾斜した表格子線に起因する誤ったアドレス割当てを減らすために、スーパーセルの行及び列アドレスを調整する。例として図23に、傾斜した表格子線によって誤った行及び列アドレスの割当てが生じた状況を示す。具体的には、傾斜した垂直格子線140が、目に見えない格子線141によってそれぞれ右境界及び左境界のところで定義された列u及び列(u+1)を横切っている。斜線140があるために、スーパーセル143ないし145は列アドレス範囲(u−u+1)を有する。これは、セル143ないし145の中に含まれる黒色画素が全て列(u+1)の中に存在するとしても同じである。
【0126】
スーパーセルの列アドレスを更新して左端の列を除外すべきかどうかを判定するために、ステップS517ではいくつかの基準を評価する。最初に、列(u+1)の中にある対象スーパーセルの左境界が列uの中に位置するかどうかを判定する。2番目に、左境界と格子線141の間の距離が閾値よりも短いかどうかを判定する。3番目に、このスーパーセルの中の接続構成要素が全て格子線141の右側にあるかどうかを判定する。4番目に、対象スーパーセルの行アドレスのところの列uの中に別のスーパーセルがあるかどうかを判定する。これらの4つの基準を満たす場合には、対象スーパーセルの定義から列uを削除し、対象スーパーセルの大きさを再定義する。
【0127】
図23の場合、スーパーセル143ないし145は前記基準を満たす。その結果生じるスーパーセル143ないし145の再定義を図24に示す。図24には、スーパーセルの列アドレス範囲から右端列を削除すべきかどうかを判定するのに使用する前記基準の修正バージョンに基づいてスーパーセル148及び149を再定義した結果も反映されている。
【0128】
この修正基準によれば、最初に、列uの中にある対象スーパーセルの右境界が列(u+1)の中に位置するかどうかを判定する。2番目には、右境界と格子線141の間の距離が閾値よりも短いかどうかを判定する。3番目には、このスーパーセルの中の接続構成要素が全て、格子線141の左側にあるかどうかを判定する。4番目には、対象スーパーセルの行アドレスのところの列(u+1)の中に別のスーパーセルがあるかどうかを判定する。これらの4つの基準を満たす場合には、対象スーパーセルの定義から列(u+1)を削除し、対象スーパーセルの大きさを再定義する。
【0129】
前記基準を、図23及び24の後方に傾斜した格子線140に対してだけではなく、前方に傾斜した格子線に対しても同様に適合させることができることを理解されたい。この点に関し、前記基準と同様の基準をステップS517で更に使用して、傾斜した水平線に起因するスーパーセルの行アドレスも調整する。
【0130】
ステップS517の後に、「スーパーセル・ホール(super-cell hole)」が存在する場合にダミーのスーパーセルを作成するか、又はスーパーセルを拡張するためのステップS519を実行する。図26(a)(b)は、「スーパーセル・ホール」が生じている状況を示す例である。図26(a)に示すように、表セル160の左側には目に見える格子線が存在しない。従って図17の方法に関して先に説明したとおり、その左及び下側が目に見えない格子線によって境界されたスーパーセルが作成される。白色領域163は黒色画素に囲まれており、従って白色領域163に対応するスーパーセル164がステップS1701で割り当てられている。対照的に領域165は、黒色画素に完全に囲まれた接続構成要素も白色領域も含まないので、領域165にスーパーセルは割り当てられていない。
【0131】
従って「スーパーセル・ホール」は、スーパーセル162の下部境界と水平格子線161の間、及び領域165に存在する。
【0132】
図25に示す流れ図は、図26(a)に示した状況に対処するためのものである。具体的には、フローはステップS2501から始まり、このステップで、スーパーセルのそれぞれの境界を対応する目に見える格子線まで延長する。次いでステップS2504で、スーパーセルのサイズ及び境界の情報を更新する。ステップS2505では、対象表の左、右、上部及び下部の縁を解析して領域165のような領域が存在するかどうかを判定する。そうである場合にはステップS2506で、このような領域を取り囲むダミーのスーパーセルを作成する。次いでステップS520に進む。領域165のような領域が存在しない場合にはステップS2505から直接にステップS520に進む。
【0133】
図25のステップを実行した後、スーパーセル162は図26(b)に示すように延長されている。図26(b)には、領域165に対応するダミーのスーパーセル167も示されている。
【0134】
図5に記載した処理に戻る。ステップS520は、「セル・ホール(cell hole)」が存在する場合にダミー・セルを作成するためのステップを含む。図27にセル・ホールを含む表を示す。具体的には、表170はスーパーセル172を含む。スーパーセル172の中には表セル174、175及び176がある。表セル174ないし176の行及び列アドレスならびにスーパーセル172の大きさに基づくと、破線に示す位置177に表セルが欠落していることが判る。この位置をセル・ホールと称する。これに応じてステップS520で位置177にセルを定義する。
【0135】
ステップS520で定義されたセルは当然ながら接続構成要素を含まない。しかしこのようなセルは、表の特徴を定義し迅速に再現するのに有用である。更に、このようなセルがあることによって、表170を表すファイルの位置177にデータを簡単に追加することができるようになる。これはこのファイルが、位置177のところに予め定義されたセルを含むためである。
【0136】
図28(a)(b)は、ステップS521に基づく目に見える表セル境界を有する表の例である。具体的には図28(a)に、表セル181ないし186を含む表180が示されている。更に、表セル181及び182を含むスーパーセル187、及び表セル183ないし186を含むスーパーセル188も示されている。
【0137】
ステップS521ではそれぞれの表セルを調べ、その上、下、左、又は右が目に見える格子線によって境界されているかどうかを判定する。この点に関し、表セル181はその上及び右側、表セル182はその右及び下側、表セル183はその上及び左側、表セル184はその左及び下側、表セル185はその下及び右側、表セル186はその上及び右側がそれぞれ境界されている。判定した情報を、表セルの種類、表セルの行及び列アドレス、ならびに表セルの位置及びサイズの定義とともに記憶することができる。
【0138】
図28(b)は、表セルを取り囲む目に見える境界に関するデータの記憶を説明するための例である。具体的には図28(b)に、表180のそれぞれの表セルを表すマトリックスが示されている。図28(a)に対応するこのマトリックスに示すように、図28(b)の円は、目に見えない表セル境界を示し、ダッシュ“−”、“|”は目に見える表セル境界を示す。図28(b)に示したようなマトリックスに参照することによって、本実施の形態に基づいて解析した表の内部格子線を迅速に再現することができる。
【0139】
ステップS521からS522に進み、図3のステップS310及びS311に関して先に説明したスキュー検出及び後処理を実行する。
【0140】
図5のフローチャートよって判明した情報は、対象表を表す階層木構造中に記憶されることが好ましいことに留意されたい。好ましい実施の形態では、スーパーセルの行及び列アドレス、スーパーセルの座標、スーパーセルに含まれる表セル、及びスーパーセルの目に見える境界の存在についての情報を含むスーパーセルに関するデータを、図29(a)のノード200などの、その表ブロックを表すノードに記憶する。ノード200には、表座標、列及び行範囲、目に見える垂直及び水平格子線の位置、ならびに目に見えない垂直及び水平格子線の位置も記憶される。
【0141】
ノード200から下って表セル・ノード202ないし204がある。これらの表セル・ノードは、表セル座標、表セルの行及び列アドレス、目に見える表セル境界の存在を表すデータを含み、周囲のスーパーセルは、対象表セルを表すノードに記憶される。
【0142】
図29(b)に、図29(a)の階層木の代替表現を示す。図29(b)の階層木では、スーパーセル・ノード205及び206が表ノード200から別個に定義されており、これらの下には、対応するスーパーセルに含まれる表セルを表すノードがある。図29(b)の木構造では、スーパーセルの行及び列アドレス、スーパーセルの座標、スーパーセルに含まれる表セル、及びスーパーセルの目に見える境界の存在についての情報を含む、スーパーセル・フレームに関するデータを含むのはノード200ではなくスーパーセル・ノード205及び206であることに留意されたい。
【0143】
本発明の実施の形態を、現時点で好ましい実施形態であると考えられるものに関して説明してきたが、本発明は、以上に記載したものに限定されるものでないことを理解されたい。本発明は、添付の請求の範囲の趣旨及び範囲に含まれるさまざまな修正及び等価の構成をカバーするものである。
【0144】
【発明の効果】
以上説明したように本発明によれば、表イメージを含む画像データから、その表を定義する行、列、表格子線などの特徴を正確に取り出すことができる。
【0145】
また本発明によれば、表セルに含まれるデータを正確に抽出し、スプレッドシート・アプリケーションに出力することができる。
【0146】
また更に本発明によれば、既存の行及び列に基づいて表にセルを簡単に追加することができるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るコンピュータ装置を示す外観図である。
【図2】本実施の形態に係るコンピュータの内部構成を示すブロック図である。
【図3】本実施の形態に係るブロック選択処理を説明するフローチャートである。
【図4】本実施の形態に係る非テキスト接続構成要素の分類を説明するフローチャートである。
【図5】表イメージのブロック選択処理を特に対象としたフローチャートである。
【図6】反転領域を有する表と、そのヒストグラムを示す図である。
【図7】本実施の形態に係る反転表領域の処理を説明するフローチャートである。
【図8】付属する接続構成要素の抽出を説明する表の部分を示す図である。
【図9A】本実施の形態に係る表列計算を説明するフローチャートである。
【図9B】本実施の形態に係る表列計算を説明するフローチャートである。
【図10】本実施の形態の表列計算に使用する垂直ヒストグラムを説明する図である。
【図11】本実施の形態に係る表列計算の際に考えられるヒストグラム構成を示す図である。
【図12】本実施の形態に係る表列計算を説明する図である。
【図13】本実施の形態に係る表行計算を説明するフローチャートである。
【図14】本実施の形態に係る表行計算を説明する図である。
【図15】本実施の形態に基づいて垂直及び水平格子線の位置決めをする方法を説明するフローチャートである。
【図16】本実施の形態に係る垂直格子線計算を説明する図である。
【図17】本実施の形態に係るスーパーセルの作成を説明するフローチャートである。
【図18】本実施の形態に係るスーパーセルの作成を説明する図である。
【図19】本実施の形態に係る列分割の際に考えられる垂直ヒストグラム構成を説明する図である。
【図20】本実施の形態に係る行分割を説明する表の部分を説明する図である。
【図21A】本実施の形態に係る表セルの列分割を説明するフローチャートである。
【図21B】本実施の形態に係る表セルの行分割を説明するフローチャートである。
【図22】本実施の形態に係る列調整を説明する図である。
【図23】傾斜格子線に基づく列アドレス調整を説明する表の部分を示す図である。
【図24】図23の表の部分に、本実施の形態に係る列アドレス調整を実施したものを示す図である。
【図25】本実施の形態に係るダミー・スーパーセルの作成を説明するフローチャートである。
【図26】本実施の形態に係るスーパーセル・ホール補償を説明する図である。
【図27】本実施の形態に係るダミー・セルを示す図である。
【図28】表セル、スーパーセル及び目に見える格子線の関係を示す図である。
【図29】表イメージを表すデータを記憶する階層木構造を示す図である。

Claims (6)

  1. 表イメージを解析する画像処理方法であって、
    第1識別手段が、表イメージに含まれる複数のテキストブロックをそれぞれ表セルとして識別する第1識別ステップと、
    第2識別手段が、可視の格子線と前記表イメージの縁に沿った不可視の格子線との少なくともいずれかの格子線に囲まれた複数のスーパーセルを識別する第2識別ステップと、
    第1判定手段が、前記表セルそれぞれの境界となる各垂直格子線と水平格子線とが、可視であるか不可視であるか判定する第1判定ステップと、
    第2判定手段が、前記複数のスーパーセルのそれぞれの境界となる各垂直格子線と水平格子線とが、可視であるか不可視であるか判定する第2判定ステップと、
    第3判定手段が、前記表セル及びスーパーセルそれぞれの前記表イメージにおける行及び列アドレスを判定する第3判定ステップと、
    保存手段が、前記第1識別ステップで識別された表セルと、前記第2識別ステップで識別されたスーパーセルと、前記第1及び第2判定ステップで判定された可視及び不可視の格子線と、前記第3判定ステップで判定された行及び列アドレスとに基づいて、前記表イメージのデータを保存する保存ステップと、を有し、
    前記第3判定ステップは、
    反転テキスト判別手段が、前記表イメージの反転テキスト領域を判別する反転テキスト判別ステップと、
    垂直ヒストグラム計算手段が、前記判別された反転テキスト領域を除く前記表イメージの領域に基づいて、前記表イメージの垂直ヒストグラムを計算する垂直ヒストグラム計算ステップと、
    第1割り当て手段が、前記計算された垂直ヒストグラムに基づいて前記表セルに列アドレスを割り当てる第1割り当てステップと、
    水平ヒストグラム計算手段が、前記判別された反転テキスト領域を除く前記表イメージの領域に基づいて、前記表イメージの水平ヒストグラムを計算する水平ヒストグラム計算ステップと、
    第2割り当て手段が、前記計算された水平ヒストグラムに基づいて前記表セルに行アドレスを割り当てる第2割り当てステップと、
    第3割り当て手段が、前記第1及び第2割り当てステップで割り当てられた各表セルの行及び列アドレスに基づいて、前記スーパーセルに対して行及び列アドレスを割り当てる第3割り当てステップと、を含むことを特徴とする画像処理方法。
  2. 前記保存ステップで保存される前記表イメージのデータは、階層木構造のデータであることを特徴とする請求項1に記載の画像処理方法。
  3. 前記反転テキスト判別ステップでは、前記垂直及び水平ヒストグラムに基づいて白色領域が所定の閾値より小さいか否か判別し、前記白色領域が前記閾値より小さいと判定した領域を反転テキスト領域として判別することを特徴とする請求項に記載の画像処理方法。
  4. 前記表イメージに含まれる複数のテキストブロックに基づいて識別された表セルの行及び列アドレスと、前記可視の格子線と前記表イメージの縁に沿った不可視の格子線とに基づいて識別されたスーパーセルの大きさとに基づいて、欠落している表セルを判別し、当該欠落していると判別された位置に新たに表セルを作成する作成ステップを、更に含むことを特徴とする請求項1に記載の画像処理方法。
  5. 表イメージを解析する画像処理装置であって、
    表イメージに含まれる複数のテキストブロックをそれぞれ表セルとして識別する第1識別手段と、
    可視の格子線と前記表イメージの縁に沿った不可視の格子線の少なくともいずれかの格子線に囲まれた複数のスーパーセルを識別する第2識別手段と、
    前記表セルそれぞれの境界となる各垂直格子線と水平格子線とが、可視であるか不可視であるか判定する第1判定手段と、
    前記複数のスーパーセルのそれぞれの境界となる各垂直格子線と水平格子線とが、可視であるか不可視であるか判定する第2判定手段と、
    前記表セル及びスーパーセルそれぞれの前記表イメージにおける行及び列アドレスを判定する第3判定手段と、
    前記第1識別手段で識別された表セルと、前記第2識別手段で識別されたスーパーセルと、前記第1及び第2判定手段で判定された可視及び不可視の格子線と、前記第3判定手段で判定された行及び列アドレスとに基づいて、前記表イメージのデータを保存する保存手段と、を有し、
    前記第3判定手段は、
    前記表イメージの反転テキスト領域を判別する反転テキスト判別手段と、
    前記判別された反転テキスト領域を除く前記表イメージの領域に基づいて、前記表イメージの垂直ヒストグラムを計算する垂直ヒストグラム計算手段と、
    前記計算された垂直ヒストグラムに基づいて前記表セルに列アドレスを割り当てる第1割り当て手段と、
    前記判別された反転テキスト領域を除く前記表イメージの領域に基づいて、前記表イメージの水平ヒストグラムを計算する水平ヒストグラム計算手段と、
    前記計算された水平ヒストグラムに基づいて前記表セルに行アドレスを割り当てる第2割り当て手段と、
    前記第1及び第2割り当て手段で割り当てられた各表セルの行及び列アドレスに基づいて、前記スーパーセルに対して行及び列アドレスを割り当てる第3割り当て手段と、を含むことを特徴とする画像処理装置。
  6. コンピュータで実行可能な処理ステップを記憶したコンピュータ可読媒体であって、
    前記処理ステップは、
    第1識別手段が、表イメージに含まれる複数のテキストブロックをそれぞれ表セルとして識別する第1識別ステップと、
    第2識別手段が、可視の格子線と前記表イメージの縁に沿った不可視の格子線との少なくともいずれかの格子線に囲まれた複数のスーパーセルを識別する第2識別ステップと、
    第1判定手段が、前記表セルそれぞれの境界となる各垂直格子線と水平格子線とが、可視であるか不可視であるか判定する第1判定ステップと、
    第2判定手段が、前記複数のスーパーセルのそれぞれの境界となる各垂直格子線と水平格子線とが、可視であるか不可視であるか判定する第2判定ステップと、
    第3判定手段が、前記表セル及びスーパーセルそれぞれの前記表イメージにおける行及び列アドレスを判定する第3判定ステップと、
    保存手段が、前記第1識別ステップで識別された表セルと、前記第2識別ステップで識別されたスーパーセルと、前記第1及び第2判定ステップで判定された可視及び不可視の格子線と、前記第3判定ステップで判定された行及び列アドレスとに基づいて、前記表イメージのデータを保存する保存ステップと、を有し、
    前記第3判定ステップは、
    反転テキスト判別手段が、前記表イメージの反転テキスト領域を判別する反転テキスト判別ステップと、
    垂直ヒストグラム計算手段が、前記判別された反転テキスト領域を除く前記表イメージの領域に基づいて、前記表イメージの垂直ヒストグラムを計算する垂直ヒストグラム計算ステップと、
    第1割り当て手段が、前記計算された垂直ヒストグラムに基づいて前記表セルに列ア ドレスを割り当てる第1割り当てステップと、
    水平ヒストグラム計算手段が、前記判別された反転テキスト領域を除く前記表イメージの領域に基づいて、前記表イメージの水平ヒストグラムを計算する水平ヒストグラム計算ステップと、
    第2割り当て手段が、前記計算された水平ヒストグラムに基づいて前記表セルに行アドレスを割り当てる第2割り当てステップと、
    第3割り当て手段が、前記第1及び第2割り当てステップで割り当てられた各表セルの行及び列アドレスに基づいて、前記スーパーセルに対して行及び列アドレスを割り当てる第3割り当てステップの各ステップを含むことを特徴とするコンピュータ可読媒体。
JP00023999A 1998-01-05 1999-01-04 画像処理方法及び装置 Expired - Fee Related JP4251586B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/002,684 US6173073B1 (en) 1998-01-05 1998-01-05 System for analyzing table images
US09/002684 1998-01-05

Publications (2)

Publication Number Publication Date
JPH11259655A JPH11259655A (ja) 1999-09-24
JP4251586B2 true JP4251586B2 (ja) 2009-04-08

Family

ID=21701969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00023999A Expired - Fee Related JP4251586B2 (ja) 1998-01-05 1999-01-04 画像処理方法及び装置

Country Status (5)

Country Link
US (1) US6173073B1 (ja)
EP (1) EP0927950B1 (ja)
JP (1) JP4251586B2 (ja)
CN (1) CN1143239C (ja)
DE (1) DE69825856D1 (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7099507B2 (en) * 1998-11-05 2006-08-29 Ricoh Company, Ltd Method and system for extracting title from document image
US6865720B1 (en) * 1999-03-23 2005-03-08 Canon Kabushiki Kaisha Apparatus and method for dividing document including table
US6757870B1 (en) * 2000-03-22 2004-06-29 Hewlett-Packard Development Company, L.P. Automatic table detection method and system
JP2002032770A (ja) * 2000-06-23 2002-01-31 Internatl Business Mach Corp <Ibm> 文書処理方法、文書処理システムおよび媒体
US6778700B2 (en) * 2001-03-14 2004-08-17 Electronics For Imaging, Inc. Method and apparatus for text detection
CA2391692C (en) 2002-07-15 2006-07-04 Allan Williams Computer database with adaptive storage space architecture
US20040066538A1 (en) * 2002-10-04 2004-04-08 Rozzi William A. Conversion of halftone bitmaps to continuous tone representations
US8095871B2 (en) * 2004-05-06 2012-01-10 Siemens Corporation System and method for GUI supported specifications for automating form field extraction with database mapping
US7668404B2 (en) * 2004-06-30 2010-02-23 Lexmark International, Inc. Method and system of deskewing an image using monochrome conversion to separate foreground from background
US7707488B2 (en) * 2006-02-09 2010-04-27 Microsoft Corporation Analyzing lines to detect tables in documents
JP4135752B2 (ja) * 2006-06-12 2008-08-20 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、画像処理方法及び画像処理プログラム
JP4665933B2 (ja) * 2006-07-04 2011-04-06 セイコーエプソン株式会社 文書編集支援装置、プログラムおよび記憶媒体
US7801358B2 (en) * 2006-11-03 2010-09-21 Google Inc. Methods and systems for analyzing data in media material having layout
WO2009001462A1 (ja) * 2007-06-28 2008-12-31 Fujitsu Limited スプレッドシート生成プログラム、該プログラムを記録した記録媒体、スプレッドシート生成装置、およびスプレッドシート生成方法
US8155442B2 (en) * 2008-02-04 2012-04-10 The Neat Company, Inc. Method and apparatus for modifying the histogram of an image
CN101551859B (zh) * 2008-03-31 2012-01-04 夏普株式会社 图像辨别装置及图像检索装置
US8144986B2 (en) * 2008-09-05 2012-03-27 The Neat Company, Inc. Method and apparatus for binarization threshold calculation
US8719701B2 (en) * 2009-01-02 2014-05-06 Apple Inc. Identification of guides and gutters of a document
US8214733B2 (en) * 2010-04-28 2012-07-03 Lexmark International, Inc. Automatic forms processing systems and methods
US8261180B2 (en) * 2009-04-28 2012-09-04 Lexmark International, Inc. Automatic forms processing systems and methods
EP2460118B1 (en) * 2009-07-30 2013-05-29 OCE-Technologies B.V. Automatic table location in documents
US20110032266A1 (en) * 2009-08-07 2011-02-10 Delphi Technologies, Inc. Glare detection and mitigation method for a photo-sensitive display device
CN101866335B (zh) * 2010-06-14 2012-12-12 深圳市万兴软件有限公司 一种文档转换中的表格处理方法及装置
CN101984426B (zh) * 2010-10-21 2013-04-10 优视科技有限公司 用于对网页图片进行字符切分的方法及装置
US8380753B2 (en) 2011-01-18 2013-02-19 Apple Inc. Reconstruction of lists in a document
US8543911B2 (en) 2011-01-18 2013-09-24 Apple Inc. Ordering document content based on reading flow
US8731296B2 (en) * 2011-04-21 2014-05-20 Seiko Epson Corporation Contact text detection in scanned images
JP5952428B2 (ja) 2012-01-23 2016-07-13 マイクロソフト コーポレーション ボーダレステーブル検出エンジン
EP2807604A1 (en) 2012-01-23 2014-12-03 Microsoft Corporation Vector graphics classification engine
CN103377177B (zh) * 2012-04-27 2016-03-30 北大方正集团有限公司 一种数字版式文件中识别表格的方法及装置
US9953008B2 (en) 2013-01-18 2018-04-24 Microsoft Technology Licensing, Llc Grouping fixed format document elements to preserve graphical data semantics after reflow by manipulating a bounding box vertically and horizontally
US9047528B1 (en) * 2013-02-19 2015-06-02 Amazon Technologies, Inc. Identifying characters in grid-based text
US10076751B2 (en) 2013-12-30 2018-09-18 General Electric Company Systems and methods for reagent storage
US9399216B2 (en) 2013-12-30 2016-07-26 General Electric Company Fluid transport in microfluidic applications with sensors for detecting fluid presence and pressure
JP6435636B2 (ja) * 2014-05-15 2018-12-12 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
CN104050487B (zh) * 2014-06-06 2017-06-16 华东师范大学 一种基于布局信息分析的邮件图像方向辨别方法
US9235757B1 (en) * 2014-07-24 2016-01-12 Amazon Technologies, Inc. Fast text detection
CN105426834B (zh) * 2015-11-17 2019-02-22 中国传媒大学 一种基于投影特征与结构特征进行表格图像检测的方法
CN106446881B (zh) * 2016-07-29 2019-05-21 北京交通大学 从医疗化验单图像中提取化验结果信息的方法
CN106156761B (zh) * 2016-08-10 2020-01-10 北京交通大学 面向移动终端拍摄的图像表格检测与识别方法
US10242257B2 (en) * 2017-05-18 2019-03-26 Wipro Limited Methods and devices for extracting text from documents
US10410386B2 (en) * 2017-09-15 2019-09-10 Konica Minolta Laboratory U.S.A., Inc. Table cell validation
US11650970B2 (en) 2018-03-09 2023-05-16 International Business Machines Corporation Extracting structure and semantics from tabular data
CN108470021B (zh) * 2018-03-26 2022-06-03 阿博茨德(北京)科技有限公司 Pdf文档中表格的定位方法及装置
US11200413B2 (en) 2018-07-31 2021-12-14 International Business Machines Corporation Table recognition in portable document format documents
US12100233B2 (en) * 2019-05-08 2024-09-24 Vrije Universiteit Brussel Computer implemented method for segmenting a binarized document
US11062133B2 (en) * 2019-06-24 2021-07-13 International Business Machines Corporation Data structure generation for tabular information in scanned images
CN114357958A (zh) * 2020-09-30 2022-04-15 中移(苏州)软件技术有限公司 一种表格提取方法、装置、设备及存储介质
US20220335240A1 (en) * 2021-04-15 2022-10-20 Microsoft Technology Licensing, Llc Inferring Structure Information from Table Images
US11829701B1 (en) * 2022-06-30 2023-11-28 Accenture Global Solutions Limited Heuristics-based processing of electronic document contents

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185813A (en) 1988-01-19 1993-02-09 Kabushiki Kaisha Toshiba Document image processing apparatus
US5131053A (en) 1988-08-10 1992-07-14 Caere Corporation Optical character recognition method and apparatus
US5101448A (en) 1988-08-24 1992-03-31 Hitachi, Ltd. Method and apparatus for processing a document by utilizing an image
US5129012A (en) 1989-03-25 1992-07-07 Sony Corporation Detecting line segments and predetermined patterns in an optically scanned document
JP2812982B2 (ja) * 1989-04-05 1998-10-22 株式会社リコー 表認識方法
JP2940936B2 (ja) 1989-06-06 1999-08-25 株式会社リコー 表領域識別方法
US5448692A (en) * 1991-03-27 1995-09-05 Ricoh Company, Ltd. Digital image processing device involving processing of areas of image, based on respective contour line traces
JPH05250357A (ja) 1992-03-05 1993-09-28 Ricoh Co Ltd 画像読取修正装置および修正画像形成装置
US5335290A (en) 1992-04-06 1994-08-02 Ricoh Corporation Segmentation of text, picture and lines of a document image
US5680479A (en) 1992-04-24 1997-10-21 Canon Kabushiki Kaisha Method and apparatus for character recognition
US5594817A (en) * 1992-10-19 1997-01-14 Fast; Bruce B. OCR image pre-processor for detecting and reducing skew of the image of textual matter of a scanned document
JP2789971B2 (ja) * 1992-10-27 1998-08-27 富士ゼロックス株式会社 表認識装置
US5485566A (en) 1993-10-29 1996-01-16 Xerox Corporation Method of finding columns in tabular documents
US5588072A (en) 1993-12-22 1996-12-24 Canon Kabushiki Kaisha Method and apparatus for selecting blocks of image data from image data having both horizontally- and vertically-oriented blocks
US5689342A (en) 1994-11-17 1997-11-18 Canon Kabushiki Kaisha Image processing method and apparatus which orders text areas which have been extracted from an image
US5661818A (en) 1995-01-27 1997-08-26 Eastman Kodak Company Method and system for detecting grids in a digital image
US5848186A (en) * 1995-08-11 1998-12-08 Canon Kabushiki Kaisha Feature extraction system for identifying text within a table image

Also Published As

Publication number Publication date
CN1143239C (zh) 2004-03-24
CN1237745A (zh) 1999-12-08
JPH11259655A (ja) 1999-09-24
US6173073B1 (en) 2001-01-09
EP0927950B1 (en) 2004-08-25
EP0927950A3 (en) 2001-10-17
DE69825856D1 (de) 2004-09-30
EP0927950A2 (en) 1999-07-07

Similar Documents

Publication Publication Date Title
JP4251586B2 (ja) 画像処理方法及び装置
US6512848B2 (en) Page analysis system
JP4577421B2 (ja) 画像処理装置及び画像処理プログラム
US7783108B2 (en) Document management method and apparatus
JP4655335B2 (ja) 画像認識装置、画像認識方法および画像認識プログラムを記録したコンピュータ読取可能な記録媒体
JP2010020468A (ja) 画像処理装置、画像処理方法、そのプログラムおよび記憶媒体
US20110044539A1 (en) Information processing device, computer readable medium storing information processing program, and information processing method
US20050231766A1 (en) Image forming apparatus, image forming method, program therefor, and storage medium
JP4785655B2 (ja) 文書処理装置及び文書処理方法
JPH09171557A (ja) イメージ処理方法及び装置
JP2000200350A (ja) 情報処理方法及び装置
JP4408495B2 (ja) 画像処理方法及び画像処理装置
JP2006221569A (ja) 文書処理システム、文書処理方法、プログラムおよび記憶媒体
JP2008282149A (ja) 画像処理装置、画像処理方法、画像処理プログラム
US20100100811A1 (en) Information processing apparatus and layout processing method
JP5159588B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム
JP2002232679A (ja) 画像処理方法及び装置及びコンピュータプログラム及び記憶媒体
JP4040905B2 (ja) 縮小画像表示装置、方法、プログラムおよびプログラムを記録した記録媒体
JP7243981B2 (ja) 紙面領域分類装置及びそのプログラム
JP2002175532A (ja) 画像処理装置、画像処理方法および画像処理プログラムを記録した記憶媒体
US8059138B2 (en) Image processing and arranging system, image processing and arranging method, and computer readable medium for image processing and arranging
JP2019195117A (ja) 情報処理装置、情報処理方法、及びプログラム
JP4329370B2 (ja) 画像データ分類装置及びプログラム
JP4587167B2 (ja) 画像処理装置及び画像処理方法
JP2002049890A (ja) 画像認識装置、画像認識方法および画像認識プログラムを記録したコンピュータ読取可能な記録媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051228

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051228

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20051228

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20051228

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080723

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081008

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081014

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081215

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: 20090116

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: 20090119

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: 20120130

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130130

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20140130

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees