(57)【要約】    【課題】  本発明は、用紙等のマスタ画像を記憶・管理することなく、用紙等に記入されている丸等の記号の位置を細かく算出することができる記号位置算出装置を提供する。    【解決手段】  記号位置算出装置はＣＰＵ１０１を備え、ＣＰＵ１０１により、画像から所定の判定対象領域を取得し、取得された判定対象領域から主直線を探索し、探索された主直線を含む周辺領域を取得し、取得された周辺領域内に含まれる所定の黒画素をカウントすることにより主直線上に記入された記号の位置情報を検出し、検出された位置情報から記号の位置を算出する。【選択図】      図６
2006189928.tif 000002
【特許請求の範囲】
【請求項１】
主直線上に記入された記号の位置を算出する記号位置算出装置であって、
画像から所定の判定対象領域を取得する第１の取得手段と、
前記第１の取得手段により取得された判定対象領域から前記主直線を探索する探索手段と、
前記探索手段により探索された主直線を含む所定の領域を取得する第２の取得手段と、
前記第２の取得手段により取得された所定の領域内に含まれる所定の黒画素数をカウントすることにより前記主直線上に記入された記号の位置情報を検出する検出手段と、
前記検出手段により検出された位置情報から前記記号の位置を算出する算出手段とを有することを特徴とする記号位置算出装置。
【請求項２】
前記検出手段は、前記所定の領域内において、前記主直線に対して垂直方向に配された黒画素数をカウントし、当該カウントされた黒画素数が所定値を超えている主直線上の範囲から前記位置情報を検出することを特徴とする請求項１記載の記号位置算出装置。
【請求項３】
前記検出手段は、前記所定の領域内における前記主直線に接する垂直線及び前記主直線を消去し、前記所定の領域内に残った黒画素から前記位置情報を検出することを特徴とする請求項１記載の記号位置算出装置。
【請求項４】
主直線上に記入された記号の位置を算出する記号位置算出装置であって、
画像から所定の判定対象領域を取得する取得手段と、
前記取得手段により取得された判定対象領域から前記主直線を探索する探索手段と、
前記探索手段により探索された主直線の上下又は左右に存在する黒画素の分布から前記主直線上に記入された記号の位置情報を検出する検出手段と、
前記検出手段により検出された位置情報から前記記号の位置を算出する算出手段とを有することを特徴とする記号位置算出装置。
【請求項５】
前記検出手段は、前記主直線の上下又は左右共に黒画素が一定数連続分布する範囲から前記位置情報を検出することを特徴とする請求項４に記載の記号位置算出装置。
【請求項６】
前記検出手段は、前記主直線の上又は下に、若しくは左又は右に分岐した黒画素に連続する黒画素が、前記主直線と交わる範囲から前記位置情報を検出することを特徴とする請求項４に記載の記号位置算出装置。
【請求項７】
前記探索手段は、前記判定対象領域内における最長の水平又は鉛直の直線を前記主直線として探索することを特徴とする請求項１乃至６に記載の記号位置算出装置。
【請求項８】
主直線上に記入された記号の位置を算出する記号位置算出装置の記号位置算出方法であって、
画像から所定の判定対象領域を取得する第１の取得ステップと、
前記第１の取得ステップにおいて取得された判定対象領域から前記主直線を探索する探索ステップと、
前記探索ステップにおいて探索された主直線を含む所定の領域を取得する第２の取得ステップと、
前記第２の取得ステップにおいて取得された所定の領域内に含まれる所定の黒画素数をカウントすることにより前記主直線上に記入された記号の位置情報を検出する検出ステップと、
前記検出ステップにおいて検出された位置情報から前記記号の位置を算出する算出ステップとを有することを特徴とする記号位置算出方法。
【請求項９】
主直線上に記入された記号の位置を算出する記号位置算出装置の記号位置算出方法であって、
画像から所定の判定対象領域を取得する取得ステップと、
前記取得ステップにおいて取得された判定対象領域から前記主直線を探索する探索ステップと、
前記探索ステップにおいて探索された主直線の上下又は左右に存在する黒画素の分布から前記主直線上に記入された記号の位置情報を検出する検出ステップと、
前記検出ステップにおいて検出された位置情報から前記記号の位置を算出する算出ステップとを有することを特徴とする記号位置算出方法。
【請求項１０】
主直線上に記入された記号の位置を算出する記号位置算出装置で実行される記号位置算出プログラムであって、
画像から所定の判定対象領域を取得する第１の取得モジュールと、
前記第１の取得モジュールにより取得された判定対象領域から前記主直線を探索する探索モジュールと、
前記探索モジュールにより探索された主直線を含む所定の領域を取得する第２の取得モジュールと、
前記第２の取得モジュールにより取得された所定の領域内に含まれる所定の黒画素数をカウントすることにより前記主直線上に記入された記号の位置情報を検出する検出モジュールと、
前記検出モジュールにより検出された位置情報から前記記号の位置を算出する算出モジュールとを有することを特徴とする記号位置算出プログラム。
【請求項１１】
主直線上に記入された記号の位置を算出する記号位置算出装置で実行される記号位置算出プログラムであって、
画像から所定の判定対象領域を取得する取得モジュールと、
前記取得モジュールにより取得された判定対象領域から前記主直線を探索する探索モジュールと、
前記探索モジュールにより探索された主直線の上下又は左右に存在する黒画素の分布から前記主直線上に記入された記号の位置情報を検出する検出モジュールと、
前記検出モジュールにより検出された位置情報から前記記号位置を算出する算出モジュールとを有することを特徴とする記号位置算出プログラム。
【請求項１２】
請求項１１乃至１２のいずれか１項に記載のプログラムを格納することを特徴とするコンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記号位置算出装置、記号位置算出方法、記号位置算出プログラム、及び記憶媒体に関し、特に、線上に丸等の記号を記入する方式の帳票に記入された記号の位置を算出する記号位置算出装置、記号位置算出方法、記号位置算出プログラム、及び記憶媒体に関する。
【背景技術】
【０００２】
従来より、様々なアンケート等の帳票においては、文字を記入したり、文字を丸等で囲んだりすることよって項目を選択する方式のもの（図２１（Ａ））や、線上に丸等の記号を記入する方式（図２１（Ｂ））のものが知られている。
【０００３】
このような帳票に記入された記号の位置を判定するために、記号が記入されていない状態の帳票画像をマスタ画像として予めメモリに記憶しておき、入力された画像とメモリに記憶されているマスタ画像とを比較することによって、記号位置を判定する技術が提案されている（例えば、特許文献１参照）。
【０００４】
また、項目（ａ）、（ｂ）に夫々対応するはしご状の枠２２０１、２２０２を有する帳票（図２２）では、はしご状の枠２２０１、２２０２枠内に記入された丸等の記号の位置を、ＯＣＲ（Optical Character Recognition）処理を実行することによって、判定していた。
【特許文献１】特開２０００−１７２７７８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の従来の技術では、マスタ画像が予めメモリに記憶されていなければ、記号が記入されている位置を判定することができない。また、帳票の種類毎にマスタ画像を記憶させるための作業が必要であるので、操作が煩雑になると共に、マスタ画像の管理が必要となる。また、入力された画像とマスタ画像との比較の際に、画像にずれが生じると、ユーザに記入された記号の位置が認識されない場合や誤って認識される場合がある。
【０００６】
一方、図２２のはしご状の枠２２０１、２２０２を有する帳票において、帳票に記載された項目（ａ）、（ｂ）に対応する値を細かく取得したい場合は、はしご状の枠２２０１、２２０２のマス目の数を増やす必要がある。例えば、項目（ａ）、（ｂ）に対応する値を１００段階に分けて取得したい場合は、はしご状の枠枠２２０１、２２０２の数を１００個にする必要があるが、帳票のデザイン上現実的ではない。
【０００７】
本発明は、上記課題を解決するためになされたもので、用紙等のマスタ画像を記憶・管理することなく、用紙等に記入されている丸等の記号の位置を細かく算出することができる記号位置算出装置、記号位置算出方法、及び記号位置算出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述の目的を達成するために、請求項１記載の記号位置算出装置は、主直線上に記入された記号の位置を算出する記号位置算出装置であって、画像から所定の判定対象領域を取得する第１の取得手段と、前記第１の取得手段により取得された判定対象領域から前記主直線を探索する探索手段と、前記探索手段により探索された主直線を含む所定の領域を取得する第２の取得手段と、前記第２の取得手段により取得された所定の領域内に含まれる所定の黒画素数をカウントすることにより前記主直線上に記入された記号の位置情報を検出する検出手段と、前記検出手段により検出された位置情報から前記記号の位置を算出する算出手段とを有することを特徴とする。
【０００９】
上述の目的を達成するために、請求項４記載の記号位置算出装置は、主直線上に記入された記号の位置を算出する記号位置算出装置であって、画像から所定の判定対象領域を取得する取得手段と、前記取得手段により取得された判定対象領域から前記主直線を探索する探索手段と、前記探索手段により探索された主直線の上下又は左右に存在する黒画素の分布から前記主直線上に記入された記号の位置情報を検出する検出手段と、前記検出手段により検出された位置情報から前記記号の位置を算出する算出手段とを有することを特徴とする。
【００１０】
上述の目的を達成するために、請求項８記載の記号位置算出方法は、主直線上に記入された記号の位置を算出する記号位置算出装置の記号位置算出方法であって、画像から所定の判定対象領域を取得する第１の取得ステップと、前記第１の取得ステップにおいて取得された判定対象領域から前記主直線を探索する探索ステップと、前記探索ステップにおいて探索された主直線を含む所定の領域を取得する第２の取得ステップと、前記第２の取得ステップにおいて取得された所定の領域内に含まれる所定の黒画素数をカウントすることにより前記主直線上に記入された記号の位置情報を検出する検出ステップと、前記検出ステップにおいて検出された位置情報から前記記号の位置を算出する算出ステップとを有することを特徴とする。
【００１１】
上述の目的を達成するために、請求項９記載の記号位置算出方法は、主直線上に記入された記号の位置を算出する記号位置算出装置の記号位置算出方法であって、画像から所定の判定対象領域を取得する取得ステップと、前記取得ステップにおいて取得された判定対象領域から前記主直線を探索する探索ステップと、前記探索ステップにおいて探索された主直線の上下又は左右に存在する黒画素の分布から前記主直線上に記入された記号の位置情報を検出する検出ステップと、前記検出ステップにおいて検出された位置情報から前記記号の位置を算出する算出ステップとを有することを特徴とする。
【００１２】
上述の目的を達成するために、請求項１０記載の記号位置算出プログラムは、主直線上に記入された記号の位置を算出する記号位置算出装置で実行される記号位置算出プログラムであって、画像から所定の判定対象領域を取得する第１の取得モジュールと、前記第１の取得モジュールにより取得された判定対象領域から前記主直線を探索する探索モジュールと、前記探索モジュールにより探索された主直線を含む所定の領域を取得する第２の取得モジュールと、前記第２の取得モジュールにより取得された所定の領域内に含まれる所定の黒画素数をカウントすることにより前記主直線上に記入された記号の位置情報を検出する検出モジュールと、前記検出モジュールにより検出された位置情報から前記記号の位置を算出する算出モジュールとを有することを特徴とする。
【００１３】
上述の目的を達成するために、請求項１１記載の記号位置算出プログラムは、主直線上に記入された記号の位置を算出する記号位置算出装置で実行される記号位置算出プログラムであって、画像から所定の判定対象領域を取得する取得モジュールと、前記取得モジュールにより取得された判定対象領域から前記主直線を探索する探索モジュールと、前記探索モジュールにより探索された主直線の上下又は左右に存在する黒画素の分布から前記主直線上に記入された記号の位置情報を検出する検出モジュールと、前記検出モジュールにより検出された位置情報から前記記号の位置を算出する算出モジュールとを有することを特徴とする。
【００１４】
上述の目的を達成するために、請求項１２記載のコンピュータ読取可能な記憶媒体は、請求項１１乃至１２のいずれか１項に記載のプログラムを格納することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、主直線を含む所定の領域内に含まれる所定の黒画素数をカウントすることにより主直線上に記入された記号の位置情報が検出され、検出された位置情報から記号の位置が算出されるので、用紙等のマスタ画像を記憶・管理することなく、用紙等に記入されている丸等の記号の位置を細かく算出することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態を図面を参照しながら詳述する。
【００１７】
図１は、本発明の第１の実施の形態に係る記号位置算出装置の構成を示すブロック図である。
【００１８】
図１において、記号位置算出装置１００は、本装置全体の制御を行うＣＰＵ１０１と、本装置を制御するプログラムが格納されたＲＯＭ１０３と、帳票画像等を記憶するＲＡＭ１０２と、磁気ディスク等の外部記憶装置１０４と、ディスプレイ１０５と、キーボード１０６と、マウス等のポインティングデバイス１０７とを備え、これらは、システムバス１０９を介して互いに接続されている。また、ＵＳＢ等の外部接続インターフェースを介して帳票画像を読み込むためのイメージスキャナ１０８が接続される。
【００１９】
本発明を実現するための記号位置算出プログラムは、ＲＡＭ１０２又は外部記憶装置１０４に記憶され、ＣＰＵ１０１によって実行される。
【００２０】
イメージスキャナ１０８によって読み込まれた帳票画像は、ＲＡＭ１０２に記憶される。
【００２１】
なお、帳票画像はイメージスキャナ１０８によって読み込まれたものに限られず、他のイメージスキャナ（不図示）によって読み取られた帳票画像であってもよい。このような帳票画像は外部記憶装置１０４に記憶され、外部記憶装置１０４から読み出されてＲＡＭ１０２に記憶される。
【００２２】
図２（ａ）及び（ｂ）は、図１におけるイメージスキャナ１０８によって読み込まれた帳票画像の一例を示す図である。
【００２３】
図２の帳票は、水平線と、この水平線の両端及び数箇所に付された目盛線を有しており、目盛線上又は水平線上に丸等の記号が記入される。
【００２４】
図３は、図２（ａ）の帳票画像の部分拡大図である。
【００２５】
図３において、水平線、目盛線及び、記入された記号の部分は黒画素になっており、それ以外の部分は白画素になっている。まず、ＣＰＵ１０１が記号位置算出プログラムに従って、この帳票画像から目盛線を除去するために、水平線に対して直角に交差又は接している垂直線を除去する。
【００２６】
図４は、図３の帳票画像から水平線に対して直角に交差又は接している垂直線を除去した後の画像を示す図である。
【００２７】
図４において、水平線に対して直角に交差又は接している垂直線が除去されているので、記入された記号の一部も消去されているが、記号の全体が除去されることはないので差し支えない。ここで、各列（縦方向）の黒画素の数をすべてカウントする。
【００２８】
図５は、図４の画像の各列（縦方向）の黒画素の数を示す図である。
【００２９】
図５において、縦軸は黒画素の数を示している。記号が記入されていない箇所の黒画素の数は、水平線の幅（太さ）に対応し、記号が記入されている箇所の黒画素の数は、記号が記入されていない箇所の黒画素の数より多くなっている。従って、水平線の幅（太さ）より黒画素が多く存在する箇所を検出することにより、記号が記入されている箇所を検出することができる。
【００３０】
以下に、上記原理を用いて、水平線上に丸等の記号を記入する方式の帳票に記入された記号の位置を算出する方法を説明する。
【００３１】
図６は、図１の記号位置算出装置１００のＣＰＵ１０１によって実行される記号位置算出処理のフローチャートである。
【００３２】
図６において、イメージスキャナ１０８等によって読み込まれた帳票画像、又はすでにイメージスキャナ１０８等によって読み込まれて外部記憶装置１０４等に記憶されている帳票画像を取得する（ステップＳ２０１）。
【００３３】
続いて、予め外部記憶装置１０４等に記憶している当該帳票の判定対象領域の座標を取得する（ステップＳ２０２）。判定対象領域の座標は、例えば、ディスプレイ１０５に表示されるユーザーインターフェースにおいて、ポインティングデバイス１０７の操作によって指定され、外部記憶装置１０４に記憶される。
【００３４】
次に、判定対象領域内で最も長い直線（以下、「主直線」という。）を探索する（ステップＳ２０３）。この主直線は、判定対象領域内で水平方向に黒画素が一定の長さ以上（例えば、１０ｍｍ以上）連続しており、且つ縦方向の幅が一定値以下（例えば、０．５ｍｍ以下）である線のうち、最も長いものとする。
【００３５】
次に、後述する図７（又は図８）の周辺領域取得処理を実行して、主直線周辺の所定範囲の領域（以下、「周辺領域」という。）を取得する（ステップＳ２０４）。これにより、判定対象領域上部の文字や周囲の枠線等を除去することができる。
【００３６】
続いて、取得した周辺領域内の各列（縦方向）の黒画素の数をカウントし、黒画素数が主直線の線幅より多い列が一定数以上連続している箇所を探索し（ステップＳ２０５）、探索された箇所の中心点の座標を丸等の記号が記入された箇所として算出し（ステップＳ２０６）、本処理を終了する。
【００３７】
図７は、図６のステップＳ２０４の周辺領域取得処理のフローチャートである。
【００３８】
図７において、帳票画像の解像度に基づいて、主直線の周囲の周辺領域として切り出す一定の範囲のピクセル座標値を算出する（ステップＳ２１１）。主直線の周囲の周辺領域として切り出す範囲は、例えば、主直線の上下５ｍｍ、左右２ｍｍといったように予め設定されている。ステップＳ２１１では、この範囲に相当するピクセル座標値を帳票画像の解像度に基づいて算出する。
【００３９】
次に、ステップＳ２１１で算出したピクセル座標値に基づいて、帳票画像の一定の範囲をＲＡＭ１０２上の認識処理用のバッファメモリにコピーすることにより周辺領域を切り出し（ステップＳ２１２）、本処理を終了する。
【００４０】
図８は、図７の周辺領域取得処理の変形例のフローチャートである。
【００４１】
図８において、帳票画像の解像度に基づいて、主直線の周囲の周辺領域として切り出す一定の範囲のピクセル座標値を算出する（ステップＳ２２１）。
【００４２】
次に、判定対象領域内において、ステップＳ２１１で算出したピクセル座標値に基づいて、帳票画像の一定の範囲の外側の黒画素を白画素に置換することにより周辺領域を切り出し（ステップＳ２２２）、本処理を終了する。
【００４３】
第１の実施の形態によれば、取得した主直線周辺の所定範囲の周辺領域内の各列（縦方向）の黒画素の数をカウントし、黒画素数が主直線の線幅より多い列が一定数以上連続している箇所を探索し（ステップＳ２０５）、探索された箇所の中心点の座標を丸等の記号が記入された箇所として算出する（ステップＳ２０６）ので、用紙等のマスタ画像を記憶・管理することなく、用紙等に記入されている丸等の記号の位置を細かく算出することができる。
【００４４】
次に、本発明の第２の実施の形態について説明する。
【００４５】
本実施の形態は、記号位置算出処理の処理内容において、第１の実施の形態と異なる。
【００４６】
図９は、本発明の第２の実施の形態における記号位置算出処理のフローチャートである。
【００４７】
本処理は、ＣＰＵ１０１が、判定対象領域内から記入された丸等の記号以外の黒画素をすべて消去し、残った黒画素の範囲を求める処理である。
【００４８】
図９において、図６のステップと同一のステップ（ステップＳ２０１〜Ｓ２０４）には同一符号を付してその説明を省略し、図６の処理と異なる部分についてのみ説明する。
【００４９】
図９において、まず、ステップＳ２０１〜Ｓ２０４の処理を実行して、帳票画像を取得し、判定対象領域の座標を取得し、主直線を探索し、主直線の周辺領域を取得する。
【００５０】
次に、後述する図１３又は図１４の目盛線消去処理を実行して、目盛線を消去する（ステップＳ３０５）。例えば、図１３又は図１４の目盛線消去処理を実行して、図１０の帳票画像から目盛線を消去すると、図１１（ａ）又は図１１（ｂ）の画像が得られる。
【００５１】
次に、主直線を消去する（ステップＳ３０６）。例えば、図１１（ａ）又は図１１（ｂ）の画像から主直線を消去すると、図１３の目盛線消去処理が実行された場合は、図１２（ａ）の画像が得られ、図１４の目盛線消去処理が実行された場合は、図１２（ｂ）の画像が得られる。
【００５２】
図１２（ａ）又は図１２（ｂ）において、最後に残るのは帳票に記入された丸等の記号のみであり、その残った黒画素の最も左側の点と右側の点の幅が一定以上ある場合に丸等の記号が記入されていると判断される。これにより、図１０に示すように、読み取った帳票画像の主直線が傾いている場合にも、正確に記号の位置を判断することができる。
【００５３】
次に、残った黒画素の箇所の最も左側の点と右側の点の中心点の座標を丸等の記号が記入された箇所として算出し（ステップＳ３０７）、本処理を終了する。
【００５４】
図１３は、図９のステップＳ３０５の目盛線消去処理のフローチャートである。
【００５５】
本処理は、ＣＰＵ１０１が、主直線に接している垂直線を目盛線であると判断し、この垂直線を白画素に置換する処理である。
【００５６】
図１３において、主直線の左端列を着目列とする（ステップＳ３１１）。
【００５７】
次に、着目列のうち主直線の一つ上の画素を着目点とし（ステップＳ３１２）、着目点の画素が黒画素であるか否かを判別し（ステップＳ３１３）、着目点の画素が黒画素であるときは、ステップＳ３１４に進む一方、着目点の画素が黒画素でないときは、ステップＳ３１７に進む。
【００５８】
ステップＳ３１４では、着目点の画素を白画素に置換し、着目点を一つ上の画素に移し（ステップＳ３１５）、着目点が周辺領域の上端に達したか否かを判別し（ステップＳ３１６）、着目点が周辺領域の上端に達していないときは、ステップＳ３１３に戻る一方、着目点が周辺領域の上端に達したときは、ステップＳ３１７に進む。
【００５９】
ステップＳ３１７では、着目列のうち主直線の一つ下の画素を着目点とし、着目点の画素が黒画素であるか否かを判別し（ステップＳ３１８）、着目点の画素が黒画素であるときは、ステップＳ３１９に進む一方、着目点の画素が黒画素でないときは、ステップＳ３２２に進む。
【００６０】
ステップＳ３１９では、着目点の画素を白画素に置換し、着目点を一つ下の画素に移し（ステップＳ３２０）、着目点が周辺領域の下端に達したか否かを判別し（ステップＳ３２１）、着目点が周辺領域の下端に達していないときは、ステップＳ３１８に戻る一方、着目点が周辺領域の下端に達したときは、ステップＳ３２３に進む。
【００６１】
ステップＳ３２２では、着目列を一つ右の列に移し、着目列が主直線の右端に達したか否かを判別し（ステップＳ３２３）、着目列が主直線の右端に達していないときは、ステップＳ３１２に戻る一方、着目列が主直線の右端に達したときは、本処理を終了する。
【００６２】
図１４は、図１３の目盛線消去処理の変形例のフローチャートである。
【００６３】
本処理は、ＣＰＵ１０１が、各列（縦方向）の黒画素数をカウントし、黒画素数が主直線の線幅より多い列について、その列の水平方向への連続数が少ない列を目盛線と判断し、その列を白画素に置換する処理である。
【００６４】
図１４において、主直線の左端列を着目列とし（ステップＳ３３１）、着目列において主直線よりも上側に黒画素があるか否かを判別する（ステップＳ３３２）。
【００６５】
ステップＳ３３２の判別の結果、着目列において主直線よりも上側に黒画素があるときは、ＲＡＭ１０２に保存されている横方向への黒画素連続数をカウントアップし（ステップＳ３３３）、ステップＳ３４１に進む。
【００６６】
ステップＳ３３２の判別の結果、着目列において主直線よりも上側に黒画素がないときは、横方向への黒画素連続数が一定値を超えているか否かを判別し（ステップＳ３３４）、横方向への黒画素連続数が一定値を超えているときは、ステップＳ３４１に進む一方、横方向への黒画素連続数が一定値を超えていないときは、ステップＳ３３５に進む。
【００６７】
ステップＳ３３５では、現在の着目列を「再開列」としてＲＡＭ１０２に保存し、着目列を一つ左の列に移し（ステップＳ３３６）、横方向への黒画素連続数をカウントダウンする（ステップＳ３３７）。
【００６８】
次に、着目列の黒画素をすべて白画素に置換し（ステップＳ３３８）、横方向への黒画素連続数が１以上であるか否かを判別し（ステップＳ３３９）、横方向への黒画素連続数が１以上であるときは、ステップＳ３３６に戻る一方、横方向への黒画素連続数が１以上でないときは、着目列をステップＳ３３５でＲＡＭ１０２に保存した「再開列」に戻し（ステップＳ３４０）、ステップＳ３４１に進む。
【００６９】
ステップＳ３４１では、着目列を一つ右の列に移し、着目列が主直線の右端に達したか否かを判別し（ステップＳ３４２）、着目列が主直線の右端に達していないときは、ステップＳ３３２に戻る一方、着目列が主直線の右端に達したときは、本処理を終了する。
【００７０】
図１４の処理によれば、主直線を含むマーク以外のノイズ部分を消去することが可能となる。
【００７１】
第２の実施の形態によれば、目盛線を消去し（ステップＳ３０５）、主直線を消去し（ステップＳ３０６）、残った黒画素の箇所の最も左側の点と右側の点の中心点の座標を丸等の記号が記入された箇所として算出する（ステップＳ３０７）ので、読み取られた帳票画像が傾いており、傾いた主直線自体がノイズとなる場合にも、誤った判定をすることを防止し、主直線上に記入された記号の位置を正確に算出することができる。
【００７２】
次に、本発明の第３の実施の形態について説明する。
【００７３】
本実施の形態は、記号位置算出処理の処理内容において、第１の実施の形態と異なる。
【００７４】
図１５は、本発明の第３の実施の形態における記号位置算出処理のフローチャートである。
【００７５】
本処理は、ＣＰＵ１０１が、主直線の上下両方に連続して黒画素が分布している箇所を調べる処理である。図１６に示すように、主直線上に丸等の記号が記入されている箇所は、主直線の上下両方に連続して黒画素が存在する。また、目盛線は主直線より上側のみに存在することが多く、上下に存在する場合でも水平方向への連続していないので、記号が記入された箇所と区別することができる。
【００７６】
図１５において、図６のステップと同一のステップ（ステップＳ２０１〜Ｓ２０３）には同一符号を付してその説明を省略し、図６の処理と異なる部分についてのみ説明する。
【００７７】
図１５において、まず、ステップＳ２０１〜Ｓ２０３の処理を実行して、帳票画像を取得し、判定対象領域の座標を取得し、主直線を探索する。
【００７８】
次に、後述する図１８の上下探索処理を実行して、主直線の上下両方に黒画素が存在する列が一定以上連続して分布している箇所を探索し（ステップＳ４０４）、探索された箇所の中心点の座標を丸等の記号が記入された箇所として算出し（ステップＳ４０５）、本処理を終了する。
【００７９】
例えば、図１６の主直線の上部に文字画像を含む帳票画像において、図１７に示すように、主直線の上側と下側の黒画素数をカウントする。図１７において、主直線の上下両方に黒画素が存在する列が一定以上連続している箇所が記号が記入された箇所である。
【００８０】
図１８は、図１５のステップＳ４０４の上下探索処理のフローチャートである。
【００８１】
図１８において、主直線の左端列を着目列とし（ステップＳ４１１）、着目列において主直線よりも上側に黒画素があるか否かを判別し（ステップＳ４１２）、着目列において主直線よりも上側に黒画素があるときは、ステップＳ４１３に進む一方、着目列において主直線よりも上側に黒画素がないときは、ステップＳ４１４に進む。
【００８２】
ステップＳ４１３では、着目列において主直線よりも下側に黒画素があるか否かを判別し、着目列において主直線よりも下側に黒画素がないときは、ステップＳ４１４に進む一方、着目列において主直線よりも下側に黒画素があるときは、ステップＳ４１５に進む。
【００８３】
ステップＳ４１４では、ＲＡＭ１０２に保存されている黒画素の横方向への連続数を０に初期化し、ステップＳ４２０に進む。
【００８４】
ステップＳ４１５では、黒画素の横方向への連続数をカウントアップし、黒画素の横方向への連続数が、ＲＡＭ１０２に保存されている黒画素の横方向への連続数最大値よりも大きいか否かを判別し、黒画素の横方向への連続数が、ＲＡＭ１０２に保存されている黒画素の横方向への連続数最大値よりも大きいときは、ステップＳ４１７に進む一方、黒画素の横方向への連続数が、ＲＡＭ１０２に保存されている黒画素の横方向への連続数最大値よりも小さいときは、ステップＳ４２０に進む。
【００８５】
ステップＳ４１７では、黒画素の横方向への連続数を黒画素の横方向への連続数最大値としてＲＡＭ１０２に保存し、黒画素の横方向への連続数が所定値を超えているか否かを判別し（ステップＳ４１８）、黒画素の横方向への連続数が所定値を超えていないときは、ステップＳ４２０に進む一方、黒画素の横方向への連続数が所定値を超えているときは、黒画素が横方向へ連続していた範囲の最も左の列と最も右の列の水平方向の座標を保存し（ステップＳ４１９）、ステップＳ４２０に進む。
【００８６】
ステップＳ４２０では、着目列を１つ右の列に移し、着目列は主直線の右端に達したか否かを判別し（ステップＳ４２１）、着目列は主直線の右端に達していないときは、ステップＳ４１２に戻る一方、着目列は主直線の右端に達したときは、本処理を終了する。
【００８７】
第３の実施の形態によれば、主直線の上下両方に黒画素が存在する列が一定以上連続して分布している箇所を探索し（ステップＳ４０４）、探索された箇所の中心点の座標を丸等の記号が記入された箇所として算出するので（ステップＳ４０５）、主直線周辺の所定範囲の周辺領域を取得することなく、主直線上に記入された記号の位置を細かく算出することができる。
【００８８】
次に、本発明の第４の実施の形態について説明する。
【００８９】
本実施の形態は、記号位置算出処理の処理内容において、第１の実施の形態と異なる。
【００９０】
図１９は、本発明の第４の実施の形態における記号位置算出処理のフローチャートである。
【００９１】
本処理は、ＣＰＵ１０１が、主直線から分岐した連続する黒画素が再び主直線に戻ってくる箇所を探索する処理である。
【００９２】
図１９において、図６のステップと同一のステップ（ステップＳ２０１〜Ｓ２０３）には同一符号を付してその説明を省略し、図６の処理と異なる部分についてのみ説明する。
【００９３】
図１９において、まず、ステップＳ２０１〜Ｓ２０３の処理を実行して、帳票画像を取得し、判定対象領域の座標を取得し、主直線を探索する。
【００９４】
次に、後述する図２０の戻り探索処理を実行して、主直線から分岐した連続した黒画素が、再び主直線に戻ってくる箇所であり、その連続した黒画素の範囲の最も左側と右側の幅が一定以上ある箇所を探索し（ステップＳ５０４）、探索された箇所の中心点の座標を丸等の記号が記入された箇所として算出し（ステップＳ５０５）、本処理を終了する。
【００９５】
図２０は、図１９のステップＳ５０４の戻り探索処理のフローチャートである。
【００９６】
図２０において、主直線の左端列において主直線の一つ上の画素を着目点１、主直線の左端列において主直線の一つ下の画素を着目点２とし（ステップＳ５１１）、着目点１の上側に黒画素があるか否かを判別し（ステップＳ５１２）、着目点１の上側に黒画素があるときは、ステップＳ５１３に進む一方、着目点１の上側に黒画素がないときは、ステップＳ５１９に進む。
【００９７】
ステップＳ５１３では、着目点１の上側の黒画素を着目点３とし、主直線の上側で着目点３に隣接した未チェックの黒画素があるか否かを判別し（ステップＳ５１４）、主直線の上側で着目点３に隣接した未チェックの黒画素がないときは、ステップＳ５１６に進む一方、主直線の上側で着目点３に隣接した未チェックの黒画素があるときは、着目点３をチェック済み黒画素のリストに追加し、隣接した未チェックの黒画素を次の着目点３とし（ステップＳ５１５）、ステップＳ５１４に戻る。
【００９８】
ステップＳ５１６では、着目点３の垂直位置が主直線から一定の距離内にあるか否かを判別し、着目点３の垂直位置が主直線から一定の距離内にあるときは、ステップＳ５１７に進む一方、着目点３の垂直位置が主直線から一定の距離内にないときは、ステップＳ５１９に進む。
【００９９】
ステップＳ５１７では、チェック済み黒画素のリスト中で最も左側の黒画素と最も右側の黒画素の水平方向の距離（チェック済み黒画素の水平方向の長さ）を算出し、ステップＳ５１７で算出したチェック済み黒画素の水平方向の長さが一定値以上であるか否かを判別し（ステップＳ５１８）、ステップＳ５１７で算出したチェック済み黒画素の水平方向の長さが一定値以上でないときは、ステップＳ５１９に進む一方、ステップＳ５１７で算出したチェック済み黒画素の水平方向の長さが一定値以上であるときは、ステップＳ５２６に進む。
【０１００】
ステップＳ５１９では、着目点２の下側に黒画素があるか否かを判別し、着目点２の下側に黒画素があるときは、ステップＳ５２０に進む一方、着目点２の下側に黒画素がないときは、ステップＳ５２７に進む。
【０１０１】
ステップＳ５２０では、着目点２の下側の黒画素を着目点４とし、主直線の下側で着目点４に隣接した未チェックの黒画素があるか否かを判別し（ステップＳ５２１）、主直線の下側で着目点４に隣接した未チェックの黒画素がないときは、ステップＳ５２３に進む一方、主直線の下側で着目点４に隣接した未チェックの黒画素があるときは、着目点４をチェック済み黒画素のリストに追加し、隣接した未チェックの黒画素を次の着目点４とし（ステップＳ５２２）、ステップＳ５２１に戻る。
【０１０２】
ステップＳ５２３では、着目点４の垂直位置が主直線から一定の距離内にあるか否かを判別し、着目点４の垂直位置が主直線から一定の距離内にあるときは、ステップＳ５２４に進む一方、着目点４の垂直位置が主直線から一定の距離内にないときは、ステップＳ５２７に進む。
【０１０３】
ステップＳ５２４では、チェック済み黒画素のリスト中で、最も左側の黒画素と最も右側の黒画素の水平方向の距離（チェック済み黒画素の水平方向の長さ）を算出し、ステップＳ５２４で算出したチェック済み黒画素の水平方向の長さが一定値以下であるか否かを判別し（ステップＳ５２５）、ステップＳ５２４で算出したチェック済み黒画素の水平方向の長さが一定値以下でないときは、ステップＳ５２７に進む一方、ステップＳ５２４で算出したチェック済み黒画素の水平方向の長さが一定値以下であるときは、ステップＳ５２６に進む。
【０１０４】
ステップＳ５２６では、チェック済み黒画素のリスト中の最も左側の黒画素と最も右側の黒画素の座標を保存し、本処理を終了する。
【０１０５】
ステップＳ５２７では、着目点１及び着目点２を一つ右に移し、チェック済み黒画素のリストを初期化し、着目点１及び着目点２が主直線の右端に達したか否かを判別し（ステップＳ５２８）、着目点１及び着目点２が主直線の右端に達していないときは、ステップＳ５１２に戻る一方、着目点１及び着目点２が主直線の右端に達したときは、本処理を終了する。
【０１０６】
第４の実施の形態によれば、主直線から分岐した連続した黒画素が、再び主直線に戻ってくる箇所であり、その連続した黒画素の範囲の最も左側と右側の幅が一定以上ある箇所を探索し（ステップＳ５０４）、探索された箇所の中心点の座標を丸等の記号が記入された箇所として算出する（ステップＳ５０５）ので、主直線周辺の所定範囲の周辺領域を取得することなく、主直線上に記入された記号の位置を細かく算出することができる。
【０１０７】
上記第１〜第４の実施の形態では、主直線が水平方向（横方向）にある場合を説明したが、主直線が鉛直方向（縦方向）にある場合にも適用できることは言うまでもない。
【０１０８】
また、本発明の目的は、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
【０１０９】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１１０】
又、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。または、プログラムコードをネットワークを介してダウンロードしてもよい。
【０１１１】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１１２】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【０１１３】
【図１】本発明の第１の実施の形態に係る記号位置算出装置の構成を示すブロック図である。
【図２】（ａ）及び（ｂ）は、図１におけるイメージスキャナ１０８によって読み込まれた帳票画像の一例を示す図である。
【図３】図２（ａ）の帳票画像の部分拡大図である。
【図４】図３の帳票画像から水平線に対して直角に交差又は接している垂直線を除去した後の画像を示す図である。
【図５】図４の画像の各列（縦方向）の黒画素の数を示す図である。
【図６】図１の記号位置算出装置１００によって実行される記号位置算出処理のフローチャートである。
【図７】図６のステップＳ２０４の周辺領域取得処理のフローチャートである。
【図８】図７の周辺領域取得処理の変形例のフローチャートである。
【図９】本発明の第２の実施の形態における記号位置算出処理のフローチャートである。
【図１０】図９の記号位置算出処理を説明する図である。
【図１１】（ａ）及び（ｂ）は、図９の記号位置算出処理を説明する図である。
【図１２】（ａ）及び（ｂ）は、図９の記号位置算出処理を説明する図である。
【図１３】図９のステップＳ３０５の目盛線消去処理のフローチャートである。
【図１４】図１３の目盛線消去処理の変形例のフローチャートである。
【図１５】本発明の第３の実施の形態における記号位置算出処理のフローチャートである。
【図１６】図１５の記号位置算出処理を説明する図である。
【図１７】図１５の記号位置算出処理を説明する図である。
【図１８】図１５のステップＳ４０４の上下探索処理のフローチャートである。
【図１９】本発明の第４の実施の形態における記号位置算出処理のフローチャートである。
【図２０】図１９のステップＳ５０４の戻り探索処理のフローチャートである。
【図２１】（Ａ）、（Ｂ）は、従来の帳票の一例を示す図である。
【図２２】従来の帳票の一例を示す図である。
【符号の説明】
【０１１４】
１００  記号位置算出装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  外部記憶装置
１０８  イメージスキャナ
【図１】
2006189928.tif 000003
【図２】
2006189928.tif 000004
【図３】
2006189928.tif 000005
【図４】
2006189928.tif 000006
【図５】
2006189928.tif 000007
【図６】
2006189928.tif 000008
【図７】
2006189928.tif 000009
【図８】
2006189928.tif 000010
【図９】
2006189928.tif 000011
【図１０】
2006189928.tif 000012
【図１１】
2006189928.tif 000013
【図１２】
2006189928.tif 000014
【図１３】
2006189928.tif 000015
【図１４】
2006189928.tif 000016
【図１５】
2006189928.tif 000017
【図１６】
2006189928.tif 000018
【図１７】
2006189928.tif 000019
【図１８】
2006189928.tif 000020
【図１９】
2006189928.tif 000021
【図２０】
2006189928.tif 000022
【図２１】
2006189928.tif 000023
【図２２】
2006189928.tif 000024