(57)【特許請求の範囲】
【請求項１】
画像を二値で表した二値化画像を取得する取得手段と、
前記取得手段で取得された二値化画像中の図形部分を特定する図形特定手段と、
前記図形特定手段で特定された部分にある線分を特定する線分特定手段と、
前記線分特定手段で特定された各線分の交差関係を判定する交差判定手段と、
前記線分特定手段で特定された線分と、前記交差判定手段で判定された交差関係とにより、矩形が複数行または複数列で並んだセル構造と、該セル構造を構成せずに独立した独立矩形を特定する構造特定手段と、
前記構造特定手段で特定された前記独立矩形に基づいて前記図形特定手段で特定された図形部分が表領域であるか否かを判定する手段であって、前記構造特定手段で特定されたセル構造を構成する矩形のうち、前記構造特定手段で特定された独立矩形が内側にある矩形以外の矩形について、該矩形の面積が前記セル構造の面積において占める割合を算定し、該算定した割合に基づいて、前記図形特定手段で特定された図形部分が表領域であるか否かを判定する表領域判定手段と
を有する画像処理装置。
【請求項２】
前記構造特定手段は、特定したセル構造を構成する矩形の内部についてさらに前記セル構造を特定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記セル構造は、１行ｎ列またはｎ行１列（ｎ≧２）で矩形が並んだ構造であることを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記構造特定手段は、特定したセル構造を構成する矩形について、該矩形の角部の内側にある前記セル構造を特定することを特徴とする請求項２または請求項３に記載の画像処理装置。
【請求項５】
コンピュータを、
画像を二値で表した二値化画像を取得する取得手段と、
前記取得手段で取得された二値化画像中の図形部分を特定する図形特定手段と、
前記図形特定手段で特定された部分にある線分を特定する線分特定手段と、
前記線分特定手段で特定された各線分の交差関係を判定する交差判定手段と、
前記線分特定手段で特定された線分と、前記交差判定手段で判定された交差関係とにより、矩形が複数行または複数列で並んだセル構造と、該セル構造を構成せずに独立した独立矩形を特定する構造特定手段と、
前記構造特定手段で特定された前記独立矩形に基づいて前記図形特定手段で特定された図形部分が表領域であるか否かを判定する手段であって、前記構造特定手段で特定されたセル構造を構成する矩形のうち、前記構造特定手段で特定された独立矩形が内側にある矩形以外の矩形について、該矩形の面積が前記セル構造の面積において占める割合を算定し、該算定した割合に基づいて、前記図形特定手段で特定された図形部分が表領域であるか否かを判定する表領域判定手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置およびプログラムに関する。
【背景技術】
【０００２】
画像中の表領域を認識する装置としては、例えば、特許文献１に開示された装置がある。この装置は、画像からセル領域の候補領域を特定し、複数の候補領域について表を構成することが可能な組み合わせ候補を選定する。そして、組み合わせの候補毎に表を構成する可能性の度合いを示す評価値を算出し、算出した度合いが最大の候補を選択して表を構成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２１３２５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、表領域ではない領域が表領域として判定されることを少なくする技術を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の請求項１に係る画像処理装置は、画像を二値で表した二値化画像を取得する取得手段と、前記取得手段で取得された二値化画像中の図形部分を特定する図形特定手段と、前記図形特定手段で特定された部分にある線分を特定する線分特定手段と、前記線分特定手段で特定された各線分の交差関係を判定する交差判定手段と、前記線分特定手段で特定された線分と、前記交差判定手段で判定された交差関係とにより、矩形が複数行または複数列で並んだセル構造と、該セル構造を構成せずに独立した独立矩形を特定する構造特定手段と、前記構造特定手段で特定された前記独立矩形に基づいて前記図形特定手段で特定された図形部分が表領域であるか否かを判定する手段であって、前記構造特定手段で特定されたセル構造を構成する矩形のうち、前記構造特定手段で特定された独立矩形が内側にある矩形以外の矩形について、該矩形の面積が前記セル構造の面積において占める割合を算定し、該算定した割合に基づいて、前記図形特定手段で特定された図形部分が表領域であるか否かを判定する表領域判定手段とを有する。
【０００７】
本発明の請求項２に係る画像処理装置は、請求項１に記載の画像処理装置において、前記構造特定手段は、特定したセル構造を構成する矩形の内部についてさらに前記セル構造を特定することを特徴とする。
【０００８】
本発明の請求項３に係る画像処理装置は、請求項１または請求項２に記載の画像処理装置において、前記セル構造は、１行ｎ列またはｎ行１列（ｎ≧２）で矩形が並んだ構造であることを特徴とする。
【０００９】
本発明の請求項４に係る画像処理装置は、請求項２または請求項３に記載の画像処理装置において、前記構造特定手段は、特定したセル構造を構成する矩形について、該矩形の角部の内側にある前記セル構造を特定することを特徴とする。
【００１０】
本発明の請求項５に係るプログラムは、コンピュータを、画像を二値で表した二値化画像を取得する取得手段と、前記取得手段で取得された二値化画像中の図形部分を特定する図形特定手段と、前記図形特定手段で特定された部分にある線分を特定する線分特定手段と、前記線分特定手段で特定された各線分の交差関係を判定する交差判定手段と、前記線分特定手段で特定された線分と、前記交差判定手段で判定された交差関係とにより、矩形が複数行または複数列で並んだセル構造と、該セル構造を構成せずに独立した独立矩形を特定する構造特定手段と、前記構造特定手段で特定された前記独立矩形に基づいて前記図形特定手段で特定された図形部分が表領域であるか否かを判定する手段であって、前記構造特定手段で特定されたセル構造を構成する矩形のうち、前記構造特定手段で特定された独立矩形が内側にある矩形以外の矩形について、該矩形の面積が前記セル構造の面積において占める割合を算定し、該算定した割合に基づいて、前記図形特定手段で特定された図形部分が表領域であるか否かを判定する表領域判定手段として機能させるためのプログラムである。
【発明の効果】
【００１１】
本発明の請求項１、５に係る発明によれば、本発明の構成を有さないものと比較して、表領域ではない領域が表領域として判定されることを少なくすることができる。
本発明の請求項２に係る発明によれば、特定したセル構造に含まれる矩形の内部についてさらにセル構造を特定しないものと比較して、表領域ではない領域が表領域として判定されることを少なくすることができる。
本発明の請求項３に係る発明によれば、１行ｎ列またはｎ行１列（ｎ≧２）で矩形が並んだ構造をセル構造と特定しないものと比較して、表領域ではない領域が表領域として判定されることを少なくすることができる。
本発明の請求項４に係る発明によれば、特定したセル構造に含まれる矩形の角部の内側にセル構造がある図形を、表領域として判定することができる。
【図面の簡単な説明】
【００１２】
【図１】コンピュータ装置１のハードウェア構成を示したブロック図。
【図２】コンピュータ装置１において実現する機能ブロックを示した図。
【図３】ＣＰＵ１０２が行う処理の流れを示したフローチャート。
【図４】二値化画像の一例を示した図。
【図５】線分テーブルＴＢ１０のフォーマットを例示した図。
【図６】リスト３００の内容を示した図。
【図７】実施形態の動作を説明するための図。
【図８】実施形態の動作を説明するための図。
【図９】実施形態の動作を説明するための図。
【図１０】実施形態の動作を説明するための図。
【図１１】二値化画像の一例を示した図。
【図１２】実施形態の動作を説明するための図。
【図１３】リスト３００の内容を示した図。
【図１４】二値化画像の一例を示した図。
【図１５】リスト３００の内容を示した図。
【図１６】二値化画像の一例を示した図。
【図１７】リスト３００の内容を示した図。
【図１８】二値化画像の一例を示した図。
【図１９】リスト３００の内容を示した図。
【発明を実施するための形態】
【００１３】
［実施形態］
（実施形態の構成）
図１は、本発明の一実施形態に係るコンピュータ装置１のハードウェア構成を示したブロック図である。本実施形態においてコンピュータ装置１は、所謂ＰＣ（Personal Computer）であり、図１に示したように、各部は、バス１０１に接続され、このバス１０１を介して各部間で情報のやり取りを行う。
【００１４】
表示部１０７は、画像を表示する表示装置として液晶ディスプレイを備えており、ＣＰＵ１０２の制御の下、コンピュータ装置１を操作するためのメニュー画面や各種メッセージ、画像等を表示する。なお、表示装置は液晶ディスプレイに限定されるものではなく、ＣＲＴ（Cathode Ray Tube）やＥＬ（electroluminescence）を用いたディスプレイなど他の表示装置であってもよい。
操作部１０６は、コンピュータ装置１を操作するためのキーボードやマウスを備えている。ユーザがこのキーボードやマウスを操作することにより、コンピュータ装置１に対する各種指示の入力や各種設定が行われる。
画像取得部１０８は、スキャナが接続されるインターフェースであり、紙面の画像を読み取り、読み取った画像の画像データを生成するスキャナと通信を行い、スキャナから画像データを取得する。
【００１５】
記憶部１０５はハードディスク装置を具備しており、コンピュータ装置１にオペレーティングシステムの機能を実現させるプログラムや、画像データが示す画像に画像処理を施す画像処理プログラム、スキャナから取得した画像データなどを記憶する。
ＲＯＭ（Read Only Memory）１０３は、ＩＰＬ（Initial Program Loader）を記憶しており、ＣＰＵ（Central Processing Unit）１０２は、ＲＯＭ１０３に記憶されているＩＰＬを読み出して実行する。ＩＰＬが実行されると、記憶部１０５からオペレーティングシステムの機能を実現させるプログラムが読み出されて実行される。また、オペレーティングシステムの機能を実現させるプログラムが実行されると、ＣＰＵ１０２により画像処理プログラムを実行することが可能となる。そして、ＣＰＵ１０２により画像処理プログラムが実行されると、コンピュータ装置１は、画像データが示す画像を処理する画像処理装置として機能し、画像中にある図形が表であるか否か判定し、表の領域を特定する機能が実現する。
【００１６】
図２は、画像処理プログラムをＣＰＵ１０２が実行したことにより実現する機能を示したブロック図である。
二値化部２００は、画像取得部１０８で取得された画像データが表す画像を白黒の二値の画像に二値化するブロックであり、二値化された画像（以下、二値化画像と称する）を得る取得手段の一例である。本実施形態においては、二値化画像は、画素の値を１ビットで表しており、黒の画素を「１」、白の画素を「０」とし、白画素が画像の背景を表している。なお、二値化画像は、黒の画素を「０」、白の画素を「１」で表してもよい。また、黒の画素を「１０」、白の画素を「１」というように、「０」と「１」以外の数値で黒画素と白画素を表してもよい。
図形特定部２０１は、二値化画像中の図形の部分を特定するブロックである。画像から図形の部分を特定する技術としては、例えば、特開平３−１０２９６４号公報に記載されている技術など公知の技術を採用できる。なお、画像から図形の部分を特定する技術は、特開平３−１０２９６４号公報に記載されている技術に限定されず、他の技術を採用してもよい。
線分特定部２０２は、図形特定部２０１で特定された図形部分にある線分を特定するブロックである。線分を特定する技術としては、例えば、特開平２−２１０５８６号公報に記載されている技術のように、二値化画像を走査し、予め定められた閾値以上に黒画素が連続している部分を線分として特定するという手法など公知の様々な技術を採用できる。なお、図形部分にある線分を特定する技術は、特開平２−２１０５８６号公報に記載されている技術に限定されず、他の技術を採用してもよい。
【００１７】
交差判定部２０３は、線分特定部２０２で特定された線分同士の交差関係を判定するブロックであり、線分の始点と終点の座標から、線分同士が交差しているか否か判定する。
構造特定部２０４は、図形特定部２０１が特定した図形部分において矩形の升目部分を特定するブロックであり、線分特定部２０２が特定した線分と、交差判定部２０３が判定した線分同士の交差関係とを用いて図形部分にある矩形を特定し、複数行または複数列で矩形が並んだ構造や、セル構造を構成せずに独立した矩形などを特定する。
リスト作成部２０５は、構造特定部２０４で特定された構造を表すリストを生成するブロックである。
表領域判定部２０６は、リスト作成部２０５が作成したリストを用いて図形特定部２０１が特定した図形部分が表であるか否か判定するブロックである。
【００１８】
（実施形態の動作）
以下、本実施形態の動作例について説明する。なお、以下の説明においては、まず、画像データが示す画像を表ではないと判定する場合の動作について説明し、次に画像データが示す画像を表であると判定する場合の動作について説明する。
【００１９】
（画像を表ではないと判定する場合の動作）
まず、ユーザが画像取得部１０８に接続されたスキャナに画像が描かれた紙をセットし、紙面の画像の読み取りを行わせると、紙面の画像を表す画像データがスキャナにおいて生成される。次に、ユーザが、スキャナで生成された画像データの取得を指示する操作を操作部１０６において行うと、画像取得部１０８がスキャナと通信を行い、スキャナで生成された画像データが取得されて記憶部１０５に記憶される。
【００２０】
また、ユーザが、画像処理プログラムの実行を指示する操作を操作部１０６において行うと、画像処理プログラムがＣＰＵ１０２により実行される。次に、記憶部１０５に記憶された画像データを指定し、この指定した画像データに対して画像処理を行うように指示する操作をユーザが操作部１０６において行うと、ＣＰＵ１０２は、画像処理プログラムに従って図３に示した処理を実行する。
【００２１】
具体的には、まず、ＣＰＵ１０２は、ユーザにより指定された画像データの画像を二値化する処理（ステップＳＡ１）を行う。ここで、図４は、二値化処理により得られた二値化画像の一例を示した図であり、図４に示した画像Ｇ１０は、棒グラフの画像である。なお、ＣＰＵ１０２は、画像データの画像を二値化しているため、ここで二値化部２００として機能している。
【００２２】
ＣＰＵ１０２は、二値化処理が終了すると二値化画像を解析し、二値化画像にある図形の部分を特定する（ステップＳＡ２）。例えば、図４の二値化画像の場合、画像Ｇ１０の部分が図形の部分として特定される。ＣＰＵ１０２は、二値化画像にある図形部分を特定すると、各図形部分を一意に識別する図形識別子を生成し、例えば、画像Ｇ１０の部分に対して「１」という図形識別子を生成する。なお、ＣＰＵ１０２は、二値化画像にある図形部分を特定しているため、ここで図形特定部２０１として機能している。
【００２３】
次にＣＰＵ１０２は、特定した図形部分にある線分を特定し、各線分の座標を特定する（ステップＳＡ３）。例えば、図４の二値化画像の場合、画像Ｇ１０の部分からは、縦方向に描かれた線分Ｌ１０１〜Ｌ１１０と、横方向に描かれた線分Ｌ１２１〜Ｌ１３０とが特定される。なお、線分の座標としては、例えば画像の左下隅を原点として、原点から横方向にｘ座標、原点から縦方向にｙ座標をとった場合の座標が特定される。ＣＰＵ１０２は、図形部分にある線分の特定をしているため、ここで線分特定部２０２として機能している。
【００２４】
ＣＰＵ１０２は、各図形部分にある線分を特定すると、各線分を一意に識別するラベル番号を各線分に付ける。そして、図形部分に付けられた図形識別子と、この図形識別子で特定される部分にある各線分のラベル番号、各線分の両端の座標を対応付け、ＲＡＭ（Random Access Memory）１０４に設けられる線分テーブルＴＢ１０に格納する（ステップＳＡ４）。ここで、図５は、線分テーブルＴＢ１０のフォーマットの一例である。線分テーブルＴＢ１０は、図形識別子、ラベル番号、線分の両端の座標、交差する他の線分のラベル番号の列を有している。なお、本説明においては、各線分の符号における数の部分とラベル番号とを同じにしており、例えば、１０１というラベル番号は、線分Ｌ１０１に付けたラベル番号である。
【００２５】
ＣＰＵ１０２は、ステップＳＡ４の処理が終了すると、ラベル番号が付けられた各線分を参照して線分同士の交差関係を判定する（ステップＳＡ５）。そして、一の線分に交差する他の線分のラベル番号を、線分テーブルＴＢ１０に格納する。つまり、ＣＰＵ１０２は、ここで線分同士の交差関係を判定する交差判定部２０３として機能する。
例えば、図４の画像の場合、線分Ｌ１０１については、線分Ｌ１２１，Ｌ１２２，Ｌ１２４，Ｌ１２８，Ｌ１３０が交差しているため、線分Ｌ１０１のラベル番号「１０１」に対応付けて、線分Ｌ１２１，Ｌ１２２，Ｌ１２４，Ｌ１２８，Ｌ１３０のラベル番号が図５に示したように格納される。
【００２６】
ＣＰＵ１０２は、ステップＳＡ５の処理が終了すると、線分テーブルＴＢ１０に格納されている情報を用いて、特定された図形部分において複数行または複数列で矩形がある部分を特定し（ステップＳＡ６）、特定した矩形間の関係を表すリスト３００を作成する（ステップＳＡ７）。つまり、ここでＣＰＵ１０２は、複数行または複数列で矩形が並んだ構造（セル構造）を特定する構造特定部２０４と、構造特定部２０４で特定された構造を表すリストを作成するリスト作成部２０５として機能する。なお、本実施形態においては、ＣＰＵ１０２は、複数行または複数列で矩形がある部分を特定する際、ｎ行１列または１行ｎ列（ｎ≧２）で矩形がある部分を特定する。
具体的には、まずＣＰＵ１０２は、ステップＳＡ２で特定した図形の外周となる線分で囲まれて複数行または複数列で矩形が並んでいる部分を特定し、並んでいる各矩形に対してラベルを付ける処理を行う。例えば図４の画像の場合、ＣＰＵ１０２は、線分の座標と交差関係から図形の外周となる線分として線分Ｌ１０１，Ｌ１２１，Ｌ１１０，Ｌ１３０を特定し、図７に示したように、複数行で矩形がある部分として矩形Ｒ１０、矩形Ｒ２０、矩形Ｒ３０および矩形Ｒ４０の部分を特定する。そして、ＣＰＵ１０２は、各矩形に対してＩＤ１０，ＩＤ２０，ＩＤ３０，ＩＤ４０というラベルを付け、図６に示したように図形の図形識別子に対して各ラベルを関連付けたリスト３００を作成する。
なお、以下の説明においては、特定した矩形内にさらに矩形がある場合、矩形内に含まれる矩形を下位の矩形と称し、内側に矩形を含んでいる矩形を上位の矩形と称する。例えば、矩形Ｒ２０の部分は、内側に後述する矩形Ｒ２１〜Ｒ２３があるため、矩形Ｒ２０は、矩形Ｒ２１〜Ｒ２３に対して上位の矩形となり、矩形Ｒ２１〜Ｒ２３は、矩形Ｒ２０に対して下位の矩形となる。
【００２７】
ＣＰＵ１０２は、特定した各矩形について、さらに矩形内において複数行または複数列で矩形がある部分を特定する処理を続ける。例えば、矩形Ｒ１０については、この矩形内には、複数行または複数列で矩形がないため、この矩形Ｒ１０については、ＣＰＵ１０２は、下位にある矩形の特定を終了する。
【００２８】
また、矩形Ｒ２０については、ＣＰＵ１０２は、図８に示したように複数列の矩形Ｒ２１〜Ｒ２３を特定し、各矩形に対してＩＤ２１，ＩＤ２２，ＩＤ２３というラベルを付け、図６に示したように各矩形のラベルをリスト３００にあるＩＤ２０に関連付ける。これにより、図６のリスト３００を参照すると、ＩＤ２１，ＩＤ２２，ＩＤ２３で特定される矩形がＩＤ２０で特定される矩形の下位の矩形であることが分かる。
そして、さらに矩形Ｒ２１については、複数行または複数列ではないものの、内側に矩形がある。この場合、ＣＰＵ１０２は、矩形Ｒ２１の内側にある矩形についてはセル構造を構成しない独立した矩形（独立矩形）として特定する。そして、独立矩形を含む矩形Ｒ２１については表の一部を構成する矩形ではないものと判断し、表を構成する矩形ではない矩形であることを示す「？」を図６に示したようにＩＤ２１に対応付ける。
【００２９】
また、矩形Ｒ３０については、ＣＰＵ１０２は、図９に示したように、複数列の矩形Ｒ３１〜Ｒ３７を特定し、各矩形に対してＩＤ３１〜ＩＤ３７というラベルを付け、図６に示したように各矩形のラベルをリスト３００にあるＩＤ３０に関連付ける。
そして矩形Ｒ３４と矩形Ｒ３６については、各矩形内に複数行の矩形があるため、ＣＰＵ１０２は、複数行の各矩形に対してラベルを付し、図６に示したように、リスト３００にあるＩＤ３４とＩＤ３６に対して各矩形のラベルを関連付ける。
なお、矩形Ｒ３７については、セル構造ではなく内側に独立矩形がある。ＣＰＵ１０２は、セル構造でない矩形Ｒ３７については表の一部を構成する矩形ではないものとし、表を構成する矩形ではない矩形であることを示す「？」を図６に示したようにリスト３００にあるＩＤ３７に対応付ける。
【００３０】
また、矩形Ｒ４０については、ＣＰＵ１０２は、図１０に示したように、複数列の矩形Ｒ４１〜Ｒ４９を特定し、各矩形に対してＩＤ４１〜ＩＤ４９というラベルを付け、図６に示したように各矩形のラベルをリスト３００にあるＩＤ４０に関連付ける。
そして、矩形Ｒ４８については、矩形内に複数行の矩形があるため、ＣＰＵ１０２は、複数行の各矩形に対してラベルを付し、図６に示したように、リスト３００にあるＩＤ４８に対して各矩形のラベルを関連付ける。
【００３１】
次にＣＰＵ１０２は、ラベルが付けられた各矩形の面積について上位の矩形の面積に占める割合を算出し、算出した割合を図６のリスト３００にあるラベルに対応付ける（ステップＳＡ８）。
例えば、矩形Ｒ１０，Ｒ２０，Ｒ３０，Ｒ４０の各面積が等しい場合、図形識別子として「１」が付けられた画像Ｇ１０の面積に占める各矩形の面積の割合は、各々２５％となるため、ＣＰＵ１０２は、図６に示したように「２５％」をリスト３００にあるＩＤ１０，ＩＤ２０，ＩＤ３０，ＩＤ４０に対応付ける。また、例えば矩形Ｒ２０の面積に占める矩形Ｒ２１の面積の割合が６０％、矩形Ｒ２０の面積に占める矩形Ｒ２２の面積の割合が１０％、矩形Ｒ２０の面積に占める矩形Ｒ２３の面積の割合が３０％である場合、ＣＰＵ１０２は、図６に示したようにリスト３００にあるＩＤ２１に対して６０％、ＩＤ２２に対して１０％、ＩＤ２３に対して３０％を対応付ける。なお、他のラベルが付けられた矩形についても同様に面積の割合を求めると、図４に示した画像の場合、図６に示したように各矩形の面積の割合がラベルに対応付けられる。このように、ここでもＣＰＵ１０２は、リストを作成するためリスト作成部２０５として機能している。
【００３２】
次にＣＰＵ１０２は、リスト３００において「？」が対応付けられているラベルを特定し、特定したラベル対応付けられている割合を０％に置換する（ステップＳＡ９）。例えば、矩形Ｒ２１のラベルであるＩＤ２１には「？」が対応付けられているため、ＣＰＵ１０２は、ＩＤ２１に対して対応付けられている割合を０％に置換する。また、矩形Ｒ３７のラベルであるＩＤ３７には「？」が対応付けられているため、ＣＰＵ１０２は、ＩＤ３７に対して対応付けられている割合を０％に置換する。
【００３３】
ＣＰＵ１０２は、ステップＳＡ９の処理を終了すると、リスト３００にあるラベルに対応付けられた割合に基づいて、特定した図形部分が表であるか否か判定する（ステップＳＡ１０）。つまり、ここでＣＰＵ１０２は、図形部分が表であるか否か判定する表領域判定部２０６として機能する。
具体的には、ＣＰＵ１０２は、まず下位の矩形について矩形の面積の割合を加算し、加算結果が予め定められた閾値未満である場合、上位の矩形について、対応付けて格納されている割合を０％に置換する。
例えば、矩形Ｒ２０に対して下位層の矩形である矩形Ｒ２１〜Ｒ２３については、ＩＤ２１に対応付けられている割合が「０％」、ＩＤ２２に対応付けられている割合が「１０％」、ＩＤ２３に対応付けられている割合が「３０％」であるため、加算結果は４０％となる。ここで、閾値が例えば８５％である場合、加算結果は４０％であって閾値未満であるため、上位層の矩形Ｒ２０については、ＩＤ２０に対応付けて格納されている割合を０％に置換する。
【００３４】
次に、ＩＤ３４１とＩＤ３４２の矩形については、ＩＤ３４１に対応付けられている割合が「８０％」、ＩＤ３４２に対応付けられている割合が「２０％」であり、加算結果が閾値以上となるため、上位層となる矩形Ｒ３４のラベルであるＩＤ３４については、対応づけられている割合を０％に置換せず、そのままとする。
なお、ラベルがＩＤ３６１とＩＤ３６２の矩形についても、「？」が対応づけられていないため、上位層となる矩形Ｒ３６のラベルであるＩＤ３６については、対応づけられている割合を０％に置換せず、そのままとする。
また、矩形Ｒ３１〜Ｒ３７の矩形については、ＩＤ３１〜ＩＤ３７に対応づけられている割合を加算すると加算結果は「６５％」となる。ここで、加算結果は６５％であって閾値未満であるため、上位層の矩形Ｒ３０のラベルであるＩＤ３０については、対応付けて格納されている割合を０％に置換する。
なお、ＩＤ４８１，ＩＤ４８２，ＩＤ４１〜ＩＤ４９の矩形については、「？」が対応付けられていないため、ＩＤ４１〜ＩＤ４９およびＩＤ４０に対応付けられている割合が０％に置換されることがない。
【００３５】
次にＣＰＵ１０２は、矩形Ｒ１０，Ｒ２０，Ｒ３０，Ｒ４０のラベルに対応付けられた割合「２５％」、「０％」、「０％」、「２５％」を加算する。ここで、加算結果は５０％となり、加算結果が閾値未満であるため、画像Ｇ１０については表ではないと判定する。ＣＰＵ１０２は、判定結果を得ると、表示部１０７を制御して判定結果を表示部１０７に表示させる。
【００３６】
（画像を表であると判定する場合の動作）
次に、二値化画像の図形部分を表であると判定する場合の動作について説明する。なお、本動作例においては、図１１に示した二値化画像が得られた場合を例に動作の説明を行う。
【００３７】
まず、本動作例においては、画像データを取得してから二値化画像中の線分同士の交差関係を判定するまでは、上述の動作例と同じ動作を行う。ＣＰＵ１０２は、ステップＳＡ１からステップＳＡ５までの処理が終了すると、線分テーブルＴＢ１０に格納されている情報を用いて、図形部分において複数行または複数列で矩形がある部分を特定し（ステップＳＡ６）、特定した矩形間の関係を表すリスト３００を生成する（ステップＳＡ７）。
【００３８】
例えば、図１１に示した画像Ｇ１１の場合、図１２に示したように、矩形Ｒ５０、矩形Ｒ６０、矩形Ｒ７０および矩形Ｒ８０が、複数行で矩形がある部分として特定される。そして、ＣＰＵ１０２は、各矩形に対してＩＤ５０，ＩＤ６０，ＩＤ７０，ＩＤ８０というラベルを付ける。また、矩形Ｒ５０、矩形Ｒ６０、矩形Ｒ７０および矩形Ｒ８０の下位の矩形についてもラベルを付け、図１３に示したように各ラベルを付けたリスト３００を作成する。
【００３９】
次にＣＰＵ１０２は、ラベルが付けられた各矩形の面積について上位の矩形の面積に占める割合を算出し、算出した割合をリスト３００にあるラベルに対応付ける（ステップＳＡ８）。例えば、矩形Ｒ５０，Ｒ６０，Ｒ７０，Ｒ８０の各面積が等しい場合、
図形識別子として「１」が付けられた画像Ｇ１１の面積に占める各矩形の面積の割合は、各々２５％となるため、ＣＰＵ１０２は、図１３に示したように「２５％」をリスト中のＩＤ５０，ＩＤ６０，ＩＤ７０，ＩＤ８０に対応付ける。なお、他のラベルが付けられた矩形についても同様に面積の割合を求めると、図１１に示した画像の場合、図１３に示したように各矩形の面積の割合がラベルに対応付けられる。
【００４０】
次にＣＰＵ１０２は、図１３のリストにおいて「？」に対応付けられているラベルを特定し、特定したラベルに対応付けられている割合を０％に置換する処理を行う（ステップＳＡ９）。なお、図１１に示した画像の場合、図１３のリストが作成されて「？」が対応付けられているラベルが無いため、いずれのラベルにおいても、対応付けられている面積の割合が０％に置換されることがない。
【００４１】
次にＣＰＵ１０２は、リスト３００にあるラベルに対応付けられた割合に基づいて、特定した図形部分が表であるか否か判定する（ステップＳＡ１０）。ここでＣＰＵ１０２が、矩形Ｒ５０，Ｒ６０，Ｒ７０，Ｒ８０のラベルに対応付けられた割合「２５％」、「２５％」、「２５％」、「２５％」を加算すると、加算結果は１００％となる。ここで加算結果が閾値以上であるため、ＣＰＵ１０２は、画像Ｇ１１については表であると判定する。ＣＰＵ１０２は、判定結果を得ると、表示部１０７を制御して判定結果を表示部１０７に表示させる。
以上説明したように本実施形態によれば、グラフのように表ではない領域は表と認識しないため、表の認識率を高めることができる。
【００４２】
［変形例］
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されることなく、他の様々な形態で実施可能である。例えば、上述の実施形態を以下のように変形して本発明を実施してもよい。なお、上述した実施形態及び以下の変形例は、各々を組み合わせてもよい。
【００４３】
画像処理プログラムを実行したＣＰＵ１０２は、図１４に示したように外枠が矩形でない図形の場合、複数行で矩形がある部分として矩形Ｒ１０１、矩形Ｒ１０２、矩形Ｒ１０３および矩形Ｒ１０４を特定して各矩形に対してＩＤ１０１〜ＩＤ１０４というラベルを付けると共に、複数列で矩形がある部分として、矩形Ｒ１０５と矩形Ｒ１０６を特定してＩＤ１０５、ＩＤ１０６というラベルを付け、図１５に示したリスト３００を作成してもよい。なお、図１５に示したリスト３００は、矩形の面積の割合を対応付ける前の状態のリストを示した図である。
【００４４】
また、画像処理プログラムを実行したＣＰＵ１０２は、図１６に示したように外枠が矩形でない画像の場合、複数行で矩形がある部分として、矩形Ｒ２０１および矩形Ｒ２０２の部分と、矩形Ｒ２０３および矩形Ｒ２０４の部分と、矩形Ｒ２０５および矩形Ｒ２０６の部分とを特定するようにしてもよい。そして、矩形Ｒ２０１，Ｒ２０２に対してＩＤ２０１，ＩＤ２０２、矩形Ｒ２０３，Ｒ２０４に対してＩＤ２０３，ＩＤ２０４、矩形Ｒ２０５，Ｒ２０６に対してＩＤ２０５，ＩＤ２０６というラベルを付け、図１７に示したリスト３００を作成してもよい。なお、図１７に示したリスト３００は、矩形の面積の割合を対応付ける前の状態のリストを示した図である。
【００４５】
また、画像処理プログラムを実行したＣＰＵ１０２は、図１８に示したように矩形の内側の角部にさらに矩形がある図形の場合、複数行で矩形がある部分として、矩形Ｒ３０１〜Ｒ３０４を特定し、矩形Ｒ３０４の内側において、矩形Ｒ３０４１と矩形Ｒ３０４２を特定してもよい。
そして、矩形Ｒ３０１〜Ｒ３０４に対してＩＤ３０１〜ＩＤ３０４というラベルを付け、さらに矩形Ｒ３０４１，Ｒ３０４２に対してＩＤ３０４１，ＩＤ３０４２というラベルを付け、図１９に示したリスト３００を作成してもよい。なお、図１９に示したリスト３００は、矩形の面積の割合を対応付ける前の状態のリストを示した図である。
【００４６】
本発明においては、独立矩形の面積が画像中に占める割合を算定し、算定した割合が予め定められた閾値以上である場合には、画像が表ではないと判定するようにしてもよい。
また、本発明においては、独立矩形を内側に含む矩形の面積が画像中に占める割合を算定し、算定した割合が予め定められた閾値以上である場合には、画像が表ではないと判定するようにしてもよい。
【００４７】
上述した実施形態においては、操作部１０６を操作することにより、ユーザが閾値を設定できるようにしてもよい。
また、閾値を複数設定可能とし、ユーザが複数の閾値のいずれかから閾値を選択するようにしてもよい。例えば、２つの閾値を設定可能とし、一方の閾値を例えば９５％とし、他方の閾値を５０％というように、２つの閾値の値を異ならせてもよい。
また、閾値を設定する場合、表の画像とグラフの画像とを複数準備し、これらの画像に対しての判定結果からWidrow-Hoffの学習規則やフィッシャーの判別分析などの学習方法により、表であるか否かを判定する際の閾値を設定するようにしてもよい。
【００４８】
上述した実施形態においては、ＣＰＵ１０２が画像処理プログラムを実行することにより、ＣＰＵ１０２が画像データを処理し、画像データ中の表の領域を特定しているが、画像データの画像に上述した画像処理を施す構成は、この構成に限定されるものではない。例えば、上述した処理を行うＤＳＰ（Digital Signal Processor）やプログラマブルロジックデバイスなどのハードウェアをバス１０１に接続し、画像データを、このハードウェアに供給することにより、ハードウェアで上述した処理を行うようにしてもよい。
【００４９】
上述した画像処理プログラムは、磁気記録媒体（磁気テープ、磁気ディスク（ＨＤＤ（Hard Disk Drive）、ＦＤ（Flexible Disk））など）、光記録媒体（光ディスク（ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk））など）、光磁気記録媒体、半導体メモリなどのコンピュータ読取り可能な記録媒体に記憶した状態で提供し、コンピュータ装置１にインストールしてもよい。また、通信回線を介してダウンロードしてインストールしてもよい。
【００５０】
上述した実施形態においては、ＰＣが画像処理プログラムを実行しているが、ＰＣ以外のコンピュータ装置が画像処理プログラムを実行してもよく、例えば、複写機能やスキャナの機能を有する画像形成装置が画像処理プログラムを実行し、上述した処理を画像形成装置が行うようにしてもよい。
【符号の説明】
【００５１】
１・・・コンピュータ装置、１０１・・・バス、１０２・・・ＣＰＵ、１０３・・・ＲＯＭ、１０４・・・ＲＡＭ、１０５・・・記憶部、１０６・・・操作部、１０７・・・表示部、１０８・・・画像取得部、２００・・・二値化部、２０１・・・図形特定部、２０２・・・線分特定部、２０３・・・交差判定部、２０４・・・構造特定部、２０５・・・リスト作成部、２０６・・・表領域判定部
【図１】
0005418064.tif 000002
【図２】
0005418064.tif 000003
【図３】
0005418064.tif 000004
【図４】
0005418064.tif 000005
【図５】
0005418064.tif 000006
【図６】
0005418064.tif 000007
【図７】
0005418064.tif 000008
【図８】
0005418064.tif 000009
【図９】
0005418064.tif 000010
【図１０】
0005418064.tif 000011
【図１１】
0005418064.tif 000012
【図１２】
0005418064.tif 000013
【図１３】
0005418064.tif 000014
【図１４】
0005418064.tif 000015
【図１５】
0005418064.tif 000016
【図１６】
0005418064.tif 000017
【図１７】
0005418064.tif 000018
【図１８】
0005418064.tif 000019
【図１９】
0005418064.tif 000020