JP5262778B2 - 画像処理装置及び画像処理プログラム - Google Patents

画像処理装置及び画像処理プログラム Download PDF

Info

Publication number
JP5262778B2
JP5262778B2 JP2009024443A JP2009024443A JP5262778B2 JP 5262778 B2 JP5262778 B2 JP 5262778B2 JP 2009024443 A JP2009024443 A JP 2009024443A JP 2009024443 A JP2009024443 A JP 2009024443A JP 5262778 B2 JP5262778 B2 JP 5262778B2
Authority
JP
Japan
Prior art keywords
ruled line
module
image
ruled
filter
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
JP2009024443A
Other languages
English (en)
Other versions
JP2010182052A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2009024443A priority Critical patent/JP5262778B2/ja
Priority to US12/552,627 priority patent/US8542931B2/en
Publication of JP2010182052A publication Critical patent/JP2010182052A/ja
Application granted granted Critical
Publication of JP5262778B2 publication Critical patent/JP5262778B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures

Description

本発明は、画像処理装置及び画像処理プログラムに関する。
紙の文書をスキャナ等で読み込み、レイアウトや構成オブジェクトを解析し、その記載情報の再利用や、記載情報に基づいた処理を行う技術がある。特に、文書の一種である帳票は業務において多用される。その帳票の多くは表で構成されており、表を解析する技術が求められている。
これに関連する技術として、例えば、特許文献1には、枠の罫線を正しく抽出できる表罫線認識方法を提供することを課題とし、表領域を含む文書画像の表領域の罫線を認識する方法は、表領域に対して水平方向及び垂直方向に各々射影を取り水平方向及び垂直方向のヒストグラムを作成し、水平方向及び垂直方向の各ヒストグラムから所定の閾値より高くなる座標値を水平方向及び垂直方向の罫線候補とし、そして、領域の外接矩形を構成している周囲の線を罫線候補とし、水平方向及び垂直方向の2つの方向から得られる罫線候補の情報からマトリクスを作成して枠領域を算出して、枠と枠の間の罫線が真の罫線であるかどうかを予め定めた判定基準情報により調べ、調べた結果、真の罫線である場合は罫線の種類を判定し、一方真の罫線でない場合は対象となる枠と枠を合成して1つの枠とし、以上の工程を繰り返して表を構成する全ての枠と罫線の情報を得ることが開示されている。
特開2000−048121号公報
本発明は、罫線が含まれている画像を解析する場合にあって、ラベリング技術を用いた場合に比較して、少ない計算機資源の割り当てで、罫線ではないものを罫線として認識してしまう誤りを抑制するようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、画像内の画素数を計数し、該計数した画素数を閾値と比較して罫線を抽出する罫線抽出手段と、前記罫線抽出手段によって抽出された罫線の太さ及び前記閾値に基づいて、前記罫線抽出手段によって抽出された罫線内の雑音成分を識別する雑音成分識別手段を具備し、前記雑音成分識別手段は、雑音成分よりも大きな大きさを有する濾波器を生成し、該濾波器によって雑音成分を識別し、該濾波器は矩形であり、該矩形の一方の辺の長さは、前記罫線抽出手段によって抽出された罫線の太さに1以上の係数を乗算して定め、該矩形の他方の辺の長さは、前記閾値に1未満の係数を乗算して定めることを特徴とする画像処理装置である。
請求項の発明は、前記罫線抽出手段によって抽出された罫線を実線に変換する実線化手段をさらに具備し、前記雑音成分識別手段は、前記実線化手段によって実線に変換された罫線内の雑音成分を識別することを特徴とする請求項1に記載の画像処理装置である。
請求項の発明は、コンピュータを、画像内の画素数を計数し、該計数した画素数を閾値と比較して罫線を抽出する罫線抽出手段と、前記罫線抽出手段によって抽出された罫線の太さ及び前記閾値に基づいて、前記罫線抽出手段によって抽出された罫線内の雑音成分を識別する雑音成分識別手段として機能させ、前記雑音成分識別手段は、雑音成分よりも大きな大きさを有する濾波器を生成し、該濾波器によって雑音成分を識別し、該濾波器は矩形であり、該矩形の一方の辺の長さは、前記罫線抽出手段によって抽出された罫線の太さに1以上の係数を乗算して定め、該矩形の他方の辺の長さは、前記閾値に1未満の係数を乗算して定めることを特徴とする画像処理プログラムである。
請求項1の画像処理装置によれば、罫線が含まれている画像を解析する場合にあって、ラベリング技術を用いた場合に比較して、少ない計算機資源の割り当てで、罫線ではないものを罫線として認識してしまう誤りを抑制できる。本構成を有さない場合に比べて、少ない計算機資源の割り当てで、罫線を抽出することができる。雑音成分識別手段が生成する濾波器は矩形であり、該矩形の辺の長さは、罫線抽出手段によって抽出された罫線の太さに基づいて定めない場合に比べて、罫線ではないものを罫線として認識してしまう誤りを抑制できる。雑音成分識別手段が生成する濾波器は矩形であり、該矩形の辺の長さは、前記閾値に基づいて定めない場合に比べて、罫線ではないものを罫線として認識してしまう誤りを抑制できる。
請求項の画像処理装置によれば、罫線として点線、破線等が含まれている画像を解析する場合にあって、本構成を有さない場合に比べて、点線、破線等で構成されている罫線を罫線ではないと識別してしまうことを抑制できる。
請求項の画像処理プログラムによれば、罫線が含まれている画像を解析する場合にあって、ラベリング技術を用いた場合に比較して、少ない計算機資源の割り当てで、罫線ではないものを罫線として認識してしまう誤りを抑制できる。本構成を有さない場合に比べて、少ない計算機資源の割り当てで、罫線を抽出することができる。雑音成分識別手段が生成する濾波器は矩形であり、該矩形の辺の長さは、罫線抽出手段によって抽出された罫線の太さに基づいて定めない場合に比べて、罫線ではないものを罫線として認識してしまう誤りを抑制できる。雑音成分識別手段が生成する濾波器は矩形であり、該矩形の辺の長さは、前記閾値に基づいて定めない場合に比べて、罫線ではないものを罫線として認識してしまう誤りを抑制できる。
本実施の形態の構成例についての概念的なモジュール構成図である。 本実施の形態を具現化する場合の画像処理装置全体の構成例についての概念的なモジュール構成図である。 本実施の形態による処理例を示すフローチャートである。 本実施の形態によるノイズ除去の処理例を示すフローチャートである。 本実施の形態が対象とする表画像の例を示す説明図である。 本実施の形態によるヒストグラム生成の処理例を示す説明図である。 文字等も誤って罫線として抽出された処理例を示す説明図である。 抽出された罫線を実線化する処理例を示す説明図である。 罫線の太さを抽出する処理例を示す説明図である。 本実施の形態によって生成されるフィルタの例を示す説明図である。 本実施の形態による罫線画像の生成処理例を示す説明図である。 上書きモジュールによって上書きされた表画像の例を示す説明図である。 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。
本実施の形態である画像処理装置は、罫線が含まれている画像を解析するものであって、図1に示すように、罫線抽出モジュール110、実線化モジュール120、ノイズ識別・除去モジュール130、罫線画像生成モジュール160を有している。
罫線抽出モジュール110は、実線化モジュール120、ノイズ識別・除去モジュール130と接続されている。対象としている画像内の画素数を計数し、その計数した画素数を閾値と比較して罫線を抽出する。そして、抽出結果を実線化モジュール120、ノイズ識別・除去モジュール130に渡す。例えば、水平方向及び垂直方向に各々射影を取り水平方向及び垂直方向のヒストグラムを作成し、水平方向及び垂直方向の各ヒストグラムから予め定められた閾値より大である位置の座標値を水平方向及び垂直方向の罫線として抽出する。
なお、ここで、抽出する罫線は罫線の候補であり、ノイズ識別・除去モジュール130によって、識別されて除去されるべき雑音成分(罫線ではないにもかかわらず、罫線として抽出されたもの)が含まれている場合がある。
また、水平方向、垂直方向とは、画像における水平方向(走査方向)、垂直方向(副走査方向)であってもよいし、罫線にとっての水平方向、垂直方向であってもよい。
また、罫線抽出モジュール110が計数する対象の画素は、黒画素又は白画素のいずれか一方であるが、本実施の形態では、黒画素の数を計数する例を示す。つまり、罫線が黒である表を対象とする。
画素数と比較する閾値は、予め定められた値である。前述のように「予め定められた」とは、罫線を抽出するために閾値と比較する前であれば、いつでもよいが、特に、黒画素数を計数した後に、その計数した黒画素数に応じて閾値を定めるようにしてもよい。例えば、計数した黒画素数のうちの最大値に対して予め定められた割合を掛けて、閾値を定めるようにしてもよい。また、計数した黒画素数で大きいものから順に選択して、予め定められた数まで選択した場合における黒画素数から閾値を定めるようにしてもよい。また、黒画素数でソートし、対象の黒画素数と次の黒画素数が予め定められた数以上の差があったときに、その対象の黒画素数から閾値を定めるようにしてもよい。
実線化モジュール120は、罫線抽出モジュール110、ノイズ識別・除去モジュール130と接続されている。罫線抽出モジュール110によって抽出された罫線を実線に変換する。つまり、罫線を構成している点線、破線等を実線に変換するものである。そして、実線化した罫線の画像をノイズ識別・除去モジュール130に渡す。例えば、縦又は横方向に膨張を行い、その後に収縮を行う。また、縦と横をそれぞれ別々に処理してもよい。つまり、縦罫線と判定された画像には、縦方向に膨張を行い、その後に収縮を行う。同様に、横罫線と判定された画像には、横方向に膨張を行い、その後に収縮を行う。これによって、点線、破線等の線に途切れがある罫線を実線化している。
なお、実線化モジュール120はなくてもよい。例えば、点線、破線等の罫線がない場合(罫線が実線だけで構成されている場合)は、実線化モジュール120による処理は不要である。
ノイズ識別・除去モジュール130は、罫線抽出モジュール110、実線化モジュール120、罫線画像生成モジュール160と接続されており、フィルタ生成モジュール140、フィルタ処理モジュール150を有している。罫線抽出モジュール110によって抽出された罫線の太さ及び閾値に基づいて、罫線抽出モジュール110によって抽出された罫線内の雑音成分(以下、ノイズともいう)を識別して除去する。そして、処理結果であるノイズを除去した罫線画像を罫線画像生成モジュール160へ渡す。例えば、ノイズ識別・除去モジュール130は、フィルタ生成モジュール140、フィルタ処理モジュール150を制御して、罫線のノイズの識別と除去を行う。より具体的な例として、フィルタ生成モジュール140を制御して、罫線抽出モジュール110が抽出した罫線の太さ及び罫線抽出モジュール110が用いる閾値に基づいて、ノイズよりも大きな大きさを有する濾波器を生成する。そして、フィルタ処理モジュール150を制御して、その濾波器によって罫線からノイズを除去する。なお、濾波器とは、画像処理分野で一般にフィルタと呼ばれているものであり、以下、フィルタという。
フィルタ生成モジュール140は、閾値取得モジュール142、罫線幅抽出モジュール144を有している。閾値取得モジュール142、罫線幅抽出モジュール144を制御して、ノイズ除去のためのフィルタを生成する。そして、その生成したフォルタをフィルタ処理モジュール150に渡す。例えば、閾値取得モジュール142から閾値、罫線幅抽出モジュール144から罫線の幅を得て、その閾値より小である値とその幅以上の値を用いてフィルタを生成する。より具体的な例として、罫線からノイズを除去するためのフィルタは矩形であり、その矩形の辺の長さは、罫線抽出モジュール110によって抽出された罫線の太さ以上の長さにしてもよい。また、その矩形の他方の辺の長さは、罫線抽出モジュール110が用いる閾値よりも短い長さにしてもよい。ただし、ノイズよりも短くすることはない。さらに具体的な例として、横罫線内のノイズを除去するためのフィルタとして矩形であり、そのフィルタの縦長は罫線の太さ以上であり、そのフィルタの横幅は閾値よりも短い長さとし、縦罫線内のノイズを除去するためのフィルタとして矩形であり、そのフィルタの縦長は閾値よりも短い長さであり、そのフィルタの横幅は罫線の太さ以上としてもよい。
閾値取得モジュール142は、罫線抽出モジュール110から、その罫線抽出モジュール110が罫線を抽出するために用いた閾値を取得する。
罫線幅抽出モジュール144は、罫線抽出モジュール110が抽出した罫線の幅(縦罫線の場合は水平方向に計測した横幅、横罫線の場合は垂直方向に計測した縦幅)を抽出する。縦罫線又は横罫線の幅のうちからその幅の大きいものを抽出してもよい。例えば、その幅のうち最大値のものを抽出してもよい。また、縦罫線、横罫線のそれぞれの幅の最大値を抽出してもよい。
フィルタ処理モジュール150は、フィルタ生成モジュール140が生成したフィルタを用いて、罫線抽出モジュール110によって抽出された罫線の画像又は実線化モジュール120によって罫線を実線化した画像に対して、罫線内のノイズを識別して除去するフィルタ処理をする。ここでのフィルタ処理とは、その画像内を走査し、フィルタの外枠の位置にある画素が全て白である場合は、そのフィルタ内の画像はノイズであるとして除去するものである。
また、前述のフィルタ処理モジュール150は、フィルタの外枠の位置にある画素が全て白である場合は、そのフィルタ内の画像はノイズであるとして除去しているが、除去するのではなく、ノイズの候補として識別するようにしてもよい。つまり、フィルタ処理モジュール150は、ノイズと決定するのではなくて、あくまでノイズの候補として残しておき、ノイズ候補であることを示すマークだけを行う(印(しるし)付けだけを行う)。そして、他のノイズ識別手法(例えば、単なるパタンマッチングによる短線分検出等)によるノイズ候補の識別結果を得て、両方の結果でノイズ候補と判断された箇所のみを最終的にノイズと決定するようにしてもよい。また、ノイズ識別手法の代わりに、公知の点線破線検出手法を用いて、点線破線として検出しなかったものをノイズ候補とし、両方の結果でノイズ候補と判断された箇所のみを最終的にノイズと決定するようにしてもよい。そして、この決定されたノイズを除去する。より正確なノイズ除去を行う場合に、ここで示した他のノイズ識別手法又は点線破線検出手法を併用する。以下、フィルタの外枠の位置にある画素が全て白である場合は、そのフィルタ内の画像はノイズであるとして除去する手法を用いて説明するが、他の手法を併用するようにしてもよい。
罫線画像生成モジュール160は、ノイズ識別・除去モジュール130と接続されている。ノイズ識別・除去モジュール130によって罫線内のノイズを除去した画像を受け取って、罫線の画像を生成する。例えば、罫線抽出モジュール110、実線化モジュール120、ノイズ識別・除去モジュール130は、それぞれ縦罫線だけを扱って縦罫線の画像を生成した後に、横罫線だけを扱って横罫線の画像を生成し、罫線画像生成モジュール160が、その縦罫線の画像と横罫線の画像とを合成して罫線の画像を生成するようにしてもよい。
図2は、本実施の形態を具現化する場合の画像処理装置全体の構成例についての概念的なモジュール構成図である。
画像処理装置全体は、画像受付モジュール210、オブジェクト分離モジュール220、表領域抽出モジュール230、表罫線補正モジュール240、上書きモジュール250、文字認識モジュール260、情報構成モジュール270、出力モジュール280を備えている。
画像受付モジュール210は、オブジェクト分離モジュール220、上書きモジュール250と接続されている。画像を受け付けて、その画像をオブジェクト分離モジュール220、上書きモジュール250へ渡す。画像を受け付けるとは、例えば、スキャナ、カメラ等で画像を読み込むこと、ファックス等で通信回線を介して外部機器から画像を受信すること、ハードディスク(コンピュータに内蔵されているものの他に、ネットワークを介して接続されているもの等を含む)等に記憶されている画像を読み出すこと等が含まれる。画像は、2値画像、多値画像(カラー画像)であってもよい。なお、多値画像である場合は、2値化処理を行って、2値画像に変換する。受け付ける画像は、1枚であってもよいし、複数枚であってもよい。また、画像の内容として、表が含まれているような画像であれば、ビジネスに用いられる帳票等の文書、広告宣伝用のパンフレット等であってもよい。
また、画像受付モジュール210は、受け付けた画像に対して、ノイズ除去、傾き補正、正規化等の前処理を行うようにしてもよい。
オブジェクト分離モジュール220は、画像受付モジュール210、表領域抽出モジュール230、情報構成モジュール270と接続されている。画像受付モジュール210が受け付けた画像を構成するオブジェクト(部分画像)に分離する。オブジェクトには、少なくとも表領域が含まれており、その他に、文字領域、図形領域、写真領域等がある。そして、その分離結果を表領域抽出モジュール230へ渡し、領域の構成情報(各領域の受け付けた画像内における位置等)を情報構成モジュール270へ渡す。
部分画像への分離は、画像から空白等で区切られた領域(部分画像)を抽出することによって行う。この部分画像に分離する処理は、例えば、画像受付モジュール210によって受け付けられた画像から白画素の領域が一定の長さ(あるいは面積)以上あるところによって区切る。そのように区切ると、黒画素の領域(例えば、矩形)を抽出することができる。さらに、その黒画素の領域の画像としての特徴(例えば、面積、縦又は横の大きさ、形状、黒画素塊の存在位置等)を抽出し、文字領域、図形領域、表領域、写真領域等の種別を判別することができる。もちろん他の既存の方法で部分画像を抽出してもよい。
表領域抽出モジュール230は、オブジェクト分離モジュール220、表罫線補正モジュール240と接続されている。オブジェクト分離モジュール220から分離結果を受け取り、画像受付モジュール210が受け付けた画像内から表領域の画像を取り出す。そして、その表領域の画像を表罫線補正モジュール240へ渡す。
表罫線補正モジュール240は、表領域抽出モジュール230、上書きモジュール250と接続されている。表罫線補正モジュール240は、前述した図1に示したモジュールによって構成されている。つまり、表領域抽出モジュール230から表領域の画像を受け取って、その中の線分から表を構成している罫線を取り出して、ノイズを除去した罫線だけの画像を生成する。そして、その生成した表画像を上書きモジュール250へ渡す。詳細については、図3の例に示すフローチャートを用いて後述する。
上書きモジュール250は、画像受付モジュール210、表罫線補正モジュール240、文字認識モジュール260と接続されている。画像受付モジュール210が受け付けた画像に、表罫線補正モジュール240が生成した表画像を上書きする。そして、その表画像が上書きされた画像を文字認識モジュール260へ渡す。例えば、表画像を上書きすることによって、元の画像内の表を実線化した画像ができあがり、以降の処理では、その実線化された表を取り扱うこととなる。
文字認識モジュール260は、上書きモジュール250、情報構成モジュール270と接続されている。上書きモジュール250によって表画像が上書きされた画像内の文字認識処理を行う。ここでの、文字認識処理は既存の文字認識処理を用いてもよい。そして、文字認識処理は、表構造の解析等を行うようにしてもよい。例えば、既存の文字認識プログラムをそのまま適用してもよく、その場合、表構造の解析等をするにあたって、点線等の罫線がある場合よりも実線の罫線で構成されている表の方が適している。そして、文字認識結果を情報構成モジュール270へ渡す。
情報構成モジュール270は、オブジェクト分離モジュール220、文字認識モジュール260、出力モジュール280と接続されている。文字認識モジュール260から文字認識結果とオブジェクト分離モジュール220から領域の構成情報を受け取り、その画像の解析結果として構成情報を生成する。例えば、構成情報として、その画像内のある位置にどのような文字列があるか、表はどのような構造を有しており、その表内のセルにはどのような文字列があるか等を示す情報がある。そして、その構成情報を出力モジュール280へ渡す。
出力モジュール280は、情報構成モジュール270と接続されている。情報構成モジュール270から構成情報を受け取って、ページ情報に変換して出力する。ページ情報として、例えば、XML(eXtensible Markup Language)等のフォーマットがある。また、出力として、例えば、文書データベース等への記憶、翻訳処理装置等の他の情報処理装置への送信があるが、この他に、画像の清書を提示することを目的として、プリンタ等の印刷装置で印刷すること、ディスプレイ等の表示装置に表示すること、ファックス等の画像送信装置で画像を送信すること等を行ってもよい。
図3は、本実施の形態による処理例を示すフローチャートである。このフローチャートは、図2の例に示した表罫線補正モジュール240による処理例であり、図1の例に示したモジュールによる処理例である。
ステップS300では、表罫線補正モジュール240が、表領域抽出モジュール230から表領域の画像を受け取る。その受け取った同じ画像に対して、ステップS310からの縦罫線(垂直方向の罫線)の処理とステップS350からの横罫線(水平方向の罫線)の処理が行われる。
例えば、図5の例に示す表画像500が該当する。表画像500は、横罫線520から526、縦罫線530から538によって構成されている。また、図5の例に示すように、表画像500内の各セルには文字が記載されている。
ステップS310では、罫線抽出モジュール110が、ステップS300で受け付けた表領域画像の縦方向の投影分布を生成する。例えば、図6(a)の例に示すヒストグラムは、図5の例に示した表画像500の投影分布であり、横方向の各位置において、縦方向に黒画素数を計数したものである。なお、図6(b)の例には、図5の例に示す表画像500を示している。
ステップS312では、罫線抽出モジュール110が、ステップS310で生成した投影分布から縦罫線を抽出する。例えば、図6(a)の例に示すヒストグラムから、閾値TH_V以上になっている箇所が縦罫線が存在している位置(横方向における位置)であるとして、縦罫線を抽出する。図7(b)の例に示す縦罫線が、ステップS312で抽出された縦罫線である。縦罫線730から738までは、表画像500内の縦罫線530から538にそれぞれ対応する。また、誤認識ノイズ740は、横罫線524、横罫線526、縦罫線532、縦罫線536によって囲まれたセル内の文字(ppp内の2番目の文字p)が、罫線の候補として抽出されてしまったものである。つまり、投影分布から閾値TH_V以上になっている箇所にある部分を縦罫線として抽出しているために発生するものである。
ステップS314では、実線化モジュール120が、ステップS312で抽出した縦罫線を実線に変換する。例えば、縦方向に膨張、収縮処理を行って、点線、破線等を実線化する。例えば、図8(b)に示す例は、図7(b)に示す例を実線化したものである。縦罫線734、736の点線の罫線を実線に変換している。
ステップS316では、ノイズ識別・除去モジュール130が、実線化された縦罫線からノイズを除去する。詳細な処理については、図4の例に示すフローチャートを用いて後述する。
ステップS350では、罫線抽出モジュール110が、ステップS300で受け付けた表領域画像の横方向の投影分布を生成する。例えば、図6(c)の例に示すヒストグラムは、図5の例に示した表画像500の投影分布であり、縦方向の各位置において、横方向に黒画素数を計数したものである。
ステップS352では、罫線抽出モジュール110が、ステップS310で生成した投影分布から横罫線を抽出する。例えば、図6(c)の例に示すヒストグラムから、閾値TH_H以上になっている箇所が横罫線が存在している位置(縦方向における位置)であるとして、横罫線を抽出する。図7(a)の例に示す横罫線が、ステップS352で抽出された横罫線である。横罫線720から726までは、表画像500内の横罫線520から526にそれぞれ対応する。また、誤認識ノイズ728は、横罫線522、横罫線526、縦罫線536、縦罫線538によって囲まれたセル内の文字(文字列zz)が、罫線の候補として抽出されてしまったものである。つまり、投影分布から閾値TH_H以上になっている箇所にある部分を横罫線として抽出しているために発生するものである。
ステップS354では、実線化モジュール120が、ステップS352で抽出した横罫線を実線に変換する。例えば、横方向に膨張、収縮処理を行って、点線、破線等を実線化する。例えば、図8(a)に示す例は、図7(a)に示す例を実線化したものである。なお、横罫線は全て実線であるので、ステップS354の処理によっても変化はない。
ステップS356では、ノイズ識別・除去モジュール130が、実線化された横罫線からノイズを除去する。詳細な処理については、図4の例に示すフローチャートを用いて後述する。
ステップS380では、罫線画像生成モジュール160が、ステップS316、ステップS356でノイズが除去された罫線画像を合成する。例えば、図11は、ノイズが除去された縦罫線830から838と横罫線820から826とをOR(論理和)合成して、縦罫線830から838と横罫線820から826によって構成されている表画像1100を生成した例を示している。
ステップS382では、罫線画像生成モジュール160が、ステップS380で生成した罫線画像を上書きモジュール250に出力する。
そして、上書きモジュール250は、画像受付モジュール210が受け付けた元の画像に表罫線補正モジュール240から受け取った罫線画像(点線、破線等の罫線が実線化され、ノイズが除去されたもの)を上書きする。例えば、図5の例に示した表画像500は、図12の例に示すような表画像1200に変換されることになる。つまり、表のセル内の文字はそのままで、罫線は実線化されている。
図4は、本実施の形態によるノイズ除去の処理例を示すフローチャートである。つまり、図1の例に示したノイズ識別・除去モジュール130による処理例であり、図3の例に示したステップS316、ステップS356での処理例である。
ステップS402では、閾値取得モジュール142が、罫線抽出モジュール110が罫線を抽出するために用いた閾値を取得する。例えば、前述の例では、横罫線を抽出するために用いた閾値TH_H、縦罫線を抽出するために用いた閾値TH_Vを取得する。
ステップS404では、罫線幅抽出モジュール144が、罫線抽出モジュール110が抽出した罫線の幅を抽出する。例えば、図9の例に示すように、図9(a)に示す横罫線820から826と誤認識ノイズ828(図8(b)に示した例と同じものである)は、横方向に黒画素数を計数した数が閾値TH_H以上になっている箇所のそれぞれの画素幅(a画素幅920からd画素幅926まで)を抽出する。より具体的には、閾値TH_H以上になっている頻度分布(黒画素数)の連続している回数を計数して線幅を抽出する。なお、a画素幅920は横罫線820、b画素幅922は横罫線822、c画素幅924は横罫線824と誤認識ノイズ828、d画素幅926は横罫線826のそれぞれの線幅である。例えば、この中で、線幅が最も幅の広いものをフィルタを生成するための罫線幅として抽出してもよい。
ステップS406では、フィルタ生成モジュール140が、ステップS402で取得した閾値とステップS404で抽出した罫線幅とを用いてフィルタを生成する。例えば、フィルタは、図10の例に示すような形状である。つまり、横幅M画素、縦長N画素の矩形である。
例えば、横罫線内のノイズを除去するためのフィルタの横幅M、縦長Nは次に示す数式(1)、(2)によって定めてもよい。
M=閾値×α (1)
N=罫線幅×β (2)
なお、α、βはフィルタサイズを調整するためのパラメータである。横罫線内のノイズを除去するためのフィルタの場合、α<1、β≧1である。つまり、横幅Mは横罫線を抽出するための閾値よりも小であり、縦長Nは罫線幅以上である。これは、ノイズは1つのセルに収まる大きさであり、その線幅は抽出された罫線幅を超えることはないことから、横罫線と認められる長さの最短の長さ(つまり閾値)よりも短い横幅Mの辺と、罫線幅よりも長い縦長Nの辺とで構成されるフィルタを生成するためである。ただし、αは、ノイズとして除去したいものの線長以上になるように定める。
例えば、縦罫線内のノイズを除去するためのフィルタの横幅M、縦長Nは次に示す数式(3)、(4)によって定めてもよい。
M=罫線幅×β (3)
N=閾値×α (4)
なお、α、βはフィルタサイズを調整するためのパラメータである。縦罫線内のノイズを除去するためのフィルタの場合、α<1、β≧1である。つまり、横幅Mは罫線幅以上であり、縦長Nは縦罫線を抽出するための閾値よりも小である。これは、ノイズは1つのセルに収まる大きさであり、その線幅は抽出された罫線幅を超えることはないことから、罫線幅よりも長い横幅Mの辺と、縦罫線と認められる長さの最短の長さ(つまり閾値)よりも短い縦長Nの辺とで構成されるフィルタを生成するためである。ただし、αは、ノイズとして除去したいものの線長以上になるように定める。
ステップS408では、フィルタ処理モジュール150が、ステップS406で生成されたフィルタを用いて、実線化されたそれぞれの罫線画像(横罫線の画像と縦罫線の画像)からノイズを除去する。例えば、フィルタを罫線画像上で走査して、フィルタ内であり外周に沿った枠(図10の例では、2つの点線の矩形に囲まれた領域)内が全て白である場合には、その枠内の画像を白に変換する処理を行う。なお、枠は1画素幅であってもよいし、複数画素の幅であってもよい。また、枠内の画像の判断をすることなく、白に変換するようにしてもよい。つまり、枠内の画像が全て白であったとしても、白に変換する。また、枠内に黒画素がある場合にそれを白に変換するようにしてもよい。
図13を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。図13に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部1317と、プリンタなどのデータ出力部1318を備えたハードウェア構成例を示している。
CPU(Central Processing Unit)1301は、前述の実施の形態において説明した各種のモジュール、すなわち、罫線抽出モジュール110、実線化モジュール120、ノイズ識別・除去モジュール130、罫線画像生成モジュール160等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
ROM(Read Only Memory)1302は、CPU1301が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1303は、CPU1301の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス1304により相互に接続されている。
ホストバス1304は、ブリッジ1305を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス1306に接続されている。
キーボード1308、マウス等のポインティングデバイス1309は、操作者により操作される入力デバイスである。ディスプレイ1310は、液晶表示装置又はCRT(Cathode Ray Tube)などがあり、各種情報をテキストやイメージ情報として表示する。
HDD(Hard Disk Drive)1311は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU1301によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、受け付けられた画像や黒画素の計数結果などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
ドライブ1312は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1313に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1307、外部バス1306、ブリッジ1305、及びホストバス1304を介して接続されているRAM1303に供給する。リムーバブル記録媒体1313も、ハードディスクと同様のデータ記録領域として利用可能である。
接続ポート1314は、外部接続機器1315を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1314は、インタフェース1307、及び外部バス1306、ブリッジ1305、ホストバス1304等を介してCPU1301等に接続されている。通信部1316は、ネットワークに接続され、外部とのデータ通信処理を実行する。データ読み取り部1317は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1318は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
なお、図13に示す画像処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図13に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図13に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
前記実施の形態においては、罫線が途中で途切れる例として点線、破線を示したが、一点鎖線、二点鎖線等を用いた罫線であってもよい。
また、図3の例に示したフローチャートでは、ステップS300からステップS310とステップS350の処理に分かれたが、ステップS310からステップS316までの処理を行った後に、受け付けられた画像を90度回転して、再度ステップS310からステップS316までの処理を行うようにしてもよい。
また、前記実施の形態の説明において、「以上」、「以下」、「より大きい」、「より小さい(未満)」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい(未満)」、「以上」、「以下」としてもよい。
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray Disc(登録商標))、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM)、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
110…罫線抽出モジュール
120…実線化モジュール
130…ノイズ識別・除去モジュール
140…フィルタ生成モジュール
142…閾値取得モジュール
144…罫線幅抽出モジュール
150…フィルタ処理モジュール
160…罫線画像生成モジュール
210…画像受付モジュール
220…オブジェクト分離モジュール
230…表領域抽出モジュール
240…表罫線補正モジュール
250…上書きモジュール
260…文字認識モジュール
270…情報構成モジュール
280…出力モジュール

Claims (3)

  1. 画像内の画素数を計数し、該計数した画素数を閾値と比較して罫線を抽出する罫線抽出手段と、
    前記罫線抽出手段によって抽出された罫線の太さ及び前記閾値に基づいて、前記罫線抽出手段によって抽出された罫線内の雑音成分を識別する雑音成分識別手段
    を具備し、
    前記雑音成分識別手段は、雑音成分よりも大きな大きさを有する濾波器を生成し、該濾波器によって雑音成分を識別し、該濾波器は矩形であり、該矩形の一方の辺の長さは、前記罫線抽出手段によって抽出された罫線の太さに1以上の係数を乗算して定め、該矩形の他方の辺の長さは、前記閾値に1未満の係数を乗算して定める
    ことを特徴とする画像処理装置。
  2. 前記罫線抽出手段によって抽出された罫線を実線に変換する実線化手段
    をさらに具備し、
    前記雑音成分識別手段は、前記実線化手段によって実線に変換された罫線内の雑音成分を識別する
    ことを特徴とする請求項1に記載の画像処理装置。
  3. コンピュータを、
    画像内の画素数を計数し、該計数した画素数を閾値と比較して罫線を抽出する罫線抽出手段と、
    前記罫線抽出手段によって抽出された罫線の太さ及び前記閾値に基づいて、前記罫線抽出手段によって抽出された罫線内の雑音成分を識別する雑音成分識別手段
    として機能させ
    前記雑音成分識別手段は、雑音成分よりも大きな大きさを有する濾波器を生成し、該濾波器によって雑音成分を識別し、該濾波器は矩形であり、該矩形の一方の辺の長さは、前記罫線抽出手段によって抽出された罫線の太さに1以上の係数を乗算して定め、該矩形の他方の辺の長さは、前記閾値に1未満の係数を乗算して定める
    ことを特徴とする画像処理プログラム。
JP2009024443A 2009-02-05 2009-02-05 画像処理装置及び画像処理プログラム Expired - Fee Related JP5262778B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009024443A JP5262778B2 (ja) 2009-02-05 2009-02-05 画像処理装置及び画像処理プログラム
US12/552,627 US8542931B2 (en) 2009-02-05 2009-09-02 Ruled line extraction technique based on comparision results and indentifying noise based on line thickness

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009024443A JP5262778B2 (ja) 2009-02-05 2009-02-05 画像処理装置及び画像処理プログラム

Publications (2)

Publication Number Publication Date
JP2010182052A JP2010182052A (ja) 2010-08-19
JP5262778B2 true JP5262778B2 (ja) 2013-08-14

Family

ID=42397770

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009024443A Expired - Fee Related JP5262778B2 (ja) 2009-02-05 2009-02-05 画像処理装置及び画像処理プログラム

Country Status (2)

Country Link
US (1) US8542931B2 (ja)
JP (1) JP5262778B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI461656B (zh) * 2011-12-01 2014-11-21 Ind Tech Res Inst 距離感測裝置及距離感測方法
US10417489B2 (en) * 2015-11-19 2019-09-17 Captricity, Inc. Aligning grid lines of a table in an image of a filled-out paper form with grid lines of a reference table in an image of a template of the filled-out paper form

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2890306B2 (ja) 1988-07-12 1999-05-10 富士ゼロックス株式会社 表領域分離装置および表領域分離方法
JPH0554189A (ja) 1991-08-28 1993-03-05 N T T Data Tsushin Kk 画像情報処理装置
JPH0696274A (ja) 1991-08-29 1994-04-08 Nippon Steel Corp 文字等の認識方法
US5594815A (en) * 1992-10-19 1997-01-14 Fast; Bruce B. OCR image preprocessing method for image enhancement of scanned documents
JPH09282414A (ja) * 1996-04-10 1997-10-31 Fujitsu Ltd パターン抽出装置
US5923782A (en) * 1996-08-01 1999-07-13 Nynex Science & Technology, Inc. System for detecting and identifying substantially linear horizontal and vertical lines of engineering drawings
JPH1049676A (ja) 1996-08-06 1998-02-20 Ricoh Co Ltd 罫線認識方法
US6226402B1 (en) * 1996-12-20 2001-05-01 Fujitsu Limited Ruled line extracting apparatus for extracting ruled line from normal document image and method thereof
US6327387B1 (en) * 1996-12-27 2001-12-04 Fujitsu Limited Apparatus and method for extracting management information from image
JPH11242716A (ja) 1998-02-25 1999-09-07 Ricoh Co Ltd 画像処理方法および記録媒体
JP2000082110A (ja) * 1998-07-02 2000-03-21 Ricoh Co Ltd 罫線消去装置および文字画像抽出装置および罫線消去方法および文字画像抽出方法および記録媒体
JP2000048121A (ja) 1998-08-03 2000-02-18 Ricoh Co Ltd 表罫線認識方法及び表罫線認識プログラムを記録した媒体
KR100657385B1 (ko) * 1998-12-16 2006-12-19 후지쯔 가부시끼가이샤 표 화상 처리 장치, 그 처리 프로그램을 저장하는 기억 매체 및 표 관리 처리 방법
JP4089849B2 (ja) 1999-02-01 2008-05-28 株式会社リコー 罫線処理装置および記録媒体
JP2000259826A (ja) 1999-03-12 2000-09-22 Ricoh Co Ltd 罫線抽出方法、装置および記録媒体
JP2001060247A (ja) * 1999-06-14 2001-03-06 Fuji Xerox Co Ltd 画像処理装置および画像処理方法

Also Published As

Publication number Publication date
US20100195915A1 (en) 2010-08-05
US8542931B2 (en) 2013-09-24
JP2010182052A (ja) 2010-08-19

Similar Documents

Publication Publication Date Title
JP5206503B2 (ja) 画像処理装置及び画像処理プログラム
KR101248449B1 (ko) 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기억 매체
US8805076B2 (en) Image processing apparatus, image processing method and computer readable medium
US8503774B2 (en) Apparatus, method and computer readable medium for performing solid-line conversion from lines having breaks
JP5262778B2 (ja) 画像処理装置及び画像処理プログラム
US8977044B2 (en) Image processing apparatus for area separation of images, image processing method, and computer readable medium
JP4780184B2 (ja) 画像処理装置及び画像処理プログラム
JP5742283B2 (ja) 画像処理装置及び画像処理プログラム
US8494272B2 (en) Image processing device, image processing method, and computer readable medium for judging if images are matched
JP5489894B2 (ja) 画像処理装置及び画像処理プログラム
JP2017010187A (ja) 画像処理装置及び画像処理プログラム
JP2012175597A (ja) 画像処理装置及び画像処理プログラム
JP4872780B2 (ja) 画像処理システム及び画像処理プログラム
JP4995507B2 (ja) 画像処理システム、文字認識システムおよび画像処理プログラム
JP6606885B2 (ja) 画像処理装置及び画像処理プログラム
JP6409423B2 (ja) 画像処理装置及び画像処理プログラム
JP4670916B2 (ja) 画像処理装置及び画像処理プログラム
JP2013161158A (ja) 画像処理装置及び画像処理プログラム
JP6252091B2 (ja) 画像処理装置及び画像処理プログラム
JP2010039810A (ja) 画像処理装置及び画像処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121114

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130415

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5262778

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees