JP2004086436A - 画像処理装置および画像処理方法、プログラムおよび記憶媒体 - Google Patents
画像処理装置および画像処理方法、プログラムおよび記憶媒体 Download PDFInfo
- Publication number
- JP2004086436A JP2004086436A JP2002244991A JP2002244991A JP2004086436A JP 2004086436 A JP2004086436 A JP 2004086436A JP 2002244991 A JP2002244991 A JP 2002244991A JP 2002244991 A JP2002244991 A JP 2002244991A JP 2004086436 A JP2004086436 A JP 2004086436A
- Authority
- JP
- Japan
- Prior art keywords
- ruled line
- line information
- partial
- image processing
- area
- 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.)
- Granted
Links
Images
Landscapes
- Image Analysis (AREA)
- Character Input (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
【解決手段】文書画像から表領域を抽出し、抽出された表領域内部の白画素塊の境界近傍において2方向のエッジを求め、該2方向のエッジそれぞれから求めたエッジヒストグラムに基づいて、部分罫線情報を取得し、前記取得した部分罫線情報に基づいて、表領域の罫線情報を取得する。更に、表罫線の角が曲線である場合は、その曲線の曲率半径を求める。
【選択図】 図3
Description
【発明が属する技術分野】
本発明は画像処理装置および画像処理方法、プログラムおよび記憶媒体に関するものである。
【0002】
【従来の技術】
近年、情報の電子化が進み、紙文書と電子化文書を相互に変換する需要が高まっている。紙文書を電子化する際には、スキャナなどにより画像を光電変換して画素データ化するだけでなく、記載内容毎に領域分割し、記載内容に最適の形態でデータ化することが望ましい。
【0003】
領域分割に際しては、記載内容を認識し、テキスト領域、記号領域、図領域、写真領域、表領域等、性質の異なる領域毎に分割し、テキスト領域や記号領域は文字コード情報、図領域内の線データや表領域の表枠はベクトルデータ、写真領域は画素データ、表の内容は構造データ等にデータ化する。
【0004】
表形式の文書は、その論理的内部構造が重要であることはいうまでもないが、罫線の形状は、意匠的効果やデータ構造の視覚的表現として大きな意味を持っており、それらの情報を忠実に抽出する必要性は高い。
【0005】
また、紙データを参考に帳票文書を電子的に作成する際、あらかじめ紙面の表情報を忠実にデータ化できれば、文書作成の手間を大きく軽減することができる。
【0006】
領域分割処理に関しては、例えばUSP5680478号公報記載の処理が提案されており、文書画像中の黒画素塊、白画素塊の集合を抽出し、その形状、大きさ、集合状態等から、文字、絵や図、表、枠、線といった特徴的な領域を抽出している。
【0007】
また領域分割処理を使わずに、画像からランレングス等を用いて原始的な線情報を抽出する方法も存在する。
【0008】
【発明が解決しようとする課題】
しかし、USP5680478号公報記載の領域分割処理は、表領域及び論理的内部構造は認識するものの、表罫線の線の太さや属性等、意匠的効果やデータ構造の視覚的表現に関する情報は抽出できなかった。
【0009】
特に、処理の高速化のために、処理対象画像を縮小して領域分割することがあり、処理結果を実サイズに戻す際に、座標値に量子化誤差が生じる。
【0010】
またランレングス等による線情報の抽出では、線の集合のデータが得られるのみであり、論理的内部構造の情報等は得られず、文字や図など、表以外の情報が混在している画像では、罫線部分を正しく抽出できず、抽出された情報には誤りが多く含まれる。
【0011】
本発明は、このような従来の問題点を解消すべく創案されたもので、表、文字、画像などが混在する画像から、表の罫線に関する情報を正しく抽出することを目的とする。
【0012】
【課題を解決するための手段】
本発明に係る画像処理装置は、2値画像データから表領域を抽出する領域抽出手段と、前記抽出された表領域内部の白画素塊の境界近傍において2方向のエッジを求め、該2方向のエッジそれぞれから求めたエッジヒストグラムに基づいて、部分罫線情報を取得する部分罫線情報取得手段と、前記部分罫線情報に基づいて、前記表領域の罫線情報を取得する罫線情報取得手段とを備える。これによって表の罫線に関する情報を正しく抽出し得る。
【0013】
本発明に係る画像処理装置は、罫線枠角部が曲線であったとき、前記曲線の曲率半径を求める罫線枠角部処理手段をさらに備えることにより、表の意匠的表現力を高め得る。
【0014】
本発明に係る画像処理装置において、前記罫線情報取得手段は、前記部分罫線情報取得手段で取得した部分罫線情報に含まれる該部分罫線の位置情報を、隣接する部分罫線の部分罫線情報に基づいて補正し、当該補正された部分罫線情報に基づいて、前記表領域の罫線情報を取得するものであってもよい。これによって表の部分罫線情報を正確に抽出でき、意匠的表現力をさらに高め得る。
【0015】
本発明に係る画像処理装置において、前記罫線情報取得手段は、前記部分罫線情報取得手段で取得した部分罫線情報に含まれる太さ情報をグループ化して、各グループの代表値を決定し、該部分罫線情報に含まれる太さ情報を該代表値に基づいて補正し、当該補正された部分罫線情報に基づいて、前記表領域の罫線情報を取得するものであってもよい。これによって表の部分罫線情報を正確に抽出でき、意匠的表現力を更に高め得る。
【0016】
本発明に係る画像処理装置において、前記罫線情報取得手段は、前記部分罫線情報に含まれる太さ情報が等しく、且つ同一直線上の位置に存在する部分罫線を統合して、前記表領域の罫線情報を取得するものであってもよい。これによって表の部分罫線情報を正確に抽出でき、意匠的表現力を更に高め得る。
本発明に係る画像処理装置において、前記部分罫線情報取得手段は、前記2方向のエッジそれぞれから求めたエッジヒストグラムに基づいて、該部分罫線が、通常の部分罫線であるか、2重罫線であるか、文字などが接触した部分罫線であるか、の少なくともいずれかとして判別し、該判別結果を前記部分罫線情報として取得するものであってもよい。
【0017】
本発明に係る画像処理装置において、前記領域抽出手段は、前記2値画像データから黒画素塊を抽出し、前記黒画素塊が略四角形であって、かつ内部の白画素塊が整列良であったときに、前記黒画素塊を表領域と判定するものであってもよい。これによって、表領域を正確に抽出し得る。
【0018】
本発明に係る画像処理装置において、前記罫線枠角部処理手段は、前記表領域内部の白画素隗に基づいて前記表を矩形領域とした場合の頂点を定め、該頂点から表領域内部に向かって傾きが略45度の直線に沿って罫線を構成する黒画素を探索し、該探索された黒画素の位置に基づいて前記曲率半径を求めるものであってもよい。これによって、デジタル画像における曲率半径を容易に求めることが可能である。
【0019】
本発明に係る画像処理方法は、2値画像データから表領域を抽出する領域抽出ステップと、前記抽出された表領域内部の白画素塊の境界近傍において2方向のエッジを求め、該2方向のエッジそれぞれから求めたエッジヒストグラムに基づいて、部分罫線情報を取得する部分罫線情報取得ステップと、前記部分罫線情報に基づいて、前記表領域の罫線情報を取得する罫線情報取得ステップとを備える。これによって、表の罫線に関する情報を正しく抽出し得る。
また、本発明に係る画像処理装置は、画像データから表領域を抽出する領域抽出手段と、前記抽出された表領域の罫線情報を取得する罫線情報取得手段とを有する画像処理装置であって、前記罫線情報取得手段は、罫線枠角部が曲線であったとき、前記曲線の曲率半径を求める罫線枠角部処理手段を含むことを特徴とする。
本発明に係る画像処理方法は、画像データから表領域を抽出する領域抽出ステップと、前記抽出された表領域の罫線情報を取得する罫線情報取得ステップとを有する、画像処理装置を制御するための画像処理方法であって、前記罫線情報取得ステップでは、罫線枠角部が曲線であったとき、前記曲線の曲率半径を求める罫線枠角部処理ステップを含む。
【0020】
【発明の実施の形態】
[画像処理装置]
次に本発明に係る画像処理装置の一実施形態を図面に基づいて説明する。
【0021】
図1は、本発明に係る画像処理装置の一実施例構成を示すブロック図、図2は、図1の画像処理装置の装置構成例の図である。
【0022】
図1において、画像処理装置100は、用紙に記録された画像を光電変換し、画素データとして入力する入力部101と、画像データから表および枠領域を抽出する領域分割処理部102と、表領域内の罫線の位置や太さなどの詳細情報を抽出する表罫線抽出部103と、表罫線の情報を出力する出力部104とを備える。
【0023】
図2において、画像処理装置100の装置構成例においては、スキャナ装置201によって入力部の光電変換動作を実行し、コンピュータ装置204によって領域分割処理部102および表罫線抽出部103の処理を実行する。ユーザはキーボード・マウスなどの入力装置203によって画像処理装置100の動作を制御する。なお、本実施形態では入力部としてスキャナ装置201を用いるものとするが、この入力部101は領域分割処理部102に画像データを入力するものであればどのようなものでもよく、例えば、ネットワークを介して接続された情報処理装置から画像データが送信されるものとしてもよい。
【0024】
画像処理装置100は、表罫線抽出部103で抽出した詳細情報を画像処理装置内部のメモリ(不図示)に出力して格納させる。出力部104はこの内部メモリに相当するものとするが、出力部104としてディスプレイ装置204およびプリンタ装置205を含むようにしてもよく、表罫線の情報は画面表示されたり、用紙に出力されたりする。
【0025】
[画像処理方法]
次に本発明に係る画像処理方法の一実施形態を図面に基づいて説明する。
【0026】
図3は、図1の画像処理装置で実行される画像処理方法の一実施形態を示すフローチャート、図4は、図3の画像処理方法における領域分割処理S302の詳細を示すフローチャート、図5は、図3の画像処理方法における罫線抽出処理S303の詳細を示すフローチャート、図6は、図1の画像処理装置に入力される画像の例を示す図、図7は、図4の領域分割処理による属性毎の領域分類の例を示す図、図8は、8連結の黒画素塊の例を示す図、図9は、4連結の白画素塊の例を示す図、図10は、四角形の黒画素塊とそれ以外の黒画素塊の例を示す図、図11は、黒画素塊内部の白画素塊の整列状態例を示す図、図12は、表の論理的内部構造の抽出例を示す図、図13は、表内の部分罫線に対する左右エッジのピークの例を示す図、図14は、仰角45度の接線位置と半径の関係を示す図、図15は、罫線補正処理の例を示す図、図16は、罫線の論理位置の例を示す図、図17は、図4の領域分割処理による属性毎の領域分類の他の例を示す図である。
【0027】
図1の画像処理装置で実行される画像処理方法は以下のステップを含む。
【0028】
ステップS301:紙文書をスキャンして、該用紙に記載されている画像から電子的な2値画像を得る。なお、スキャナ201で紙文書を多値(グレイスケールあるいはフルカラー)でスキャンして2値化の処理まで実行するようにしてもよいし、あるいは、スキャナ201で紙文書を多値でスキャンし、これをコンピュータ装置204において2値化するようにしてもよい。
【0029】
ステップS302:領域分割処理部102において領域分割処理を実行する。領域分割処理は、例えば、図17における文字、図、表を含む画像17Aを、文字領域C17−1、C17−2、C17−3、C17−4、図領域P17、表領域T17、線領域L17の各領域に分割する。本実施形態では、この領域分割処理で得られた領域のうち表領域T17を特に注目し、該表領域に対して行われる処理について述べることとする。なお、領域分割処理の詳細については、図4のフローチャートを用いて後述する。
【0030】
ステップS303:表領域は罫線で囲まれた白画素隗の領域(「行列」という。)を含み、ここでは各行列(白画素隗領域)を囲む各罫線を部分罫線ということとする。ステップS303では、部分罫線を抽出し、その位置、太さを特定する。ステップS302の領域分割処理で複数の表領域が抽出された場合、各表領域について部分罫線の抽出、特定を実行する。部分罫線の処理では、図13(A)の部分罫線、(B)の上下罫線に接触した文字、(C)の2重罫線、(D)の文字が接触した部分罫線が抽出される。部分罫線の処理については、図5のフローチャートを用いて後述する。
【0031】
ステップS304:行列を囲む罫線枠の角部が曲線状であったとき、その曲率半径を検出する。例えば、図14に示すような罫線枠の角部につき、その曲率半径rを式1401(図14参照:r=n/(2−(2^(1/2))))により算出する。表罫線抽出処理部で抽出された表罫線情報に基づき出力する画像において曲率半径rを正確に再現すれば、表の意匠的効果やデータ構造の視覚的表現が再現され、画像の説得力が高まる。曲率半径rを求める処理については後述する。
【0032】
ステップS305:図15は文字が接触した部分罫線であり、2重罫線と誤認識される。このような誤認識を修正するため、隣合う部分罫線の位置を参照して、部分罫線の情報を補正する。部分罫線補正の処理については後述する。
【0033】
ステップS306:図16に示すように、3行3列の表は部分罫線が水平、垂直方向に直列する。この直列状態を検出すれば、全体の行列の罫線が直線で表現されるように、部分罫線を統合し得る。これによって表の意匠的表現力を高め得る。部分罫線の統合処理については後述する。
【0034】
ステップS307:ステップS302〜S306の処理に基づき、罫線位置、太さ、内部論理構造、角部曲率半径に加え、統合された罫線の始点、終点の情報を含む罫線情報を出力する。例えば、図16の3行3列の表の最上辺の罫線において、始点、終点の情報は、線の交点に割り当てた論理位置を用いて[0,0]−[3,0]と表現される。
【0035】
以上の処理により、表、文字、画像などが混在する画像から、表の罫線に関する情報を正しく抽出し得る。
【0036】
図4において、ステップS302における領域分割処理は以下のステップにより実行される。なお解像度の高い画像に対しては、処理の高速化のため、画像に縮小処理を施してから領域分割処理をおこなうことが一般的である。領域分割処理終了後には、その出力領域情報の座標値を元の座標系に戻し、元のサイズにおける領域情報に復元する。ここでは、処理結果のうち、表あるいは枠の領域情報を利用することを想定し、文字や図など他属性の領域に対する処理の詳細な説明は省略する。
【0037】
ステップS401:画像からすべての黒画素の8連結輪郭塊を抽出する。黒画素の8連結輪郭塊とは、図8に示すように、縦横斜めの少なくともいずれかで接触した黒画素の集合の輪郭(以下「黒画素塊」という。)のことである。なお、輪郭が黒画素であることが黒画素塊の条件であり、輪郭以外の内部がすべて白画素であっても、黒画素塊と呼ぶ。
【0038】
ステップS402:全ての黒画素塊について高さ、幅を求め、所定の最大文字高さ、最大文字幅に基づく閾値と比較する。高さ、幅がこの閾値より小さい黒画素塊を文字要素と判断し、「CHAR」の符号を付す。「CHAR」の黒画素塊のうち近接したものをグループ化し、「TEXT」の符号を付す。なお文字の処理は本発明とは直接関係がないので説明を省略する。高さまたは幅が閾値以上の黒画素塊についてはステップS403に移行する。
【0039】
ステップS403:黒画素塊は縦横比を求め、所定値以上の縦長または横長の黒画素塊については線と判定し、「LINE」の符号を付す。縦長または横長でなかった黒画素塊についてはステップS404に移行する。
【0040】
ステップS404:黒画素塊の輪郭に注目し、輪郭が細い斜めの線状であるとき、黒画素塊を斜線と判定し、ステップS403と同様、「LINE」の符号を付す。輪郭が細い斜めの線状でないと判断した場合はステップS405に進む。
【0041】
ステップS405:黒画素塊の輪郭形状が四角形かどうかを判定する。四角形であると判断したならばステップS406に移行し、四角形でないと判断した場合は、黒画素塊を図と判断して、「PICTURE」の符号を付す。例えば、図10において、(A)の表の画像は四角形の黒画素塊と判断され、(B)の鳥の画像は四角形以外の黒画素塊と判断される。
【0042】
ステップS406:黒画素塊の内部に存在する白画素の4連結塊を抽出する。白画素の4連結領域塊とは、図9に示すように、縦横のいずれか(斜め方向を除く)で接触した白画素の集合の輪郭(以下「白画素塊」という。)のことである。
【0043】
ステップS407:ステップS406で抽出された白画素塊の整列良否を判定する。白画素塊の形状がほぼ四角形であり、かつ黒画素塊内をほぼ隙間無く埋めている場合、白画素塊の整列を良と判定する。内部白画素塊の整列が良い黒画素塊は表と判定し、「TABLE」の符号を付す。整列が良くない黒画素塊は図と判定し、「PICTURE」の符号を付す。例えば、図11において、(a)、(b)の表は、内部白画素塊が整列良と判断され、「TABLE」の符号が付される。図11(c)の星形を含む領域は整列不良と判定され、「PICTURE」の符号が付される。
【0044】
例えば図6に示す、表、文字、図を含む画像を、ステップS402〜S407の処理により領域分割すれば、図7のデータが生成され、文字領域「TEXT」、図領域「PICTURE」、表領域「TABLE」が抽出される。
【0045】
ステップS408:以上の処理で領域分割された画像について、表領域「TABLE」の内部構造から行列情報を抽出する。すなわち、表領域内部の白画素塊を、表構造を論理的に表現できるような行列上へ仮想的に配置する。この行列は、表領域を水平、垂直の境界線で区切り、1個のセル(升目)内に2つ以上の白画素塊を存在させない。このように形成した表において、各セルに座標(x,y)を与える。xは行内位置、yは列内位置を示す。座標は各白画素塊が表構造を論理的に表現するとき、行列上の配置に対応する。前記水平方向の境界線のうち近接するものをグループ化し、グループ内で平均的位置に統合することにより、表の水平罫線の候補が抽出される。同様に、前記垂直方向の境界線のうち近接するものをグループ化し、グループ内で平均的位置に統合することにより、表の垂直罫線の候補が抽出される。
【0046】
図12において、図12(a)は「TABLE」の符号が付された黒画素塊であり、内部に8個の白画素塊が存在する。図12(b)に示すように、これら白画素塊の外接四角形群は8個存在し、図12(c)に示すように、これら外接四角形の水平境界線を統合することにより水平罫線が生成される。同様に垂直方向の境界線を統合し、図12(d)に示すように、セルが決定される。各セルには座標(x,y)を与える。図12(e)は、白画素塊を行列にあてはめた状態を示す。
【0047】
ステップS409:表領域の各白画素塊に対し、その内部に黒画素が存在するかどうか調べ、存在する場合は処理対象にその黒画素塊を追加する。
【0048】
ステップS410:文書画像データ中に未処理の黒画素塊があればステップS402に戻り、全ての黒画素塊を処理し終えたところで、領域分割処理を終了する。
【0049】
ステップS303における部分罫線抽出処理を、図5を用いて説明する(なお、図5は垂直方向罫線を抽出する場合である)。ここでは、表領域内に存在する白画素塊(行列)に注目し、その白画素隗の境界に部分罫線が存在すると仮定し、その正確な位置や太さの情報を求める。白画素塊の領域座標は、罫線と接触した文字やノイズなどにより、実際の罫線とずれている場合がある。
【0050】
なお、元画像を縮小して領域分割処理をおこなった場合、求めた座標値が例えば4あるいは2の倍数に限定されているので、縮小なしの画像で以下の処理を行う必要がある。ステップS303の処理によって、正確な部分罫線情報が抽出できる。
【0051】
ステップS501:白画素隗の外接矩形領域の境界線を初期の罫線位置候補とし、その境界線の近傍に所定幅×白画素塊高さの探索領域をとる。
ステップS502:探索領域内で、右方向エッジ(右に白画素が存在する黒画素)のヒストグラムと左方向エッジ(左に白画素が存在する黒画素)のヒストグラムを取得する。右方向エッジのヒストグラムとは、右に白画素が存在する黒画素のx座標値を抽出し、各x座標値において右方向エッジの個数をカウントしたものである。左方向エッジのヒストグラムとは、左に白画素が存在する黒画素のx座標値を抽出し、各x座標値において左方向エッジの個数をカウントしたものである。
【0052】
ステップS503:右方向エッジのヒストグラムおよび左方向エッジのヒストグラムのピークを求め、ピーク数、座標値、ピーク値(回数)を求める。取得したピーク数(0〜k)およびその座標値、ピーク値は記憶しておく。
【0053】
なお最大値抽出を容易にするため、ヒストグラムに対し適宜フィルタを施してもよい。また、最大ピーク数は2以上の数で制限してもよい。本例では、左右方向それぞれのエッジで、最大2個のピークを取得するとして、左方向エッジのピーク数をLkとし、座標値、ピーク値をそれぞれ(Lx1,Lp1)、(Lx2,Lp2)とし、右方向エッジのピーク数をRkとし、座標値、ピーク値を(Rx1,Rp1)、(Rx2,Rp2)と表現する。なおLp1>Lp2、Rp1>Rp2である。
【0054】
さらに、探索領域の高さに対し所定の比率をなす値を閾値Tとし、閾値T以下のピークを無視したときのピーク数をLn、Rnとする。
【0055】
図13において、Ln、Rnの組み合わせにより、探索領域の罫線の状態は(A)、(B)、(C)、(D)のように分類される。(A)はLn=Rn=1であり、部分罫線である。(B)はLn=Rn=0であり、部分罫線は存在しない。(C)はLn=Rn=2であり、2重罫線である。(D)はLn=0またはRn=0であり、文字が接触した部分罫線である。図13の破線1301は探索領域を示す。
【0056】
ステップS504:Ln=Rn=1か否か判断し、Ln=Rn=1ならばステップS505に移行し、それ以外ならばステップS508に移行する。
【0057】
ステップS505:Lx1<=Rx1か否か判断し、Lx1<=Rx1ならばステップS506に移行する。
【0058】
ステップS506:(Lx1+Rx1)/2の位置に太さ(Rx1−Lx1+1)の罫線が存在すると判定する。それ以外のときは、ステップS507に移行する。
【0059】
ステップS507:罫線は存在しないと判定する。
【0060】
ステップS508:Ln=Rn=0か否か判断し、Ln=Rn=0ならばステップS509に移行し、それ以外のときはステップS509に移行する。
【0061】
ステップS509:Ln=Rn=2か否か判断し、Ln=Rn=2ならばステップS510に移行し、それ以外のときはステップS512に移行する。
【0062】
ステップS510:Lx1<=Rx1<Lx2<=Rx2か、Lx1<=Rx2<Lx2<Rx1か、Lx2<=Rx1<Lx1<=Rx2か、あるいはLx2<=Rx2<Lx1<=Rx1のいずれかを満たすか判断する。これらのいずれかであったときはステップS511に移行し、それ以外のときはステップS516に移行する。
【0063】
ステップS511:{min(Lx1,Lx2)+max(Rx1,Rx2)}/2の位置に、太さ{max(Rx1,Rx2)−min(Lx1,Lx2)+1}の2重罫線が存在すると判断する。
【0064】
ステップS512:Ln=0またはRn=0か否か判断し、Ln=0またはRn=0のときはステップS513に移行する。それ以外のときはステップS516に移行する。
【0065】
ステップS513:Ln=0ならば左方向エッジヒストグラムに閾値T以下のピークがあるかどうかを調べ、Rn=0ならば右方向エッジヒストグラムに、閾値T以下のピークがあるかどうかを調べる。ピークがあればステップS514に移行し、それ以外はステップS515に移行する。
【0066】
ステップS514:探索領域において、片側に文字などが接触して明確なエッジは現れていないが、罫線は存在していると判定する。ピークがない場合は、ステップS515に移行する。
【0067】
ステップS515:片側が塗り潰しの領域であると判定する。
【0068】
ステップS516:ステップS504、S508、S509、S512のいずれもあてはまらない場合、すなわちLn=2かつRn=1、またはLn=1かつRn=2の場合ステップS516が実行され、Lx1<=Rx1のときステップS517に移行する。それ以外のときはステップS518に移行する。
【0069】
ステップS517:(Lx1+Rx1)/2の位置に太さ(Rx1−Lx1+1)の罫線が存在すると判定する。それ以外の場合はステップS518に移行する。
【0070】
ステップS518:Ln=2かつLx2<=Rx1のときステップS519に移行する。それ以外の場合はステップS520に移行する。
【0071】
ステップS519:(Lx2+Rx1)/2の位置に太さ(Rx1−Lx2+1)の罫線が存在すると判定する。
【0072】
ステップS520:Rn=2かつLx1<=Rx2のときステップS521に移行する。それ以外の場合はステップS522に移行する。
【0073】
ステップS521:(Lx1+Rx2)/2の位置に太さ(Rx2−Lx1+1)の罫線が存在すると判断する。
【0074】
ステップS522:探索領域には罫線は存在しないと判定する。
【0075】
以上のステップS501〜S522の処理は、全ての白画素塊の左右方向エッジに適用される。但し、同一罫線について処理が重複しないようにする。これによって垂直方向罫線が抽出される。
【0076】
さらに、白画素塊の上下方向エッジについて同様の処理を実行し、水平方向罫線を抽出する。処理内容は、左右方向エッジと方向が90度異なるだけであり、全く同様であるので、説明は省略する。
【0077】
図14に示すように、罫線枠角部の曲率半径の算出に際しては、角部の頂点Pにおいて曲線に接し、かつ水平な罫線に対し45度の角度をなす直線Lを引く。直線Lと水平な罫線との交点をQとするとき、PQ間の距離nと曲率半径rとの間には、式1401(図14参照:r=n/(2−(2^(1/2))))の関係が成立する。よって、距離nを検出することによって曲率半径rを求めることができる。
【0078】
実画像上ではこのような幾何学的な処理が容易でないこともあり、例えば、以下のような処理が採用される。
【0079】
まず注目する角部(ここでは表枠の左下の角が円弧を描いている場合を例にして説明する)において、説明を簡単にするため、水平な座標軸(図14のx軸)の原点を白画素塊左端に対応させ、水平な座標軸(図14のy軸)の原点を白画素塊下端に対応させた座標系を定義するものとする(なお、この座標系に限らず、任意の座標系で処理可能である)。この座標系で、図14の直線M上の画素を原点Pから円弧の中心に向かって探索する。白画素塊の高さをhとすると、探索していく画素の座標(i,j)は、i=j=0,1,2,3・・・,hの順で探索していき、最初に黒画素となった座標を直線Lと罫線の円弧とが接する接点Sとみなす。このときの接点Sの座標を(is, is)とすると、PQ間の距離nは、n=2*isで求められるので、画素数nと上式1401により、曲率半径を計算できる。
【0080】
なお黒画素を発見したときも、その黒画素が孤立点であるかどうか調べ、孤立点であると判断すればノイズとして処理し、更に探索を続けることにより、ノイズに対しても頑健なものとなる。
【0081】
図15において、注目する罫線が文字「外」と接触しているとき、ステップS303の処理では、左方向エッジのピークとして(Lx1,Lp1)、(Lx2,Lp2)、右方向エッジのピークとして(Rx1,Rp1)、(Rx2,Rp2)が抽出される。ここでは、Lx1〜Rx2間に2重罫線があると誤認識される。しかし、ステップS305において、ひとつ下の罫線の左右端と最も一致するピークの組を再探索し、Lx2、Rx2を得る。これにより、上の部分罫線の位置および太さ情報は正確なものに修正される。
【0082】
図16において、直列する部分罫線を統合して意匠的効果の高い3行3列の表が生成されている。部分罫線の統合に際しては、同一線上にあり(直列する)、同じ太さの部分罫線を統合して、罫線情報を整理する。
【0083】
ステップS305までの処理で求められた部分罫線の位置は、ノイズや付着画素、あるいは読み取り解像度に起因する量子化誤差等により、誤差を含む。そこで、部分罫線の太さを平均化する。平均化は、全部分罫線の太さの分布を求め、グループ化可能な太さをグループ化する。各グループの太さの平均値等から太さの代表値を設定し、各グループに属する部分罫線の太さを代表値に統一する。2重罫線は他の部分罫線と別にグループ化してもよい。
【0084】
その後、統一された太さが等しく、かつ同一線上で隣りあう部分罫線を一本の罫線に統合する。同様に、罫線の位置についても、平均的な位置となるように調整する。
【0085】
以上の処理により出力された罫線情報は、画像に表示したり、再び紙に出力するための基礎情報として用いることができる。しかも、罫線の物理的情報として位置や太さなどが対ノイズ、画像状態変動に対して良好に得られるうえに、論理的表構造配置にも適合するものであるので、種々の用途に親和性の高い情報となっている。
【0086】
[プログラム]
図1、図2の画像処理装置における制御プログラムには、前記画像処理方法の実施形態を実行するためのプログラムが含まれる。このプログラムはステップS301〜S307、ステップS401〜S410、ステップS501〜S522の処理を実行するルーチンを含む。
【0087】
[記憶媒体]
本発明にかかる画像処理方法は図1、図2の画像処理装置以外の装置、例えば汎用的なコンピュータでも実施可能であり、その場合、記憶媒体等で提供される制御プログラムを汎用コンピュータの外部記憶装置にセットし、オペレータ等の指示によりCPU等で実行してもよい。
【0088】
【発明の効果】
本発明によれば、表の罫線に関する情報を正しく抽出し得る。
また、罫線情報を正しく抽出できるので、表を正確に再現することも可能となる。
【図面の簡単な説明】
【図1】本発明に係る画像処理装置の一実施例構成を示すブロック図である。
【図2】図1の画像処理装置の装置構成例の図である。
【図3】図1の画像処理装置で実行される画像処理方法の一実施形態を示すフローチャートである。
【図4】図3の画像処理方法における領域分割処理を示すフローチャートである。
【図5】図3の画像処理方法における罫線抽出処理を示すフローチャートである。
【図6】図1の画像処理装置に入力される画像の例を示す図である。
【図7】図4の領域分割処理による属性毎の領域分類の例を示す図である。
【図8】8連結の黒画素塊の例を示す図である。
【図9】4連結の白画素塊の例を示す図である。
【図10】四角形の黒画素塊とそれ以外の黒画素塊の例を示す図である。
【図11】黒画素塊内部の白画素塊の整列状態例を示す図である。
【図12】表の論理的内部構造の抽出例を示す図である。
【図13】表内の部分罫線に対する左右エッジのピークの例を示す図である。
【図14】仰角45度の接線位置と半径の関係を示す図である。
【図15】罫線補正処理の例を示す図である。
【図16】罫線の論理位置の例を示す図である。
【図17】図4の領域分割処理による属性毎の領域分類の他の例を示す図である。
【符号の説明】
100 画像処理装置
101 入力部
102 領域分割部
103 表罫線抽出部
104 出力部
Claims (14)
- 2値画像データから表領域を抽出する領域抽出手段と、
前記抽出された表領域内部の白画素塊の境界近傍において2方向のエッジを求め、該2方向のエッジそれぞれから求めたエッジヒストグラムに基づいて、部分罫線情報を取得する部分罫線情報取得手段と、
前記部分罫線情報に基づいて、前記表領域の罫線情報を取得する罫線情報取得手段と、
を備えることを特徴とする画像処理装置。 - 罫線枠角部が曲線であったとき、前記曲線の曲率半径を求める罫線枠角部処理手段をさらに備えたことを特徴とする請求項1記載の画像処理装置。
- 前記罫線情報取得手段は、前記部分罫線情報取得手段で取得した部分罫線情報に含まれる該部分罫線の位置情報を、隣接する部分罫線の部分罫線情報に基づいて補正し、当該補正された部分罫線情報に基づいて、前記表領域の罫線情報を取得することを特徴とする請求項1または2のいずれかに記載の画像処理装置。
- 前記罫線情報取得手段は、前記部分罫線情報取得手段で取得した部分罫線情報に含まれる太さ情報をグループ化して、各グループの代表値を決定し、該部分罫線情報に含まれる太さ情報を該代表値に基づいて補正し、当該補正された部分罫線情報に基づいて、前記表領域の罫線情報を取得することを特徴とする請求項1乃至3のいずれかに記載の画像処理装置。
- 前記罫線情報取得手段は、前記部分罫線情報に含まれる太さ情報が等しく、且つ同一直線上の位置に存在する部分罫線を統合して、前記表領域の罫線情報を取得することを特徴とする請求項1乃至4のいずれかに記載の画像処理装置。
- 前記部分罫線情報取得手段は、前記2方向のエッジそれぞれから求めたエッジヒストグラムに基づいて、該部分罫線が、通常の部分罫線であるか、2重罫線であるか、文字などが接触した部分罫線であるか、の少なくともいずれかとして判別し、該判別結果を前記部分罫線情報として取得することを特徴とする請求項1乃至5のいずれかに記載の画像処理装置。
- 前記領域抽出手段は、前記2値画像データから黒画素塊を抽出し、前記黒画素塊が略四角形であって、かつ内部の白画素塊が整列良であったときに、前記黒画素塊を表領域と判定することを特徴とする請求項1乃至6のいずれかに記載の画像処理装置。
- 前記罫線枠角部処理手段は、前記表領域内部の白画素隗に基づいて前記表を矩形領域とした場合の頂点を定め、該頂点から表領域内部に向かって傾きが略45度の直線に沿って罫線を構成する黒画素を探索し、該探索された黒画素の位置に基づいて前記曲率半径を求めることを特徴とする請求項2に記載の画像処理装置。
- 2値画像データから表領域を抽出する領域抽出ステップと、
前記抽出された表領域内部の白画素塊の境界近傍において2方向のエッジを求め、該2方向のエッジそれぞれから求めたエッジヒストグラムに基づいて、部分罫線情報を取得する部分罫線情報取得ステップと、
前記部分罫線情報に基づいて、前記表領域の罫線情報を取得する罫線情報取得ステップと、
を備えることを特徴とする画像処理方法。 - 2値画像データから表領域を抽出する領域抽出ステップと、
前記抽出された表領域内部の白画素塊の境界近傍において2方向のエッジを求め、該2方向のエッジそれぞれから求めたエッジヒストグラムに基づいて、部分罫線情報を取得する部分罫線情報取得ステップと、
前記部分罫線情報に基づいて、前記表領域の罫線情報を取得する罫線情報取得ステップと、
をコンピュータに実行させるためのプログラムコードを有する、コンピュータが実行可能なプログラム。 - 請求項10に記載のプログラムが
格納されたコンピュータ読取可能な記憶媒体。 - 画像データから表領域を抽出する領域抽出手段と、
前記抽出された表領域の罫線情報を取得する罫線情報取得手段とを有する画像処理装置であって、
前記罫線情報取得手段は、罫線枠角部が曲線であったとき、前記曲線の曲率半径を求める罫線枠角部処理手段を含むことを特徴とする画像処理装置。 - 画像データから表領域を抽出する領域抽出ステップと、
前記抽出された表領域の罫線情報を取得する罫線情報取得ステップとを有する、画像処理装置を制御するための画像処理方法であって、
前記罫線情報取得ステップでは、罫線枠角部が曲線であったとき、前記曲線の曲率半径を求める罫線枠角部処理ステップを含むことを特徴とする画像処理方法。 - 画像データから表領域を抽出する領域抽出ステップと、
前記抽出された表領域の罫線情報を取得する罫線情報取得ステップとをコンピュータに実行させるためのプログラムコードを有する、コンピュータが実行可能なプログラムであって、
前記罫線情報取得ステップでは、罫線枠角部が曲線であったとき、前記曲線の曲率半径を求める罫線枠角部処理ステップを含むことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002244991A JP4208520B2 (ja) | 2002-08-26 | 2002-08-26 | 画像処理装置および画像処理方法、プログラムおよび記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002244991A JP4208520B2 (ja) | 2002-08-26 | 2002-08-26 | 画像処理装置および画像処理方法、プログラムおよび記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004086436A true JP2004086436A (ja) | 2004-03-18 |
JP4208520B2 JP4208520B2 (ja) | 2009-01-14 |
Family
ID=32053314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002244991A Expired - Fee Related JP4208520B2 (ja) | 2002-08-26 | 2002-08-26 | 画像処理装置および画像処理方法、プログラムおよび記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4208520B2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008252862A (ja) * | 2007-03-05 | 2008-10-16 | Ricoh Co Ltd | 画像処理装置、画像処理方法及び画像処理プログラム |
JP2009037596A (ja) * | 2007-07-12 | 2009-02-19 | Ricoh Co Ltd | 画像処理装置およびプログラム |
EP2270714A2 (en) | 2009-07-01 | 2011-01-05 | Canon Kabushiki Kaisha | Image processing device and image processing method |
EP2343670A2 (en) | 2010-01-06 | 2011-07-13 | Canon Kabushiki Kaisha | Apparatus and method for digitizing documents |
JP2016018327A (ja) * | 2014-07-07 | 2016-02-01 | キヤノン株式会社 | 情報処理装置、情報処理方法、プログラム |
JP2017097805A (ja) * | 2015-11-27 | 2017-06-01 | 日本電信電話株式会社 | 罫線枠補正方法、罫線枠補正装置および罫線枠補正プログラム |
US10607381B2 (en) | 2014-07-07 | 2020-03-31 | Canon Kabushiki Kaisha | Information processing apparatus |
CN111860502A (zh) * | 2020-07-15 | 2020-10-30 | 北京思图场景数据科技服务有限公司 | 图片表格的识别方法、装置、电子设备及存储介质 |
-
2002
- 2002-08-26 JP JP2002244991A patent/JP4208520B2/ja not_active Expired - Fee Related
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008252862A (ja) * | 2007-03-05 | 2008-10-16 | Ricoh Co Ltd | 画像処理装置、画像処理方法及び画像処理プログラム |
JP2009037596A (ja) * | 2007-07-12 | 2009-02-19 | Ricoh Co Ltd | 画像処理装置およびプログラム |
EP2270714A2 (en) | 2009-07-01 | 2011-01-05 | Canon Kabushiki Kaisha | Image processing device and image processing method |
JP2011013897A (ja) * | 2009-07-01 | 2011-01-20 | Canon Inc | 画像処理装置、画像処理方法、及びプログラム |
US8428356B2 (en) | 2009-07-01 | 2013-04-23 | Canon Kabushiki Kaisha | Image processing device and image processing method for generating electronic document with a table line determination portion |
EP2343670A2 (en) | 2010-01-06 | 2011-07-13 | Canon Kabushiki Kaisha | Apparatus and method for digitizing documents |
JP2011141677A (ja) * | 2010-01-06 | 2011-07-21 | Canon Inc | 文書を電子化する装置及び方法 |
US8718364B2 (en) | 2010-01-06 | 2014-05-06 | Canon Kabushiki Kaisha | Apparatus and method for digitizing documents with extracted region data |
JP2016018327A (ja) * | 2014-07-07 | 2016-02-01 | キヤノン株式会社 | 情報処理装置、情報処理方法、プログラム |
US10607381B2 (en) | 2014-07-07 | 2020-03-31 | Canon Kabushiki Kaisha | Information processing apparatus |
JP2017097805A (ja) * | 2015-11-27 | 2017-06-01 | 日本電信電話株式会社 | 罫線枠補正方法、罫線枠補正装置および罫線枠補正プログラム |
CN111860502A (zh) * | 2020-07-15 | 2020-10-30 | 北京思图场景数据科技服务有限公司 | 图片表格的识别方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP4208520B2 (ja) | 2009-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4646797B2 (ja) | 画像処理装置及びその制御方法、プログラム | |
JP3883696B2 (ja) | 多数の写真をスキャンしかつ検出するとともに人工エッジを除去するための方法 | |
US8634659B2 (en) | Image processing apparatus, computer readable medium storing program, and image processing method | |
JP3950777B2 (ja) | 画像処理方法、画像処理装置および画像処理プログラム | |
US7170647B2 (en) | Document processing apparatus and method | |
JP4694613B2 (ja) | 原稿方向判定装置、原稿方向判定方法、プログラムおよびその記録媒体 | |
CN102567300A (zh) | 图片文档的处理方法及装置 | |
JP6874387B2 (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP2016021086A (ja) | 電子文書生成システム、電子文書生成装置およびプログラム | |
CN101697228A (zh) | 一种文本图像处理方法 | |
JP2011022867A (ja) | 画像処理装置、画像処理システムおよびプログラム | |
US20190266431A1 (en) | Method, apparatus, and computer-readable medium for processing an image with horizontal and vertical text | |
JP4582204B2 (ja) | 画像処理装置、画像変換方法、およびコンピュータプログラム | |
CN115619656A (zh) | 数字化档案纠偏矫正方法及系统 | |
JP2010056827A (ja) | 画像処理装置および画像処理プログラム | |
JP4208520B2 (ja) | 画像処理装置および画像処理方法、プログラムおよび記憶媒体 | |
JP5005732B2 (ja) | 画像形成装置及び画像処理方法 | |
JP2014107685A (ja) | 画像処理装置 | |
JP4565396B2 (ja) | 画像処理装置および画像処理プログラム | |
JP2011008770A (ja) | 原稿方向の検出方法及び装置 | |
JP2010003005A (ja) | ベクタ画像生成方法、画像処理装置、およびコンピュータプログラム | |
JP4825888B2 (ja) | 文書画像処理装置および文書画像処理方法 | |
US20020164087A1 (en) | System and method for fast rotation of binary images using block matching method | |
CN107680046A (zh) | 影像矫正方法、装置、存储介质和计算机设备 | |
JP2013065164A (ja) | 画像処理装置、画像処理方法および画像処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050822 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060606 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080715 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080916 |
|
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: 20081014 |
|
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: 20081021 |
|
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: 20111031 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111031 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121031 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131031 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |