(57)【要約】    【課題】  周囲の枠線や罫線、文字等を含めて指定された認識領域から認識すべき構造物のみを認識することができる画像認識装置及び方法、並びにプログラムを提供する    【解決手段】  画像読取装置１０８等によって読取られた帳票伝票等のイメージ、又は既に読取られて外部記憶装置１０４に記憶されているイメージを読込み、読込んだイメージをディスプレイ１０５に表示し、アプリケーションＵＩによりユーザが指定した自動認識にかける認識領域を取得し、取得した認識領域内の枠線の位置を抽出して、枠線及び枠線の外側の領域を除去した有効領域の矩形座標を取得し、取得した有効領域内の認識すべき文字以外の文字等のゴミ構造物の位置を抽出して、ゴミ構造物を除去した有効領域の矩形座標を取得し、丸囲み認識、チェックマーク、ＯＭＲ等の各種認識処理を行う。【選択図】      図２
2005196283.tif 000002
【特許請求の範囲】
【請求項１】
画像データを入力する入力手段と、前記入力した画像データから認識すべき構造物を含む認識領域を取得する取得手段とを備える画像認識装置において、前記認識領域から枠線を抽出する枠線抽出手段を備えることを特徴とする画像認識装置。
【請求項２】
前記枠線抽出手段は、垂直方向及び水平方向の枠線を夫々抽出し、前記水平方向の枠線が抽出された場合において前記垂直方向の枠線が抽出されなかったときは、再度前記垂直方向の枠線を抽出し、前記垂直方向の枠線が抽出された場合において前記水平方向の枠線が抽出されなかったときは、再度前記水平方向の枠線を抽出することを特徴とする請求項１記載の画像認識装置。
【請求項３】
前記枠抽出手段は、前記認識領域において、黒画素数が所定値以上である一のラインで、前記一のラインの黒画素数と前記一のラインの１つ前のラインの黒画素数との差が所定値以上大きいか、又は前記一のラインの黒画素数と前記一のラインの２つ前のラインの黒画素数との差が所定値以上大きいときは、前記一のラインは前記枠線であると判定することを特徴とする請求項１又は２記載の画像認識装置。
【請求項４】
前記枠抽出手段は、前記認識領域において、黒画素数が所定値以上であるラインであって、所定数以上連続した複数のラインで、前記複数のラインの１つの黒画素数と前記複数のラインの１つに関して１つ前のラインの黒画素数との差が所定値以上小さく、前記複数のラインの１つの黒画素数と前記複数のラインの１つに関して２つ前のラインの黒画素数との差が所定値以上小さいときは、前記複数のラインは前記枠線でないと判定することを特徴とする請求項１乃至３のいずれか１項に記載の画像認識装置。
【請求項５】
前記認識領域から認識すべき構造物以外の構造物を抽出する構造物抽出手段を備えることを特徴とする請求項１乃至４のいずれか１項に記載の画像認識装置。
【請求項６】
前記構造物抽出手段は、前記認識領域において、黒画素数が所定値以上であるラインを構造物であると判定し、前記構造物のうち前記認識領域の中心から近いものを前記認識すべき構造物であると判定することを特徴とする請求項５記載の画像認識装置。
【請求項７】
前記構造物抽出手段は、前記認識領域において、黒画素数が所定値未満であるラインであって、所定数以上連続した複数のラインを前記構造物でないと判定することを特徴とする請求項５又は６記載の画像認識装置。
【請求項８】
画像データを入力する入力ステップと、前記入力した画像データから認識すべき構造物を含む認識領域を取得する取得ステップとを備える画像認識方法において、前記認識領域から枠線を抽出する枠線抽出ステップを備えることを特徴とする画像認識方法。
【請求項９】
前記枠線抽出ステップは、垂直方向及び水平方向の枠線を夫々抽出し、前記水平方向の枠線が抽出された場合において前記垂直方向の枠線が抽出されなかったときは、再度前記垂直方向の枠線を抽出し、前記垂直方向の枠線が抽出された場合において前記水平方向の枠線が抽出されなかったときは、再度前記水平方向の枠線を抽出することを特徴とする請求項８記載の画像認識方法。
【請求項１０】
前記枠抽出ステップは、前記認識領域において、黒画素数が所定値以上である一のラインで、前記一のラインの黒画素数と前記一のラインの１つ前のラインの黒画素数との差が所定値以上大きいか、又は前記一のラインの黒画素数と前記一のラインの２つ前のラインの黒画素数との差が所定値以上大きいときは、前記一のラインは前記枠線であると判定することを特徴とする請求項８又は９記載の画像認識方法。
【請求項１１】
前記枠抽出ステップは、前記認識領域において、黒画素数が所定値以上であるラインであって、所定数以上連続した複数のラインで、前記複数のラインの１つの黒画素数と前記複数のラインの１つに関して１つ前のラインの黒画素数との差が所定値以上小さく、前記複数のラインの１つの黒画素数と前記複数のラインの１つに関して２つ前のラインの黒画素数との差が所定値以上小さいときは、前記複数のラインは前記枠線でないと判定することを特徴とする請求項８乃至１０のいずれか１項に記載の画像認識方法。
【請求項１２】
前記認識領域から認識すべき構造物以外の構造物を抽出する構造物抽出ステップをそなえることを特徴とする請求項８乃至１１のいずれか１項に記載の画像認識方法。
【請求項１３】
前記構造物抽出ステップは、前記認識領域において、黒画素数が所定値以上であるラインを構造物であると判定し、前記構造物のうち前記認識領域の中心から近いものを前記認識すべき構造物であると判定することを特徴とする請求項１２記載の画像認識方法。
【請求項１４】
前記構造物抽出ステップは、前記認識領域において、黒画素数が所定値未満であるラインであって、所定数以上連続した複数のラインを前記構造物でないと判定することを特徴とする請求項１２又は１３記載の画像認識方法。
【請求項１５】
画像データを入力する入力モジュールと、前記入力した画像データから認識すべき構造物を含む認識領域を取得する取得モジュールとをコンピュータに実行させる画像認識プログラムにおいて、前記認識領域から枠線を抽出する枠線抽出モジュールをコンピュータに実行させることを特徴とする画像認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像認識装置及び方法、並びにプログラムに関し、特に、指定された認識領域に対して認識処理を行う画像認識装置及び方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、金融業界や生損保業界等において、スキャナ等の画像読取装置により帳票や伝票等の印刷文書を読取り、取得した画像データに対して光学式文字認識技術（ＯＣＲ：Optical Character Reader）や光学式マーク認識技術（ＯＭＲ：Optical MarkReader）等の自動認識処理を行うことにより作業効率を上げるシステムが非常に多く利用されている。上記自動認識処理が利用されるシステムにおいて、認識対象となる帳票や伝票等の印刷文書は数限りない種類が存在するので、システム側で様々なレイアウトの帳票や伝票に合わせて自動認識処理を行わなければならない。そのため、アプリケーションを操作する利用者は、自動認識処理を行う認識領域を指定する必要がある。また、誤認識を防止するために正確な認識領域の指定が求められる。
【０００３】
一般的な帳票や伝票は、限られたスペースに氏名、住所、電話番号、識別コード番号、チェックマーク項目、丸囲み判定項目など多くの内容が盛り込んであるため、個々の認識対象となる領域が狭く、利用者が画像中から目的の対象領域を指定するのは困難である。
【０００４】
図３６は、数字が丸で囲まれているか否かを自動判定する場合において、利用者が認識領域を指定したときの例である。図３６において、網掛けで示された領域が利用者によって指定された認識領域である。図３７に示すように、「丸囲み部分」だけ指定されることが期待されるが、実際には、図３８に示すように、周囲の構造物を含めて指定してしまう場合がある。
【０００５】
このように認識領域の指定が利用者の操作に依存しているので、本来指定されるべき領域が指定されず、誤認識の原因となる指定がなされることがあり、期待する認識精度を得られないというのが現状である。
【０００６】
また、利用者が適切に認識領域を指定して領域指定テンプレートを作成したとしても、自動認識処理を行う対象の帳票に印刷ずれやスキャナ入力時のずれが生じた場合は、認識領域テンプレートがずれて、認識すべき文字やマーク以外の構造物を含んだ領域を認識して、認識精度が著しく低下する。
【０００７】
認識精度を向上させるために、利用者が認識すべき文字の周囲の枠線、罫線、文字等を含めて認識領域を指定した場合でも、枠線や罫線を切り出して有効な認識領域だけを抽出する方法が開示されている（例えば、特許文献１）。
【特許文献１】特開平３−９８１８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記方法は、認識領域の枠にかかっている枠線を文字パターン候補から除外するので、破線や、認識領域の枠にかかっていない枠線等には対応していない。
【０００９】
また、上と左、上と右、下と左、下と右といった組み合わせの枠線には対応していない。
【００１０】
さらに、認識すべき文字と隣の文字との区別方法が明記されていないので、周囲の文字を除去することができない。
【００１１】
本発明の目的は、周囲の枠線や罫線、文字等を含めて指定された認識領域から認識すべき構造物のみを認識することができる画像認識装置及び方法、並びにプログラムを提供することにある。
【課題を解決するための手段】
【００１２】
上述の目的を達成するために、請求項１記載の画像認識装置は、画像データを入力する入力手段と、前記入力した画像データから認識すべき構造物を含む認識領域を取得する取得手段とを備える画像認識装置において、前記認識領域から枠線を抽出する枠線抽出手段を備えることを特徴とする。
【００１３】
請求項２記載の画像認識装置は、請求項１記載の画像認識装置において、前記枠線抽出手段は、垂直方向及び水平方向の枠線を夫々抽出し、前記水平方向の枠線が抽出された場合において前記垂直方向の枠線が抽出されなかったときは、再度前記垂直方向の枠線を抽出し、前記垂直方向の枠線が抽出された場合において前記水平方向の枠線が抽出されなかったときは、再度前記水平方向の枠線を抽出することを特徴とする。
【００１４】
請求項３記載の画像認識装置は、請求項１又は２記載の画像認識装置において、前記枠抽出手段は、前記認識領域において、黒画素数が所定値以上である一のラインで、前記一のラインの黒画素数と前記一のラインの１つ前のラインの黒画素数との差が所定値以上大きいか、又は前記一のラインの黒画素数と前記一のラインの２つ前のラインの黒画素数との差が所定値以上大きいときは、前記一のラインは前記枠線であると判定することを特徴とする。
【００１５】
請求項４記載の画像認識装置は、請求項１乃至３のいずれか１項に記載の画像認識装置において、前記枠抽出手段は、前記認識領域において、黒画素数が所定値以上であるラインであって、所定数以上連続した複数のラインで、前記複数のラインの１つの黒画素数と前記複数のラインの１つに関して１つ前のラインの黒画素数との差が所定値以上小さく、前記複数のラインの１つの黒画素数と前記複数のラインの１つに関して２つ前のラインの黒画素数との差が所定値以上小さいときは、前記複数のラインは前記枠線でないと判定することを特徴とする。
【００１６】
請求項５記載の画像認識装置は、請求項１乃至４のいずれか１項に記載の画像認識装置において、前記認識領域から認識すべき構造物以外の構造物を抽出する構造物抽出手段を備えることを特徴とする。
【００１７】
請求項６記載の画像認識装置は、請求項５記載の画像認識装置において、前記構造物抽出手段は、前記認識領域において、黒画素数が所定値以上であるラインを構造物であると判定し、前記構造物のうち前記認識領域の中心から近いものを前記認識すべき構造物であると判定することを特徴とする。
【００１８】
請求項７記載の画像認識装置は、請求項５又は６記載の画像認識装置において、前記構造物抽出手段は、前記認識領域において、黒画素数が所定値未満であるラインであって、所定数以上連続した複数のラインを前記構造物でないと判定することを特徴とする。
【００１９】
上述の目的を達成するために、請求項８記載の画像認識方法は、画像データを入力する入力ステップと、前記入力した画像データから認識すべき構造物を含む認識領域を取得する取得ステップとを備える画像認識方法において、前記認識領域から枠線を抽出する枠線抽出ステップを備えることを特徴とする。
【００２０】
請求項９記載の画像認識方法は、請求項８記載の画像認識方法において、前記枠線抽出ステップは、垂直方向及び水平方向の枠線を夫々抽出し、前記水平方向の枠線が抽出された場合において前記垂直方向の枠線が抽出されなかったときは、再度前記垂直方向の枠線を抽出し、前記垂直方向の枠線が抽出された場合において前記水平方向の枠線が抽出されなかったときは、再度前記水平方向の枠線を抽出することを特徴とする。
【００２１】
請求項１０記載の画像認識方法は、請求項８又は９記載の画像認識方法において、前記枠抽出ステップは、前記認識領域において、黒画素数が所定値以上である一のラインで、前記一のラインの黒画素数と前記一のラインの１つ前のラインの黒画素数との差が所定値以上大きいか、又は前記一のラインの黒画素数と前記一のラインの２つ前のラインの黒画素数との差が所定値以上大きいときは、前記一のラインは前記枠線であると判定することを特徴とする。
【００２２】
請求項１１記載の画像認識方法は、請求項８乃至１０のいずれか１項に記載の画像認識方法において、前記枠抽出ステップは、前記認識領域において、黒画素数が所定値以上であるラインであって、所定数以上連続した複数のラインで、前記複数のラインの１つの黒画素数と前記複数のラインの１つに関して１つ前のラインの黒画素数との差が所定値以上小さく、前記複数のラインの１つの黒画素数と前記複数のラインの１つに関して２つ前のラインの黒画素数との差が所定値以上小さいときは、前記複数のラインは前記枠線でないと判定することを特徴とする。
【００２３】
請求項１２記載の画像認識方法は、請求項８乃至１１のいずれか１項に記載の画像認識方法において、前記認識領域から認識すべき構造物以外の構造物を抽出する構造物抽出ステップをそなえることを特徴とする。
【００２４】
請求項１３記載の画像認識方法は、請求項１２記載の画像認識方法において、前記構造物抽出ステップは、前記認識領域において、黒画素数が所定値以上であるラインを構造物であると判定し、前記構造物のうち前記認識領域の中心から近いものを前記認識すべき構造物であると判定することを特徴とする。
【００２５】
請求項１４記載の画像認識方法は、請求項１２又は１３記載の画像認識方法において、前記構造物抽出ステップは、前記認識領域において、黒画素数が所定値未満であるラインであって、所定数以上連続した複数のラインを前記構造物でないと判定することを特徴とする。
【００２６】
上述の目的を達成するために、請求項１５記載の画像認識プログラムは、画像データを入力する入力モジュールと、前記入力した画像データから認識すべき構造物を含む認識領域を取得する取得モジュールとをコンピュータに実行させる画像認識プログラムにおいて、前記認識領域から枠線を抽出する枠線抽出モジュールをコンピュータに実行させることを特徴とする。
【発明の効果】
【００２７】
請求項１記載の画像認識装置、請求項８記載の画像認識方法、請求項１５記載の画像認識プログラムによれば、認識領域から枠線を抽出するので、周囲の枠線や罫線、文字等を含めて指定された認識領域から認識すべき構造物のみを認識することができる。
【００２８】
請求項２記載の画像認識装置、請求項９記載の画像認識方法によれば、垂直方向及び水平方向の枠線を夫々抽出し、水平方向の枠線が抽出された場合において垂直方向の枠線が抽出されなかったときは、再度垂直方向の枠線を抽出し、垂直方向の枠線が抽出された場合において水平方向の枠線が抽出されなかったときは、再度水平方向の枠線を抽出するので、枠線を確実に抽出することができる。
【００２９】
請求項３記載の画像認識装置、請求項１０記載の画像認識方法によれば、認識領域において、黒画素数が所定値以上である一のラインで、一のラインの黒画素数と一のラインの１つ前のラインの黒画素数との差が所定値以上大きいか、又は一のラインの黒画素数と一のラインの２つ前のラインの黒画素数との差が所定値以上大きいときは、一のラインは枠線であると判定するので、画像が歪んだ枠線を抽出することができる。
【００３０】
請求項４記載の画像認識装置、請求項１１記載の画像認識方法によれば、認識領域において、黒画素数が所定値以上であるラインであって、所定数以上連続した複数のラインで、複数のラインの１つの黒画素数と複数のラインの１つに関して１つ前のラインの黒画素数との差が所定値以上小さく、複数のラインの１つの黒画素数と複数のラインの１つに関して２つ前のラインの黒画素数との差が所定値以上小さいときは、複数のラインは枠線でないと判定するので、枠線に交差したチェックマークや、垂直又は水平な部分を有するチェックマークを除去するのを防止することができる。
【００３１】
請求項５記載の画像認識装置、請求項１２記載の画像認識方法によれば、認識領域から認識すべき構造物以外の構造物を抽出するので、周囲の枠線や罫線、文字等を含めて指定された認識領域から認識すべき構造物のみを認識することができる。
【００３２】
請求項６記載の画像認識装置、請求項１３記載の画像認識方法によれば、認識領域において、黒画素数が所定値以上であるラインを構造物であると判定し、構造物のうち認識領域の中心から近いものを認識すべき構造物であると判定するので、認識すべき構造物以外の構造物を確実に抽出することができる。
【００３３】
請求項７記載の画像認識装置、請求項１４記載の画像認識方法によれば、認識領域において、黒画素数が所定値未満であるラインであって、所定数以上連続した複数のラインを構造物でないと判定するので、画像がかすれた構造物を抽出することができる。
【発明を実施するための最良の形態】
【００３４】
以下、本発明の実施の形態を図面を参照しながら詳述する。
【００３５】
図１は、本発明の実施の形態に係る画像認識装置の内部構成を概略的に示すブロック図である。
【００３６】
図１において、画像認識装置１００は、画像認識装置１００全体の制御を行うＣＰＵ１０１と、ＣＰＵ１０１が実行するプログラムを格納するＲＯＭ１０２と、プログラム実行時の作業用記憶領域等を有するＲＡＭ１０３と、帳票等の原稿から画像を読取るイメージスキャナ等の画像読取装置１０８と、読取られた画像等を記憶する磁気ディスク等の外部記憶装置１０４と、ディスプレイ１０５と、キーボード１０６と、マウス等のポインティングデバイス１０７とを備え、これらはバスを介して互いに接続されている。
【００３７】
本発明の実施の形態に係るプログラムはＲＯＭ１０２又は外部記憶装置１０４に記憶され、ＣＰＵ１０１によって実行される。
【００３８】
図２は、図１の画像認識装置１００によって実行されるイメージ認識処理のフローチャートである。
【００３９】
図２において、画像読取装置１０８等によって読取られた帳票伝票等のイメージ、又は既に読取られて外部記憶装置１０４に記憶されているイメージを読込み（ステップＳ１）、読込んだイメージをディスプレイ１０５に表示し（ステップＳ２）、図３に示すように、アプリケーションＵＩによりユーザが指定した自動認識にかける認識領域を取得する（ステップＳ３）。
【００４０】
図３おいて、「８」が丸で囲まれているかを認識するために、認識すべき文字である「８」を含む認識領域（図３の網掛けで示された領域）が指定されている。この認識領域には、図４に示すように、枠線や認識すべき文字以外の文字が含まれているので、認識処理を行う前に、これらを除去する必要がある。
【００４１】
図２に戻り、ステップＳ４で、後述する図７の枠線抽出処理を実行して、取得した認識領域内の枠線の位置を抽出し、図５に示すように、枠線及び枠線の外側の領域を除去した有効領域の矩形座標を取得する。図５では、枠線及び枠線の外側の領域は除去され、枠内の文字のみが残っている。
【００４２】
図２のステップＳ５で、後述する図１９の周囲ゴミ構造物抽出処理を実行して、ステップＳ４で取得した有効領域内の認識すべき文字以外の文字等のゴミ構造物の位置を抽出し、図６に示すように、ゴミ構造物を除去した有効領域の矩形座標を取得し、丸囲み認識、チェックマーク認識、光学式マーク認識技術（ＯＭＲ：Optical MarkReader）等の各種認識処理を行い（ステップＳ６）、本処理を終了する。
【００４３】
図６において、「分」の文字の一部がゴミ構造物として除去され、「８」の文字のみが残っている。なお、「８」が丸で囲まれている場合は、丸も残る。
【００４４】
図２の処理によれば、取得した認識領域内の枠線の位置を抽出して、枠線及び枠線の外側の領域を除去した有効領域の矩形座標を取得し（ステップＳ４）、取得した有効領域内の認識すべき文字以外の文字等のゴミ構造物の位置を抽出して、ゴミ構造物を除去した有効領域の矩形座標を取得する（ステップＳ５）ので、周囲の枠線や罫線、文字等を含めて指定された認識領域から認識すべき構造物のみを認識することができる。
【００４５】
図７は、図２のステップＳ４の枠線抽出処理のフローチャートである。
【００４６】
図７において、後述する図１０の垂直方向ライン抽出処理を実行して、認識すべき文字の左右のライン（枠線、罫線、破線を含む）を抽出し（ステップＳ１１）、後述する図１６の水平方向ライン抽出処理を実行して認識すべき文字の上下のラインを抽出し（ステップＳ１２）、上下左右のラインのいずれかを抽出したか否かを判別する（ステップＳ１３）。
【００４７】
ステップＳ１３の判別の結果、上下左右のラインのいずれも抽出しなかったときは、再度ライン抽出処理を行っても結果は変わらないので、本処理を終了する。
【００４８】
ステップＳ１３の判別の結果、上下左右のラインのいずれかを抽出したときは、左右のラインを抽出したか否かを判別し（ステップＳ１４）、左右のラインを抽出しなかったときは、水平方向ライン抽出処理によって取得した有効領域で再度垂直方向ライン抽出処理を実行することにより、１回目で抽出できなかった左右のラインを抽出できるようになる場合があるので、再度図１０の垂直方向ライン抽出処理を実行する（ステップＳ１５）。
【００４９】
例えば、図８において、指定領域では左右の枠線の黒画素数の割合が所定値（ここでは５０％）に達していないので、この枠線を抽出することができないが、水平方向ライン抽出処理で、上下のラインの外側の領域を除去することにより、図９に示す有効領域が残る。この有効領域では左右の枠線の黒画素数の割合が所定値（５０％）に達しているので、再度垂直方向ライン抽出処理を実行することによって、左右の枠線を抽出することができる。
【００５０】
図７に戻り、ステップＳ１４の判別の結果、左右のラインを抽出したときは、ステップＳ１５の垂直方向ライン抽出処理を行うことなく上下のラインを抽出したか否かを判別し（ステップＳ１６）、上下のラインを抽出しなかったときは、垂直方向ライン抽出処理によって取得した有効領域で再度図１６の水平方向ライン抽出処理を実行することにより、１回目で抽出できなかった上下のラインを抽出できるようになる場合があるので、再度水平方向ライン抽出処理を実行して有効領域を取得し（ステップＳ１７）、本処理を終了する。
【００５１】
図７の処理によれば、左右のラインを抽出しなかったときは（ステップＳ１４でＮＯ）、再度垂直方向ライン抽出処理を実行し（ステップＳ１５）、上下のラインを抽出しなかったときは（ステップＳ１６でＮＯ）、再度水平方向ライン抽出処理を実行して有効領域を取得する（ステップＳ１７）ので、枠線を確実に抽出することができる。
【００５２】
図１０は、図７のステップＳ１１及びステップＳ１５の垂直方向ライン抽出処理のフローチャートである。
【００５３】
図１０において、初期化処理を行って、処理済の列座標Ｘを０に設定し、左枠を抽出したことを示す左辺確定フラグ及び右枠を抽出したことを示す右辺確定フラグを夫々ＯＦＦに設定し、２列前の黒画素数Ｂｕｆｆ２及び１列前の黒画素数Ｂｕｆｆ１を夫々０に設定する（ステップＳ１０１）。次いで、認識領域の左端から縦１列の黒画素数を取得し（ステップＳ１０２）、取得した黒画素数の全画素数に対する割合が枠線判定閾値（例えば、９０％）以上であるか否かを判別し（ステップＳ１０３）、取得した黒画素数の全画素数に対する割合が枠線判定閾値以上であるときは、認識領域の中心から左側であるか否かを判別し（ステップＳ１０４）、左側でないときは、後述する図１４の右枠判定処理を実行し（ステップＳ１０５）、左側であるときは、右枠判定処理を実行することなく２列前の黒画素数Ｂｕｆｆ２に１列前の黒画素数Ｂｕｆｆ１を、１列前の黒画素数Ｂｕｆｆ１に取得した黒画素数を夫々設定して黒画素数を保存し（ステップＳ１１０）、処理済の列座標Ｘに１を加算し（ステップＳ１１１）、全ての列について処理を終了したか否かを判別し（ステップＳ１１２）、全ての列について処理を終了していないときは、ステップＳ１０２以降の処理を繰り返し、全ての列について処理を終了したときは、本処理を終了する。
【００５４】
ステップＳ１０３の判別の結果、取得した黒画素数の全画素数に対する割合が枠線判定閾値以上でないときは、取得した黒画素数の全画素数に対する割合が枠線候補判定閾値（例えば、５０％）以上であるか否かを判別し（ステップＳ１０６）、取得した黒画素数の全画素数に対する割合が枠線候補判定閾値以上であるときは、認識領域の中心から左側であるか否かを判別し（ステップＳ１０７）、左側でないときは、後述する図１４の右枠判定処理を実行し（ステップＳ１０８）、左側であるときは、右枠判定処理を実行することなくステップＳ１１０以降の処理を実行し、本処理を終了する。
【００５５】
ステップＳ１０６の判別の結果、取得した黒画素数の全画素数に対する割合が枠線候補判定閾値以上でないときは、後述する図１１の左枠判定処理を実行し（ステップＳ１０９）、ステップＳ１１０以降の処理を実行し、本処理を終了する。
【００５６】
図１１は、図１０のステップＳ１０９の左枠判定処理のフローチャートである。
【００５７】
図１１において、左辺確定フラグがＯＦＦであり、左枠が抽出済みであるか否かを判別し（ステップＳ１２１）、左枠が取得済みであるときは、直ちに本処理を終了し、左枠が取得済みでないときは、１列左側の黒画素数が、取得した黒画素数に判定係数（例えば、５／２）を掛けた値以上であるか否かを判別し（ステップＳ１２２）、１列左側の黒画素数が、取得した黒画素数に判定係数を掛けた値以上であるときは、Ｘを左枠の１列右側の座標として記憶し（ステップＳ１２３）、左辺確定フラグをＯＮにして（ステップＳ１２４）、本処理を終了する。
【００５８】
ステップＳ１２２の判別の結果、１列左側の黒画素数が、取得した黒画素数に判定係数を掛けた値以上でないときは、２列左側の黒画素数が、取得した黒画素数に判定係数（例えば、５）を掛けた値以上であるか否かを判別し（ステップＳ１２５）、２列左側の黒画素数が、取得した黒画素数に判定係数を掛けた値以上であるときは、Ｘを左枠の１列右側の座標として記憶し（ステップＳ１２６）、左辺確定フラグをＯＮにして（ステップＳ１２７）、本処理を終了する。
【００５９】
ステップＳ１２５の判別の結果、２列左側の黒画素数が、取得した黒画素数に判定係数を掛けた値以上でないときは、直ちに本処理を終了する。
【００６０】
図１１の処理によれば、１列左側の黒画素数が、取得した黒画素数に判定係数を掛けた値以上であるときは（ステップＳ１２２でＹＥＳ）、Ｘを左枠の１列右側の座標として記憶し（ステップＳ１２３）、１列左側の黒画素数が、取得した黒画素数に判定係数を掛けた値以上でない場合において（ステップＳ１２２でＮＯ）、２列左側の黒画素数が、取得した黒画素数に判定係数を掛けた値以上であるときは（ステップＳ１２５でＹＥＳ）、Ｘを左枠の１列右側の座標として記憶する（ステップＳ１２６）ので、図１２に示すような画像が歪んだ枠線を抽出することができる。
【００６１】
図１２において、認識領域の左側にある枠線を抽出する例について説明する。図１３において、列(4)は、枠線候補判定閾値（ここでは、５０％）以上でないので（図１０のステップＳ１０６でＮＯ）、図１１の左枠判定処理を実行する（ステップＳ１０９）。列(4)の黒画素数は３５ｐｉｃ、列(3)の黒画素数は７４ｐｉｃ、列(2)の黒画素数は７４ｐｉｃであり、列(3)の黒画素数は列(4)の黒画素数に判定係数５／２を掛けた値以上でなく（ステップＳ１２２でＮＯ）、列(2)の黒画素数は列(4)の黒画素数に判定係数５を掛けた値以上でない（ステップＳ１２５でＮＯ）ので、列(4)は左枠の１列右側の列でないと判定する。
【００６２】
次に、列(5)は、枠線候補判定閾値（ここでは、５０％）以上でないので（図１０のステップＳ１０６でＮＯ）、図１１の左枠判定処理を実行する（ステップＳ１０９）。列(5)の黒画素数は７ｐｉｃ、列(4)の黒画素数は３５ｐｉｃであり、取得した黒画素数に判定係数５／２を掛けた値以上である（ステップＳ１２２でＹＥＳ）ので、列(5)が左枠の１列右側の列であると判定する。
【００６３】
図１４は、図１０のステップＳ１０５及びステップＳ１０８の右枠判定処理のフローチャートである。
【００６４】
図１４において、右辺確定フラグがＯＦＦであり、右枠が抽出済みであるか否かを判別し（ステップＳ１３１）、右枠が取得済みであるときは、直ちに本処理を終了し、右枠が取得済みでないときは、１列左側の黒画素数が、取得した黒画素数に判定係数（例えば、２／５）を掛けた値以下であるか否かを判別し（ステップＳ１３２）、１列左側の黒画素数が、取得した黒画素数に判定係数を掛けた値以下であるときは、（Ｘ−１）を右枠の１列左側の座標として記憶し（ステップＳ１３３）、右辺確定フラグをＯＮにして（ステップＳ１３４）、本処理を終了する。
【００６５】
ステップＳ１３２の判別の結果、１列左側の黒画素数が、取得した黒画素数に判定係数を掛けた値以下でないときは、２列左側の黒画素数が、１列左側の黒画素数に判定係数（例えば、２／５）を掛けた値以下であるか否かを判別し（ステップＳ１３５）、２列左側の黒画素数が、１列左側の黒画素数に判定係数を掛けた値以下であるときは、（Ｘ−２）を右枠の１列左側の座標として記憶し（ステップＳ１３６）、右辺確定フラグをＯＮにして（ステップＳ１３７）、本処理を終了する。
【００６６】
ステップＳ１３５の判別の結果、２列左側の黒画素数が、１列左側の黒画素数に判定係数を掛けた値以下でないときは、２列左側の黒画素数が、取得した黒画素数に判定係数（例えば、１／５）を掛けた値以下であるか否かを判別し（ステップＳ１３８）、２列左側の黒画素数が、取得した黒画素数に判定係数を掛けた値以下であるときは、（Ｘ−２）を右枠の１列左側の座標として記憶し（ステップＳ１３９）、右辺確定フラグをＯＮにして（ステップＳ１４０）、本処理を終了する。
【００６７】
ステップＳ１３８の判別の結果、２列左側の黒画素数が、取得した黒画素数に判定係数を掛けた値以下でないときは、直ちに本処理を終了する。
【００６８】
図１５において、列(5)は、枠線判定閾値（ここでは、９０％）以上であるので（図１０のステップＳ１０３でＹＥＳ）、図１４の右枠判定処理を実行する（ステップＳ１０５）。列(5)の黒画素数は７４ｐｉｃ、列(4)の黒画素数は３５ｐｉｃ、列(3)の黒画素数は７ｐｉｃであり、列(4)の黒画素数は列(5)の黒画素数に判定係数２／５を掛けた値以下でなく（ステップＳ１３２でＮＯ）、列(3)の黒画素数は列(4)の黒画素数に判定係数２／５を掛けた値以下である（ステップＳ１３５でＹＥＳ）ので、列(3)は右枠の１列左側の列であると判定する。
【００６９】
図１６は、図７のステップＳ１２及びステップＳ１７の水平方向ライン抽出処理のフローチャートである。
【００７０】
図１６において、初期化処理を行って、処理済の行座標Ｙを０に設定し、上枠を抽出したことを示す上辺確定フラグ及び下枠を抽出したことを示す下辺確定フラグを夫々ＯＦＦに設定し、２行前の黒画素数Ｂｕｆｆ２及び１行前の黒画素数Ｂｕｆｆ１を夫々０に設定する（ステップＳ２０１）。次いで、認識領域の上端から横１行の黒画素数を取得し（ステップＳ２０２）、取得した黒画素数の全画素数に対する割合が枠線判定閾値（例えば、９０％）以上であるか否かを判別し（ステップＳ２０３）、取得した黒画素数の全画素数に対する割合が枠線判定閾値以上であるときは、認識領域の中心から上側であるか否かを判別し（ステップＳ２０４）、上側でないときは、後述する図１８の下枠判定処理を実行し（ステップＳ２０５）、上側であるときは、下枠判定処理を実行することなく２行前の黒画素数Ｂｕｆｆ２に１行前の黒画素数Ｂｕｆｆ１を、１行前の黒画素数Ｂｕｆｆ１に取得した黒画素数を夫々設定して黒画素数を保存し（ステップＳ２１０）、処理済の行座標Ｙに１を加算し（ステップＳ２１１）、全ての行について処理を終了したか否かを判別し（ステップＳ２１２）、全ての行について処理を終了していないときは、ステップＳ２０２以降の処理を繰り返し、全ての行について処理を終了したときは、本処理を終了する。
【００７１】
ステップＳ２０３の判別の結果、取得した黒画素数の全画素数に対する割合が枠線判定閾値以上でないときは、取得した黒画素数の全画素数に対する割合が枠線候補判定閾値（例えば、５０％）以上であるか否かを判別し（ステップＳ２０６）、取得した黒画素数の全画素数に対する割合が枠線候補判定閾値以上であるときは、認識領域の中心から上側であるか否かを判別し（ステップＳ２０７）、上側でないときは、後述する図１８の下枠判定処理を実行し（ステップＳ２０８）、上側であるときは、下枠判定処理を実行することなくステップＳ２１０以降の処理を実行し、本処理を終了する。
【００７２】
ステップＳ２０６の判別の結果、取得した黒画素数の全画素数に対する割合が枠線候補判定閾値以上でないときは、後述する図１７の上枠判定処理を実行し（ステップＳ２０９）、ステップＳ２１０以降の処理を実行し、本処理を終了する。
【００７３】
図１７は、図１６のステップＳ２０９の上枠判定処理のフローチャートである。
【００７４】
図１７において、上辺確定フラグがＯＦＦであり、上枠が抽出済みであるか否かを判別し（ステップＳ２２１）、上枠が取得済みであるときは、直ちに本処理を終了し、上枠が取得済みでないときは、１行上側の黒画素数が、取得した黒画素数に判定係数（例えば、５／２）を掛けた値以上であるか否かを判別し（ステップＳ２２２）、１行上側の黒画素数が、取得した黒画素数に判定係数を掛けた値以上であるときは、Ｙを上枠の１行下側の座標として記憶し（ステップＳ２２３）、上辺確定フラグをＯＮにして（ステップＳ２２４）、本処理を終了する。
【００７５】
ステップＳ２２２の判別の結果、１行上側の黒画素数が、取得した黒画素数に判定係数を掛けた値以上でないときは、２行上側の黒画素数が、取得した黒画素数に判定係数（例えば、５）を掛けた値以上であるか否かを判別し（ステップＳ２２５）、２行上側の黒画素数が、取得した黒画素数に判定係数を掛けた値以上であるときは、Ｙを上枠の１行下側の座標として記憶し（ステップＳ２２６）、上辺確定フラグをＯＮにして（ステップＳ２２７）、本処理を終了する。
【００７６】
ステップＳ２２５の判別の結果、２行上側の黒画素数が、取得した黒画素数に判定係数を掛けた値以上でないときは、直ちに本処理を終了する。
【００７７】
図１８は、図１６のステップＳ２０５及びステップＳ２０８の下枠判定処理のフローチャートである。
【００７８】
図１８において、下辺確定フラグがＯＦＦであり、下枠が抽出済みであるか否かを判別し（ステップＳ２３１）、下枠が取得済みであるときは、直ちに本処理を終了し、下枠が取得済みでないときは、１行上側の黒画素数が、取得した黒画素数に判定係数（例えば、２／５）を掛けた値以下であるか否かを判別し（ステップＳ２３２）、１行上側の黒画素数が、取得した黒画素数に判定係数を掛けた値以下であるときは、（Ｙ−１）を下枠の１行上側の座標として記憶し（ステップＳ２３３）、下辺確定フラグをＯＮにして（ステップＳ２３４）、本処理を終了する。
【００７９】
ステップＳ２３２の判別の結果、１行上側の黒画素数が、取得した黒画素数に判定係数を掛けた値以下でないときは、２行上側の黒画素数が、１行上側の黒画素数に判定係数（例えば、２／５）を掛けた値以下であるか否かを判別し（ステップＳ２３５）、２行上側の黒画素数が、１行上側の黒画素数に判定係数を掛けた値以下であるときは、（Ｙ−２）を下枠の１行上側の座標として記憶し（ステップＳ２３６）、下辺確定フラグをＯＮにして（ステップＳ２３７）、本処理を終了する。
【００８０】
ステップＳ２３５の判別の結果、２行上側の黒画素数が、１行上側の黒画素数に判定係数を掛けた値以下でないときは、２行上側の黒画素数が、取得した黒画素数に判定係数（例えば、１／５）を掛けた値以下であるか否かを判別し（ステップＳ２３８）、２行上側の黒画素数が、取得した黒画素数に判定係数を掛けた値以下であるときは、（Ｙ−２）を下枠の１行上側の座標として記憶し（ステップＳ２３９）、下辺確定フラグをＯＮにして（ステップＳ２４０）、本処理を終了する。
【００８１】
ステップＳ２３８の判別の結果、２行上側の黒画素数が、取得した黒画素数に判定係数を掛けた値以下でないときは、直ちに本処理を終了する。
【００８２】
図１９は、図２のステップＳ５の周囲ゴミ構造物抽出処理のフローチャートである。
【００８３】
図１９において、まず、上下ゴミ構造物抽出処理を実行して、認識すべき文字の上下のゴミを除去し（ステップＳ２１）、左右ゴミ構造物抽出処理を実行して、認識すべき文字の左右のゴミを除去して（ステップＳ２２）、本処理を終了する。
【００８４】
図１９の処理によれば、認識すべき文字の上下のゴミを除去し（ステップＳ２１）、認識すべき文字の左右のゴミを除去する（ステップＳ２２）ので、周囲の枠線や罫線、文字等を含めて指定された認識領域から認識すべき構造物のみを認識することができる。
【００８５】
図２０は、図１９のステップＳ２１の上下ゴミ構造物抽出処理のフローチャートである。
【００８６】
図２０において、垂直方向における中心からの距離に変数がとり得る最大値を設定し（ステップＳ３０１）、初期化処理を行って、処理済の行座標Ｙを０に設定し、構造物を探索中であることを示す探索中フラグをＯＦＦにする（ステップＳ３０２）。ここで、垂直方向における中心からの距離に変数がとり得る最大値を設定したのは、最初に抽出した構造物を最短距離にあるものとするためである。なお、事前に垂直方向における中心からの距離を求め、初期値として設定してもよい。
【００８７】
次いで、認識領域の上端から横１行の黒画素数を取得し（ステップＳ３０３）、取得した黒画素数が閾値以上であるか否かを判別し（ステップＳ３０４）、取得した黒画素数が閾値以上であるときは、後述する図２１の垂直方向黒画素処理を実行し（ステップＳ３０５）、取得した黒画素数が閾値（構造物であると判断できる黒画素数、例えば、文字サイズ１ポイント分の画素数）以上でないときは、後述する図２３の垂直方向白画素処理を実行し（ステップＳ３０６）、処理済の行座標Ｙに１を加算し（ステップＳ３０７）、全ての行について処理を終了したか否かを判別し（ステップＳ３０８）、全ての行について処理を終了していないときは、ステップＳ３０３以降の処理を繰り返し、全ての行について処理を終了したときは、本処理を終了する。
【００８８】
図２１は、図２０のステップＳ３０５の垂直方向黒画素処理のフローチャートである。
【００８９】
図２１において、構造物を探索中であることを示す探索中フラグがＯＦＦであるか否かを判別し（ステップＳ３１１）、探索中フラグがＯＦＦであるときは、後述する図２２の中心軸からの距離ｄが、保持している中心軸からの距離と比較して最短であるか否かを判別し（ステップＳ３１２）、中心軸からの距離ｄが、保持している中心軸からの距離と比較して最短であるときは、構造物上端の座標を記憶し（ステップＳ３１３）、探索中フラグをＯＮにして（ステップＳ３１４）、本処理を終了する。
【００９０】
ステップＳ３１２の判別の結果、中心軸からの距離ｄが、保持している中心軸からの距離と比較して最短でないときは、処理終了フラグをＯＮにして（ステップＳ３１５）、本処理を終了する。
【００９１】
ステップＳ３１１の判別の結果、探索中フラグがＯＮであるときは、構造物を探索中であるので、構造物下端の座標を記憶して（ステップＳ３１６）、本処理を終了する。
【００９２】
図２２において、中心からの距離ｄは垂直方向座標ｙ及び認識領域の高さｈから以下の数式によって求められる。
【００９３】
ｄ＝｜ｈ／２−ｙ｜
「２」の文字は「１」の文字よりも中心からの距離ｄが近いので、「２」が認識すべき構造物であると判断される。
【００９４】
図２１の処理によれば、中心軸からの距離ｄが、保持している中心軸からの距離と比較して最短であるときは（ステップＳ３１２でＹＥＳ）、構造物上端の座標を記憶する（ステップＳ３１３）ので、認識すべき構造物以外の構造物を確実に抽出することができる。
【００９５】
図２３は、図２０のステップＳ３０６の垂直方向白画素処理のフローチャートである。
【００９６】
図２３において、連続白画素行数をインクリメントし（ステップＳ３２１）、構造物を探索中であることを示す探索中フラグがＯＮであるか否かを判別し（ステップＳ３２２）、探索中フラグがＯＮであるときは、連続白画素行数が１であるか否かを判別し（ステップＳ３２３）、連続白画素行数が１であるときは、中心軸からの距離を構造物下端候補として保存して（ステップＳ３２４）、本処理を終了する。
【００９７】
ステップＳ３２３の判別の結果、連続白画素行数が１でないときは、連続白画素行数が閾値（垂直方向の隣接構造物との想定距離、例えば、文字サイズ２ポイント分の画素数）以上であるか否かを判別し（ステップＳ３２５）、連続白画素行数が閾値以上であるときは、探索中フラグをＯＦＦにして（ステップＳ３２６）、本処理を終了する。
【００９８】
ステップＳ３２２の判別の結果、探索中フラグがＯＦＦであるときは、本処理を終了する。
【００９９】
図２３の処理によれば、連続白画素行数が閾値以上であるときは（ステップＳ３２５でＹＥＳ）、探索中フラグをＯＦＦにする（ステップＳ３２６）ので、図２４に示すように、構造物にかすれがある場合において、連続白画素行数が閾値以下であるときは、構造物下端と判別されないので、画像がかすれた構造物を抽出することができる。
【０１００】
図２５は、図１９のステップＳ２２の左右ゴミ構造物抽出処理のフローチャートである。
【０１０１】
図２５において、水平方向における中心からの距離に変数がとり得る最大値を設定し（ステップＳ４０１）、初期化処理を行って、処理済の列座標Ｘを０に設定し、構造物を探索中であることを示す探索中フラグをＯＦＦにする（ステップＳ４０２）。ここで、水平方向における中心からの距離に変数がとり得る最大値を設定したのは、最初に抽出した構造物を最短距離にあるものとするためである。なお、事前に水平方向における中心からの距離を求め、初期値として設定してもよい。
【０１０２】
次いで、認識領域の左端から縦１列の黒画素数を取得し（ステップＳ４０３）、取得した黒画素数が閾値以上であるか否かを判別し（ステップＳ４０４）、取得した黒画素数が閾値以上であるときは、後述する図２６の水平方向黒画素処理を実行し（ステップＳ４０５）、取得した黒画素数が閾値（構造物であると判断できる黒画素数、例えば、文字サイズ１ポイント分の画素数）以上でないときは、後述する図２７の水平方向白画素処理を実行し（ステップＳ４０６）、処理済の列座標Ｘに１を加算し（ステップＳ４０７）、全ての列について処理を終了したか否かを判別し（ステップＳ４０８）、全ての列について処理を終了していないときは、ステップＳ４０３以降の処理を繰り返し、全ての列について処理を終了したときは、本処理を終了する。  図２６は、図２５のステップＳ４０５の水平方向黒画素処理のフローチャートである。
【０１０３】
図２６において、構造物を探索中であることを示す探索中フラグがＯＦＦであるか否かを判別し（ステップＳ４１１）、探索中フラグがＯＦＦであるときは、保持している中心軸からの距離と比較して、中心軸からの距離が最短であるか否かを判別し（ステップＳ４１２）、中心軸からの距離が最短であるときは、構造物左端の座標を記憶し（ステップＳ４１３）、探索中フラグをＯＮにして（ステップＳ４１４）、本処理を終了する。
【０１０４】
ステップＳ４１２の判別の結果、中心軸からの距離が最短でないときは、処理終了フラグをＯＮにして（ステップＳ４１５）、本処理を終了する。
【０１０５】
ステップＳ４１１の判別の結果、探索中フラグがＯＮであるときは、構造物を探索中であるので、構造物右端の座標を記憶して（ステップＳ４１６）、本処理を終了する。
【０１０６】
図２７は、図２５のステップＳ４０６の水平方向白画素処理のフローチャートである。
【０１０７】
図２７において、連続白画素列数をインクリメントし（ステップＳ４２１）、構造物を探索中であることを示す探索中フラグがＯＮであるか否かを判別し（ステップＳ４２２）、探索中フラグがＯＮであるときは、連続白画素列数が１であるか否かを判別し（ステップＳ４２３）、連続白画素列数が１であるときは、中心軸からの距離を構造物右端候補として保存して（ステップＳ４２４）、本処理を終了する。
【０１０８】
ステップＳ４２３の判別の結果、連続白画素列数が１でないときは、連続白画素列数が閾値（水平方向の隣接構造物との想定距離、例えば、文字サイズ４ポイント分の画素数）以上であるか否かを判別し（ステップＳ４２５）、連続白画素列数が閾値以上であるときは、探索中フラグをＯＦＦにして（ステップＳ４２６）、本処理を終了する。
【０１０９】
ステップＳ４２２の判別の結果、探索中フラグがＯＦＦであるときは、本処理を終了する。
【０１１０】
図２８は、図１０の垂直方向ライン抽出処理の変形例のフローチャートである。
【０１１１】
図２８において、初期化処理を行って、処理済の列座標Ｘを０に設定し、左枠を抽出したことを示す左辺確定フラグ及び右枠を抽出したことを示す右辺確定フラグを夫々ＯＦＦに設定し、２列前の黒画素数Ｂｕｆｆ２及び１列前の黒画素数Ｂｕｆｆ１を夫々０に設定すると共に、隣接する列の黒画素の比が小さいときにインクリメントされるなだらか回数を０に設定する（ステップＳ５０１）。次いで、認識領域の左端から縦１列の黒画素数を取得し（ステップＳ５０２）、取得した黒画素数の全画素数に対する割合が枠線判定閾値（例えば、９０％）以上であるか否かを判別し（ステップＳ５０３）、取得した黒画素数の全画素数に対する割合が枠線判定閾値以上であるときは、認識領域の中心から左側であるか否かを判別し（ステップＳ５０４）、左側でないときは、右枠判定処理を実行し（ステップＳ５０５）、左側であるときは、右枠判定処理を実行することなく２列前の黒画素数Ｂｕｆｆ２に１列前の黒画素数Ｂｕｆｆ１を、１列前の黒画素数Ｂｕｆｆ１に取得した黒画素数を夫々設定して黒画素数を保存し（ステップＳ５１０）、処理済の列座標Ｘに１を加算し（ステップＳ５１１）、全ての列について処理を終了したか否かを判別し（ステップＳ５１２）、全ての列について処理を終了していないときは、ステップＳ５０２以降の処理を繰り返し、全ての列について処理を終了したときは、本処理を終了する。
【０１１２】
ステップＳ５０３の判別の結果、取得した黒画素数の全画素数に対する割合が枠線判定閾値以上であるときは、取得した黒画素数の全画素数に対する割合が枠線候補判定閾値（例えば、５０％）以上であるか否かを判別し（ステップＳ５０６）、取得した黒画素数の全画素数に対する割合が枠線候補判定閾値以上であるときは、認識領域の中心から左側であるか否かを判別し（ステップＳ５０７）、左側でないときは、右枠判定処理を実行し（ステップＳ５０８）、左側であるときは、右枠判定処理を実行することなくステップＳ５１０以降の処理を実行し、本処理を終了する。
【０１１３】
ステップＳ５０６の判別の結果、取得した黒画素数の全画素数に対する割合が枠線候補判定閾値以上でないときは、後述する図２９の左枠判定処理を実行し（ステップＳ５０９）、ステップＳ５１０以降の処理を実行し、本処理を終了する。
【０１１４】
なお、水平方向ライン抽出処理の変形例についても図２８と基本的に同様である。
【０１１５】
図２９は、図２８のステップＳ５０９の左枠判定処理のフローチャートである。
【０１１６】
図２９において、左辺確定フラグがＯＦＦであり、左枠が抽出済みであるか否かを判別し（ステップＳ５２１）、左枠が取得済みであるときは、直ちに本処理を終了し、左枠が取得済みでないときは、１列左側の黒画素数が、取得した黒画素数に判定係数（例えば、５／２）を掛けた値以上であるか否かを判別し（ステップＳ５２２）、１列左側の黒画素数が、取得した黒画素数に判定係数を掛けた値以上であるときは、Ｘを左枠の１列右側の座標として記憶し（ステップＳ５２３）、左辺確定フラグをＯＮにし（ステップＳ５２４）、なだらか回数に０を設定して（ステップＳ５２５）、本処理を終了する。
【０１１７】
ステップＳ５２２の判別の結果、１列左側の黒画素数が、取得した黒画素数に判定係数を掛けた値以上でないときは、２列左側の黒画素数が、取得した黒画素数に判定係数（例えば、５）を掛けた値以上であるか否かを判別し（ステップＳ５２６）、２列左側の黒画素数が、取得した黒画素数に判定係数を掛けた値以上であるときは、Ｘを左枠の１列右側の座標として記憶し（ステップＳ５２７）、左辺確定フラグをＯＮにし（ステップＳ５２８）、なだらか回数に０を設定して（ステップＳ５２９）、本処理を終了する。
【０１１８】
ステップＳ５２６の判別の結果、２列左側の黒画素数が、取得した黒画素数に判定係数を掛けた値以上でないときは、なだらか回数が２未満であるか否かを判別し（ステップＳ５３０）、なだらか回数が２未満であるときは、なだらか回数をインクリメントし（ステップＳ５３１）、なだらか回数が２未満でないときは、枠線ではないと判定し、左辺確定フラグをＯＮにして（ステップＳ５３２）、本処理を終了する。
【０１１９】
なお、図２８のステップＳ５０５及びステップＳ５０８の右枠判定処理についても図２９と基本的に同様である。
【０１２０】
図３０において、認識領域の左側にある枠線を抽出する例について説明する。図３１において、列(6)は、枠線候補判定閾値（ここでは、５０％）以上でないので（図２８のステップＳ５０６でＮＯ）、図２９の左枠判定処理を実行する（ステップＳ５０９）。列(6)の黒画素数は１５ｐｉｃ、列(5)の黒画素数は２３ｐｉｃ、列(4)の黒画素数は３３ｐｉｃであり、列(5)の黒画素数は列(6)の黒画素数に判定係数５／２を掛けた値以上でなく（ステップＳ５２２でＮＯ）、列(4)の黒画素数は列(6)の黒画素数に判定係数５を掛けた値以上でない（ステップＳ５２６でＮＯ）ので、列(6)は左枠の１列右側の列でないと判定し、なだらか回数をインクリメントする。
【０１２１】
次に、列(7)は、枠線候補判定閾値（ここでは、５０％）以上でないので（図２８のステップＳ５０６でＮＯ）、図２９の左枠判定処理を実行する（ステップＳ５０９）。列(7)の黒画素数は１５ｐｉｃ、列(6)の黒画素数は１５ｐｉｃ、列(5)の黒画素数は２３ｐｉｃであり、列(6)の黒画素数は列(7)の黒画素数に判定係数５／２を掛けた値以上でなく（ステップＳ５２２でＮＯ）、列(5)の黒画素数は列(7)の黒画素数に判定係数５を掛けた値以上でない（ステップＳ５２６でＮＯ）ので、列(7)は左枠の１列右側の列でないと判定し、なだらか回数をインクリメントする。
【０１２２】
次に、列(8)は、枠線候補判定閾値（ここでは、５０％）以上でないので（図２８のステップＳ５０６でＮＯ）、図２９の左枠判定処理を実行する（ステップＳ５０９）。列(8)の黒画素数は１３ｐｉｃ、列(7)の黒画素数は１５ｐｉｃ、列(6)の黒画素数は１５ｐｉｃであり、列(7)の黒画素数は列(8)の黒画素数に判定係数５／２を掛けた値以上でなく（ステップＳ５２２でＮＯ）、列(6)の黒画素数は列(8)の黒画素数に判定係数５を掛けた値以上でない（ステップＳ５２６でＮＯ）ので、列(8)は左枠の１列右側の列でないと判定し、なだらか回数が２未満でない（ステップＳ５３０でＮＯ）ので、左辺確定フラグをＯＮにして（ステップＳ５３２）、列(2)〜(5)付近は枠線でないと判定する。
【０１２３】
図２９の処理によれば、なだらか回数が２未満でないときは（ステップＳ５３０でＮＯ）、枠線ではないと判定し、左辺確定フラグをＯＮにする（ステップＳ５３２）ので、図３０に示すような枠線に交差した丸囲みによるチェックマークの一部分や、図３２に示すような丸囲みによるチェックマークが歪んだことにより垂直又は水平な部分を有するチェックマークの一部分を除去するのを防止することができる。
【０１２４】
本実施の形態の枠線抽出処理は、図３３に示すようなチェックマーク認識に応用することができる。
【０１２５】
図３３において、ａ，ｂ及びｃは、枠線抽出処理によって枠線を除去し、黒画素数の割合を算出することによって、チェックの有無を判別することができる。また、ｄ及びｅは、枠線抽出処理によって枠線を除去することができないので、チェックありと判別することができる。
【０１２６】
本実施の形態の周囲ゴミ構造物抽出処理は、図３４に示すような光学式マーク認識技術（ＯＭＲ：Optical MarkReader）に応用することができる。
【０１２７】
図３４において、網掛けで示した認識領域において、周囲ゴミ構造物抽出処理によって図３５の網掛けで示した領域のみを抽出し、黒画素数の割合を算出することによって、マークの有無を判別することができる。
【０１２８】
また、本発明の目的は、上記実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（又は記録媒体）を、システム又は装置に供給し、そのシステム又は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出して実行することによっても達成されることは言うまでもない。
【０１２９】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１３０】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(ＯＳ)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１３１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
【０１３２】
また、上記プログラムは、上述した実施の形態の機能をコンピュータで実現することができればよく、その形態は、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給されるスクリプトデータ等の形態を有するものでもよい。
【０１３３】
プログラムを供給する記録媒体としては、例えば、ＲＡＭ、ＮＶ−ＲＡＭ、フロッピー（登録商標）ディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＭＯ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ（ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ）、磁気テープ、不揮発性のメモリカード、他のＲＯＭ等の上記プログラムを記憶できるものであればよい。又は、上記プログラムは、インターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続される不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
【図面の簡単な説明】
【０１３４】
【図１】図１は、本発明の実施の形態に係る画像認識装置の内部構成を概略的に示すブロック図である。
【図２】図１の画像認識装置１００によって実行されるイメージ認識処理のフローチャートである。
【図３】図２のイメージ認識処理を説明するのに用いられる図である。
【図４】図２のイメージ認識処理を説明するのに用いられる図である。
【図５】図２のイメージ認識処理を説明するのに用いられる図である。
【図６】図２のイメージ認識処理を説明するのに用いられる図である。
【図７】図７は、図２のステップＳ４の枠線抽出処理のフローチャートである。
【図８】図７の枠線抽出処理を説明するのに用いられる図である。
【図９】図７の枠線抽出処理を説明するのに用いられる図である。
【図１０】図７のステップＳ１１及びステップＳ１５の垂直方向ライン抽出処理のフローチャートである。
【図１１】図１０のステップＳ１０９の左枠判定処理のフローチャートである。
【図１２】図１１の左枠判定処理を説明するのに用いられる図である。
【図１３】図１１の左枠判定処理を説明するのに用いられる図である。
【図１４】図１０のステップＳ１０５及びステップＳ１０８の右枠判定処理のフローチャートである。
【図１５】図１４の右枠判定処理を説明するのに用いられる図である。
【図１６】図７のステップＳ１２及びステップＳ１７の水平方向ライン抽出処理のフローチャートである。
【図１７】図１６のステップＳ２０９の上枠判定処理のフローチャートである。
【図１８】図１６のステップＳ２０５及びステップＳ２０８の下枠判定処理のフローチャートである。
【図１９】図２のステップＳ５の周囲ゴミ構造物抽出処理のフローチャートである。
【図２０】図１９のステップＳ２１の上下ゴミ構造物抽出処理のフローチャートである。
【図２１】図２０のステップＳ３０５の垂直方向黒画素処理のフローチャートである。
【図２２】図２１の垂直方向黒画素処理を説明するのに用いられる図である。
【図２３】図２０のステップＳ３０６の垂直方向白画素処理のフローチャートである。
【図２４】図２３の垂直方向白画素処理を説明するのに用いられる図である。
【図２５】図１９のステップＳ２２の左右ゴミ構造物抽出処理のフローチャートである。
【図２６】図２５のステップＳ４０５の水平方向黒画素処理のフローチャートである。
【図２７】図２５のステップＳ４０６の水平方向白画素処理のフローチャートである。
【図２８】図１０の垂直方向ライン抽出処理の変形例のフローチャートである。
【図２９】図２８のステップＳ５０９の左枠判定処理のフローチャートである。
【図３０】図２８の垂直方向ライン抽出処理を説明するのに用いられる図である。
【図３１】図２８の垂直方向ライン抽出処理を説明するのに用いられる図である。
【図３２】図２８の垂直方向ライン抽出処理を説明するのに用いられる図である。
【図３３】図７の枠線抽出処理の応用例の図である。
【図３４】図１９の周囲ゴミ構造物抽出処理の応用例の図である。
【図３５】図１９の周囲ゴミ構造物抽出処理の応用例の図である。
【図３６】従来の画像認識装置における認識領域を示す図である。
【図３７】従来の画像認識装置における認識領域を示す図である。
【図３８】従来の画像認識装置における認識領域を示す図である。
【符号の説明】
【０１３５】
１００  画像認識装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  外部記憶装置
１０８  画像読取装置
【図１】
2005196283.tif 000003
【図２】
2005196283.tif 000004
【図３】
2005196283.tif 000005
【図４】
2005196283.tif 000006
【図５】
2005196283.tif 000007
【図６】
2005196283.tif 000008
【図７】
2005196283.tif 000009
【図８】
2005196283.tif 000010
【図９】
2005196283.tif 000011
【図１０】
2005196283.tif 000012
【図１１】
2005196283.tif 000013
【図１２】
2005196283.tif 000014
【図１３】
2005196283.tif 000015
【図１４】
2005196283.tif 000016
【図１５】
2005196283.tif 000017
【図１６】
2005196283.tif 000018
【図１７】
2005196283.tif 000019
【図１８】
2005196283.tif 000020
【図１９】
2005196283.tif 000021
【図２０】
2005196283.tif 000022
【図２１】
2005196283.tif 000023
【図２２】
2005196283.tif 000024
【図２３】
2005196283.tif 000025
【図２４】
2005196283.tif 000026
【図２５】
2005196283.tif 000027
【図２６】
2005196283.tif 000028
【図２７】
2005196283.tif 000029
【図２８】
2005196283.tif 000030
【図２９】
2005196283.tif 000031
【図３０】
2005196283.tif 000032
【図３１】
2005196283.tif 000033
【図３２】
2005196283.tif 000034
【図３３】
2005196283.tif 000035
【図３４】
2005196283.tif 000036
【図３５】
2005196283.tif 000037
【図３６】
2005196283.tif 000038
【図３７】
2005196283.tif 000039
【図３８】
2005196283.tif 000040