(57)【特許請求の範囲】
【請求項１】
基準の形状となる基準画像情報を記憶する記憶部と、入力画像の形状のずれを補正する制御部とを有する画像処理装置に実行させる画像処理プログラムであって、
該制御部に、
該入力画像に含まれる枠を検出するステップと、
該入力画像の全体の画像領域を、検出された該枠の画素がそれぞれ含まれる様に、複数の部分画像領域に分割し、該複数の部分画像領域に対応するように、該基準画像情報に基づいて、複数の基準部分画像領域を生成するステップと、
該複数の部分画像領域の各々において、該部分画像領域と対応する該基準部分画像領域との間の該枠の画素の位置のずれ量を含む第一の位置ずれ量を算出するステップと、
該複数の部分画像領域の各々において、該第一の位置ずれ量を該部分画像領域の所定の画素に関係付けるステップと、
該入力画像内の該複数の部分画像領域における、該第一の位置ずれ量が関係付けられた複数の画素からの距離および該複数の画素毎に対応付けられた該第一の位置ずれ量から該入力画像内の各画素の位置ずれ量を算出するステップと、
該各画素の位置ずれ量により該各画素の位置を補正するステップ、
を実行させることを特徴とする画像処理プログラム。
【請求項２】
該第一の位置ずれ量を一般化ハフ変換により算出することを特徴とする請求項１に記載の画像処理プログラム。
【請求項３】
該入力画像内の枠の垂直方向成分あるいは水平方向成分となる画素を該ずれ量の算出の対象とすることを特徴とする請求項２に記載の画像処理プログラム。
【請求項４】
該部分画像領域の中心に位置する画素に該第一の位置ずれ量を関係付けることを特徴とする請求項１に記載の画像処理プログラム。
【請求項５】
基準の形状となる基準画像情報を記憶する記憶部と、入力画像の形状のずれを補正する制御部とを有する画像処理装置の画像処理方法であって、
該制御部が、該入力画像に含まれる枠を検出し、
該制御部が、該入力画像の全体の画像領域を、検出された該枠の画素がそれぞれ含まれる様に、複数の部分画像領域に分割し、該複数の部分画像領域に対応するように、該基準画像情報に基づいて、複数の基準部分画像領域を生成し、
該制御部が、該複数の部分画像領域の各々において、該部分画像領域と対応する該基準部分画像領域との間の平行移動、回転方向、線形伸縮、および線形伸縮の方向の内の少なくとも一つの形状のずれ量と、該枠の画素の位置のずれ量を含む第一の位置ずれ量を算出し、
該制御部が、該複数の部分画像領域の各々において、該第一の位置ずれ量を該部分画像領域の所定の画素に関係付け、
該制御部が、該入力画像内の該複数の部分画像領域における、該第一の位置ずれ量が関係付けられた複数の画素からの距離および該複数の画素毎に対応付けられた該第一の位置ずれ量から該入力画像内の各画素の位置ずれ量を算出する、
ことを特徴とする画像処理方法。
【請求項６】
入力画像の形状のずれを補正する画像処理装置であって、
基準の形状となる基準画像情報を記憶する記憶部と、
該入力画像に含まれる枠を検出し、該入力画像の全体の画像領域を、検出された該枠の画素がそれぞれ含まれる様に、複数の部分画像領域に分割し、該複数の部分画像領域に対応するように、該基準画像情報に基づいて、複数の基準部分画像領域を生成し、該複数の部分画像領域の各々において、該部分画像領域と対応する該基準部分画像領域との間の平行移動、回転方向、線形伸縮、および線形伸縮の方向の内の少なくとも一つの形状のずれ量と、該枠の画素の位置のずれ量を含む第一の位置ずれ量を算出し、該複数の部分画像領域の各々において、該第一の位置ずれ量を該部分画像領域の所定の画素に関係付け、該入力画像内の該複数の部分画像領域における、該第一の位置ずれ量が関係付けられた複数の画素からの距離および該複数の画素毎に対応付けられた該第一の位置ずれ量から該入力画像内の各画素の位置ずれ量を算出し、該各画素の位置ずれ量により該各画素の位置を補正する制御部と
を有することを特徴とする画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，画像情報の読取方式に関する。
【背景技術】
【０００２】
画像情報をコンピュータに読み込む処理として光学文字認識（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ（以下、ＯＣＲとする））技術がある。ＯＣＲ技術は、画像上に書かれた形状から文字を検出し、コンピュータで扱うことが可能な文字コード情報を出力する技術である。ＯＣＲ技術は種々の分野で利用される。ＯＣＲ技術は、例えば、帳票の読取りに用いる。帳票では、文字が書かれるべき帳票上の領域が予め定められている。領域は、例えば帳票に書かれた枠線によって定められる。ＯＣＲ技術は、文字が書かれる領域を正確に検出することが必要である。文字が書かれる領域を正確に検出するためには、枠線の位置、角度、大きさ等を正確に特定することが有効である。枠線の位置などを正確に特定するためには、予め保持する雛型となる帳票画像データの枠線情報と入力された帳票の画像データから得る枠線情報との間の位置ずれ量から特定する。
【０００３】
帳票の枠線情報等は、複数の色情報によって構成される場合、あるいは複数の濃度の段階によって構成される場合がある（以下、カラー帳票という）。カラー帳票に対してＯＣＲ技術を適用する場合、まず、読み込んだカラー帳票画像情報の予め定めた色情報を削除する。色情報を削除した後の帳票画像データから文字情報を検出する。カラー帳票から色情報を削除するとき、帳票画像情報の一部の枠線情報も削除すること、あるいは帳票画像情報の一部の不要なノイズ情報が残ることがある。さらに、帳票上の枠線情報は複雑になっている。
【０００４】
雛型画像情報と入力画像情報との間の位置ずれ量を算出する方式として、一般化ハフ変換がある。一般化ハフ変換は、複雑かつ多様な構造を持つ帳票雛形を参照画像として保持する。一般化ハフ変換は、平行、回転、伸縮などの変形パラメータごとに投票空間を設定し、パラメータ毎に投票空間に投票することにより、入力画像の位置ずれ量を推定する。一般化ハフ変換は、複雑な構造を持つ帳票画像の場合で、かつ、枠線のノイズ・欠けがある場合でも、入力された帳票画像と雛型の帳票画像との間のずれ量を推定することができる。しかしながら、一般化ハフ変換は、投票空間の実装のための膨大なメモリ空間、および、投票のための膨大な処理時間を必要とする。そのため、一般化ハフ変換の技術をＯＣＲ技術にそのまま適用することは、実用的ではない
従来技術として以下の文献がある。
【特許文献１】特開平１０−２７２０８号公報
【特許文献２】特許第３７５６３０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の課題は、入力画像情報の位置ずれを精度よく補正した補正画像を簡単に得る方式の提供である。
【課題を解決するための手段】
【０００６】
本発明は、以下によって課題を解決する。本発明は、基準の形状となる基準画像情報を記憶する記憶部と、入力画像の形状のずれを補正する制御部とを有する画像処理装置を対象とする。本発明の第一の解決手段は、制御部が、入力画像に含まれる枠を検出し、入力画像の全体の画像領域を、検出された枠の画素がそれぞれ含まれる様に、複数の部分画像領域に分割し、複数の部分画像領域に対応するように、基準画像情報に基づいて、複数の基準部分画像領域を生成し、複数の部分画像領域の各々において、部分画像領域と対応する基準部分画像領域との間の該枠の画素の位置のずれ量を含む第一の位置ずれ量を算出する。更に、制御部は、複数の部分画像領域の各々において、第一の位置ずれ量を部分画像領域の所定の画素に関係付け、入力画像内の複数の部分画像領域における、第一の位置ずれ量が関係付けられた複数の画素からの距離および複数の画素毎に対応付けられた第一の位置ずれ量から入力画像内の各画素の位置ずれ量を算出し、各画素の位置ずれ量により各画素の位置を補正する。
【０００７】
第二の解決手段は、第一の解決手段でのずれ量を一般化ハフ変換により算出することである。
【０００８】
第三の解決手段は、第一の解決手段でさらに、入力画像情報内の枠を検出し、検出された枠となる画素をずれ量の算出の対象とすることである。
【０００９】
第四の解決手段は、第三の解決手段で更に、入力画像情報内の枠の垂直方向成分あるいは水平方向成分となる画素をずれ量の算出の対象とすることである。
【００１０】
第五の解決手段は、第一の解決手段での部分画像領域の中心に位置する画素に第一の位置ずれ量を関係付ける。
【発明の効果】
【００１１】
本発明により、入力画像情報の位置ずれを精度よく補正した補正画像を簡単に得ることが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を説明する。
【００１３】
図１は、画像処理装置１のハードウェア構成図である。画像処理装置１は、制御部１０１、メモリ１０２、入力部１０３、記憶部１０４、出力部１０５を有し、それぞれがバス１０７に接続された構成である。
【００１４】
制御部１０１は画像処理装置１の全体を制御する。例えば、中央処理装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ））である。また、制御部１０１はメモリ１０２に展開された画像処理プログラム１０８を実行する。画像処理プログラム１０８は制御部１０１を、輪郭点集合生成モジュール、部分画像投票モジュール、パラメータ絞込モジュール、部分画像貼合モジュール等として機能させる。また、制御部１０１は、入力画像情報１７が帳票である場合、帳票に描かれた文字列画像をコンピュータで扱うことが可能な文字コード情報に変換する機能を有する。
【００１５】
メモリ１０２は、記憶部１０４に格納された画像処理プログラム１０８が展開される記憶領域である。また、メモリ１０２は制御部１０１が画像処理プログラム１０８を実行する際に生成される種々の演算結果が格納される記憶領域である。メモリ１０２は例えばランダムアクセスメモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ））である。
【００１６】
入力部１０３は利用者から制御部１０１に与える種々の命令あるいは画像の情報を受付ける。入力部１０３は、例えば、キーボード、マウス、タッチパネルである。また、入力部１０３はイメージスキャナ等である。記憶部１０４は例えばハードディスク装置である。記憶部１０４は、画像処理プログラム１０８、基準となる帳票画像である基準画像情報（以下、雛型画像情報とする）１８、入力画像情報１７等を記憶する。出力部１０５は、画像処理の結果情報を出力する。出力部１０５は、例えば、ディスプレイ（表示装置）等である。
【００１７】
輪郭点集合生成モジュールは、入力画像情報１７から画像内に描かれた形状の輪郭を抽出する。輪郭点集合生成モジュールは、入力画像情報１７に含まれる枠線情報（ストローク）の輪郭を構成する点集合（入力画像輪郭点集合）を生成する。枠線は、帳票内の文字の入力領域を定めるため、あるいは帳票の特徴をわかりやすくするために描かれる。輪郭点集合生成モジュールは、雛型画像情報１８に含まれる輪郭の点集合（雛形輪郭点集合）は、予め特定しておくことも可能である。例えば、輪郭点集合生成モジュールは、雛型画像情報１８を登録するときに雛形輪郭点集合を設定する。輪郭点集合生成モジュールは、設定した雛形輪郭点集合を記憶部１０４に格納する。輪郭点集合生成モジュールは、入力画像情報１７を格子状に分割した部分画像領域のそれぞれに対応する入力画像輪郭点集合および雛形輪郭点集合を求める。
【００１８】
部分画像投票モジュールは、入力画像情報１７を格子状に分割した各部分画像領域に対応する雛形輪郭点集合と入力画像輪郭点集合を用いて、一般化ハフ変換の原理に基づき、位置ずれパラメータを表す投票空間上への投票を行う。部分画像投票モジュールが投票をした結果、投票空間の中で投票頻度の領域が位置ずれパラメータの推定値となる。
【００１９】
パラメータ絞込モジュールは、一般化ハフ変換の演算パラメータ（解像度）を粗いものから細かいものに段階的に変化させる。演算パラメータは、例えば、目標の精度が小数点以下第二位の精度を目標とするときに、一桁目の値とする。一桁目の候補を求めると、次に、演算パラメータは小数点以下第一位の値とする。このような処理を繰り返すことで、目標の精度での位置ずれパラメータを算出する。パラメータ絞込モジュールは、輪郭点数や位置ずれパラメータを表す投票空間の大きさを、膨大にならないように抑えつつ、位置ずれパラメータの候補を徐々に絞り込むことを可能とする。
【００２０】
部分画像貼合モジュールは、画像を格子状に分割した領域のそれぞれから算出した位置ずれパラメータのうち、信頼度の高い位置ずれパラメータを抽出する。部分画像貼合モジュールは、入力画像情報１７内の各画素に対する位置ずれパラメータを、各部分画像領域の位置ずれパラメータを補間することにより算出する。この結果、部分画像貼合モジュールは、各部分画像領域毎に異なる位置ずれパラメータである場合でも各部分画像領域を滑らかに貼り合わせることが可能となる。部分画像貼合モジュールは、入力画像情報１７内の各画素に対応する位置ずれパラメータで位置を補正した補正画像を出力する。
【００２１】
次に、本実施例の入力画像情報１７を受付けてから補正画像を出力するまでの処理について説明する。図２は、入力画像情報１７を受付けてから補正画像を出力するまでの処理のフローチャートである。制御部１０１は、入力画像情報１７から輪郭点の集合を生成する（Ｓ０１）。制御部１０１は、入力画像情報１７を部分画像領域に分割する（Ｓ０２）。制御部１０１は、予め定めた大きさの矩形で格子状に入力画像情報１７を分割する。分割した矩形は部分画像領域という。制御部１０１は、各部分画像領域について一般化ハフ変換による投票処理を行う（Ｓ０３）。制御部１０１は、Ｓ０３で一般化ハフ変換を実行するときに投票処理の演算パラメータの絞込み処理を行う（Ｓ０４）。全ての部分画像領域の投票結果を取得するまで（Ｓ０５：Ｎｏ）、制御部１０１は、Ｓ０３の部分画像の投票処理を実行する。全ての部分画像領域の投票結果を取得すると（Ｓ０５：Ｙｅｓ）、制御部１０１は、部分画像の貼合わせ処理を実行する（Ｓ０６）。以下、各ステップについて詳細に説明する。
【００２２】
本実施例の入力画像情報１７は、白黒２値の帳票、カラーの帳票、およびグレースケールの帳票である。図３は入力画像情報１７の例である。入力画像情報１７は枠線情報１７３−１、枠線情報１７３−２、および文字情報１７２を有する。枠線情報１７３−１は、文字が入力される枠である。枠線情報１７３−２は、文字が直接入力される領域ではないが、帳票の特徴が明らかとなる枠である。画像処理装置１は、文字情報１７２を精度よく検出するために、枠線情報１７３−１の位置を正確に特定した補正画像を得る。補正画像を得るために、画像処理装置１は、枠線情報１７３−１および枠線情報１７３−２を雛型画像情報に合わせる。１７３−３、１７３−４、および１７３−５等は、入力画像情報１７の枠の内、色づけされている枠である。
【００２３】
制御部１０１は、入力画像情報１７に対してドロップアウト処理を行う。ドロップアウト処理は、帳票上に予め印刷もしくは印字されている罫線や文字の色のうち特定の色（ドロップアウトカラー）の部分を以降の画像処理において画像情報として扱わないことと設定する処理である。
【００２４】
次に、Ｓ０１の輪郭点集合生成処理について説明する。本実施例では、輪郭点集合生成モジュールは入力画像情報１７がカラーの帳票、およびグレースケールの帳票の場合、ニブラック（以下Ｎｉｂｌａｃｋとする）法によって入力画像を２値化する処理を行う。Ｎｉｂｌａｃｋ法は局所２値化処理法である。Ｎｉｂｌａｃｋ法は、求めたい画素に対して周辺の情報（一辺が５個の画素の大きさの矩形、一辺が７個の画素の大きさの矩形等）を設定して１画素ずつしきい値を求めていく２値化方法である。まず，背景分離処理として，矩形フィルタを設定する。矩形フィルタ内の濃度分散値から背景部か情報部を判別する。そして，背景と分離する閾値（σｍｉｎ）を設定し，フィルタ内の計算結果がσｍｉｎ以上であれば情報があると判定する。濃度分散値が閾値（σｍｉｎ）以上であれば、注目画素ｋの濃度のしきい値を求め白画素か黒画素かを判定する。黒画素は以降の処理において、演算の対象となる画素である。黒画素は、枠線のエッジ線であり、文字情報である。輪郭点集合生成モジュールは、変換した２値画像情報中のストロークの輪郭点集合を生成する。
【００２５】
図４は、雛型画像情報１８である。雛型画像情報１８は帳票を二値化した画像である。雛型画像情報１８は、帳票の枠線の形状の基準となる。枠線の形状は、基準点からの距離、角度、枠線の伸縮の大きさ、枠線の伸縮の方向等によって特定される。となる帳票の場合、文字が入力される位置は特定される。雛型画像情報１８の文字が入力される領域の座標情報が判明している場合、装置が文字データの読取り処理を行う時に文字形状情報を検出することが容易になる。したがって、入力画像情報１７の枠線の位置回転角度、伸縮などの形状を雛型画像情報１８の枠線の形状にあわせることで、枠線内の文字列を精度よく読み出すことが可能となる。
Ｎｉｂｌａｃｋを使用するにあたって使用した設定値の例は以下である。局所的Ｎｉｂｌａｃｋを行なうウィンドウの一辺の長さは「５」とした。Ｎｉｂｌａｃｋの設定値は「−０．１」とした。設定値は、注目画素ｋの濃度と標準偏差との乗算を行った値に平均濃度差閾値を加えることで算出する。また、平均濃度差閾値は「８．０」とした。平均エッジ強さ閾値は「８．０」とした。エッジ数閾値は「６」とした。
【００２６】
ここで、Ｓ０２の輪郭点集合生成処理の他の方法を説明する。輪郭点集合生成モジュールは、ソベル（以下Ｓｏｂｅｌとする）のエッジフィルタにより、カラー・濃淡の画素値を持つ入力画像情報１７から輪郭点の集合を抽出する。輪郭点集合生成モジュールは抽出した入力画像情報１７の枠線を構成する画素の集合を生成する。
【００２７】
輪郭点集合生成モジュールは、Ｓｏｂｅｌのエッジフィルタを用いて画像の領域分割を実行する。領域分割は入力画像情報１７内の背景ではないストロークの画素を求める処理である。輪郭点集合生成モジュールは画素毎に検出したエッジの値と予め定めた閾値との比較によって背景の画素か否かを判別する。図５はＳｏｂｅｌの水平方向のエッジフィルタの設定値２１−１である。図６はＳｏｂｅｌの垂直方向のエッジフィルタの設定値２１−２である。輪郭点集合生成モジュールは、入力画像情報１７の各画素に対してエッジ値を算出する。例えば、輪郭点集合生成モジュールは、エッジ値を２５５以下に統合した値となるように定める。例えば、濃度閾値が予め２５に設定されている場合、輪郭点集合生成モジュールは、エッジ値が２５未満のときに黒画素であると判別する。
【００２８】
エッジ値は、帳票に応じて設定することが可能である。例えば、カラー帳票では背景色と抽出する文字色との色の差が小さい場合、エッジ値を低く設定することが必要である。一方、背景色と抽出する文字色との色の差が小さい場合、エッジ値を大きく設定しても抽出が可能である。水平方向の成分値をＨとし、垂直方向の成分値をＶとする。輪郭点集合生成モジュールは、エッジ値を以下の（数１）で算出する。
【００２９】
【数１】
0005082637.tif 000002
画像処理の対象が帳票画像である場合、水平方向成分のエッジ成分および垂直方向成分のエッジ成分のみを一般化ハフ変換の処理対象とすることが可能である。帳票画像の枠あるいは文字の形状は、一般的に帳票に対して縦（垂直）方向の線分あるいは横（水平）方向の線分が多いためである。一般化ハフ変換は黒画素の方向成分も考慮する。そこで、帳票画像の場合、輪郭点集合生成モジュールは取得された種々のエッジ成分の方向成分から水平成分のエッジ成分と垂直成分のエッジ成分とを抽出する。あるいは、輪郭点集合生成モジュールは取得された種々のエッジ成分の方向成分を水平成分のエッジ成分と垂直成分のエッジ成分とに分類する構成とすることが可能である。上記の構成は、一般化ハフ変換での比較要素が減少するため、部分画像投票モジュールでの位置ずれパラメータの算出に要する時間を減少させることを可能とする。
【００３０】
また、帳票画像が対象である場合、水平方向成分のみのエッジ成分を一般化ハフ変換の処理対象とする方法、あるいは垂直方向成分のみのエッジ成分を一般化ハフ変換の処理対象とする方法もある。この場合、輪郭点集合生成モジュールは水平成分および垂直成分の内、何れかのみに対して一般化ハフ変換による位置ずれパラメータの算出処理を適用する。上記の構成は、一般化ハフ変換での比較要素が更に減少するため、部分画像投票モジュールでの位置ずれパラメータの算出に要する時間を減少させることが可能とする。輪郭点集合生成モジュールは、例えば、輪郭点集合生成モジュールは画素数が多い方向成分を一般化ハフ変換による位置ずれパラメータの算出処理の対象とする。
【００３１】
次に、Ｓ０２での入力画像情報１７を部分画像領域に分割する処理について説明する。
【００３２】
部分画像投票モジュールは、入力画像情報１７を格子状に分割する。格子状に分割する範囲は予め定義する。分割する範囲は帳票の形状によって異なる。分割した範囲内は、帳票の画像内でユニークな要素の単位を含むように分割する。帳票を細かい範囲で分割すると一つの範囲での投票処理は少なくなるため部分画像投票モジュールの計算量は減少するメリットがある。一方、帳票を細かい範囲で分割すると一つの範囲での図形の特徴がなく、部分画像投票モジュールの処理結果の信頼性が下がるデメリットがある。そこで、帳票内の特徴となる部分を覆う領域を範囲として設定する。
【００３３】
図７は、入力画像情報１７を複数の部分画像領域に分割した図である。１７６は入力画像情報１７を分割する線である。本実施例では、線１７６は入力画像情報１７を格子状に分割する。例えば、格子形状が連続する表を複数の範囲に分割すると、格子の各交差点に対して位置ずれパラメータのピーク値が発生することとなる。一般化ハフ変換での偽のピークの発生は、表のまとまりを範囲として設定することにより防止することが可能である。図７では、部分画像投票モジュールは、入力画像情報１７を横方向に３個および縦方向に３個とする９個の部分画像領域１７０に分割する。
【００３４】
次に、Ｓ０３での部分画像の投票処理について説明する。部分画像投票モジュールは、各部分画像領域に対応する雛形輪郭点集合と入力画像輪郭点集合とから位置ずれパラメータを算出する。部分画像投票モジュールは、位置ずれパラメータを一般化ハフ変換の原理によって算出する。一般化ハフ変換は、位置ずれパラメータを表す投票空間上への投票を行う。一般化ハフ変換は、投票空間の中で投票頻度の高いパラメータ部分画像領域からパラメータの推定値を出力する。
【００３５】
投票空間は、部分画像投票モジュールがバケット法に基づき設定する。バケット法は計算幾何学の一手法である。バケット法は空間的な広がりを持つ対象を予め小領域に分割する。バケット法を適用することにより、部分画像領域毎に一般化ハフ変換を適用すればよいため、処理の高速化が可能となる。
【００３６】
図８にバケット法の適用の説明図を示す。部分画像投票モジュールは、Ｓ０２で格子状に分割した入力画像情報１７の部分画像領域１７０を更に分割する。１７５は部分画像領域１７０を分割する格子線である。分割する格子線間の距離は、予め設定する。例えば、イメージスキャナ装置で発生すると予想される最大のずれ量を定義する。イメージスキャナ装置で発生するずれ量が１ｃｍである場合、部分画像投票モジュールは、紙の場合の帳票の１ｃｍに相当する間隔で格子線を作成する。１８３は入力画像情報１７の部分画像領域１７０に対応する雛型画像情報１８の領域である。部分画像投票モジュールは、領域１８３について囲む格子線１７５で囲まれる領域を雛型画像情報１８の部分画像領域１８０とする。
【００３７】
部分画像投票モジュールは、各部分画像領域に対して一般化ハフ変換の原理を適用して位置ずれパラメータを算出する。部分画像投票モジュールは、雛形輪郭点集合と入力画像輪郭点集合を用いて、投票空間の中で投票数が極大となるパラメータを位置ずれパラメータとして推定する。一般化ハフ変換は、ハフ（Ｈｏｕｇｈ）変換の応用である。ハフ変換は、元の（ｘ，ｙ）座標系から（ｒ，θ）の極座標系に変換し、極座標系で直線の形状を検出する方式である。一般化ハフ変換は、直線だけでなく任意形状の図形に対する平行移動／回転／伸縮等のパラメータを抽出することが可能となる。本実施例では、一般化ハフ変換で算出したパラメータは、帳票の位置ずれパラメータとなる。一般化ハフ変換は、雛形輪郭点集合と入力画像輪郭点集合の座標の差分を投票し、最も投票されたパラメータを求めるべきパラメータとする。一般化ハフ変換は、投票数が極大となるパラメータの探査であるため、画像中にノイズあるいは欠けが存在しても精度よく検出することが可能である。
【００３８】
本実施例での一般化ハフ変換の処理について説明する。部分画像投票モジュールは、以下の処理により位置ずれパラメータを表す投票空間上への投票を行う。
【００３９】
部分画像投票モジュールは、雛型画像情報１８の部分画像領域内の基準点、および雛型画像情報１８の基準点から部分画像領域１８０上の各黒画素までのベクトルを設定する。図９は、雛型画像情報１８の部分画像領域を示す。１８０は雛型画像情報１８の部分画像領域である。１８１は部分画像領域１８０内の基準点である。基準点１８１は予め設定する。１８２は部分画像領域１８０内の雛形輪郭点集合である。
【００４０】
部分画像投票モジュールは、基準点１８１を中心にベクトルを点対称とした比較ベクトルを設定する。図１０は比較ベクトルの例である。１９０は比較ベクトルである。１９１は比較ベクトル１９０と部分画像領域１８０とが点対称となる対称の中心である。対象の中心１９１は基準点１８１に対応する。１９２は比較ベクトル１９０の雛形輪郭点集合である。比較ベクトル１９０と雛型輪郭点集合１８２とは点対称である。したがって、比較ベクトルの対象の中心１９１が雛型輪郭点集合１８２上にある場合、雛型輪郭点集合１９２は必ず基準点１８１を通過する。なお、一般化ハフ変換では、画素の重なりを考慮するだけでなく、画素の方向ベクトルの重なりについても考慮する方法がある。一般化ハフ変換のパラメータを増やすことで位置ずれ量の算出精度は上昇するが計算量が膨大となる。そこで画像処理装置１のハードウェアの処理能力に応じてパラメータの次元を設定する。
【００４１】
部分画像投票モジュールは、以下の処理によって投票処理を実行する。図１１は投票処理のフローチャートである。部分画像投票モジュールは、投票空間を生成する（Ｓ１１）。投票空間は多次元空間となる。
【００４２】
図１２は投票空間の構成例である。３０は投票空間のデータ構成図である。３０−１乃至３０−７は、それぞれ、横軸方向位置３２および縦軸方向位置３３の投票数を格納する領域である。３０−１から３０−７までは、例えば、比較ベクトル１９０の角度を１度ずつ回転させた場合の領域である。この他、線形伸縮の倍率、線形伸縮の方向によって空間は増加する。３１は各パラメータに作成される投票数を格納するための領域である。
【００４３】
部分画像投票モジュールは、横軸方向位置、縦軸方向位置、回転角度の大きさ、線形伸縮の倍率、線形伸縮の方向等のパラメータの種類、およびパラメータの精度によって投票空間の大きさを決定する（Ｓ１２）。
【００４４】
次に、部分画像投票モジュールは投票する対象を以下の手順で決定し、投票空間に投票する（Ｓ１３）。なお、一般化ハフ変換では、輪郭線の方向ベクトルを考慮することも可能である。本実施例では、説明の簡単化のため輪郭線の方向ベクトルについては説明を省略する。
【００４５】
図１３は投票処理の概念図である。１７０は、入力画像情報１７の部分画像領域である。１７１は部分画像領域１７０の基準点である。基準点１７１は、雛型画像情報１８の部分画像領域１８０の基準点１８１に対して、横方向にｘ、縦方向にｙ、および回転角度θだけずれているものとする。
【００４６】
部分画像投票モジュールは、比較ベクトル１９０の回転方向を現在の回転角度のパラメータで特定する。部分画像投票モジュールは回転させた比較ベクトル１９０の対象の中心１９１を横軸方向および縦軸方向をパラメータで特定した入力画像情報１７の部分画像領域１７０の位置に重ね合わせる。部分画像投票モジュールは、比較ベクトル１９０の雛型輪郭点集合１９２に重なる部分画像領域１７０内の入力画像輪郭点集合１７３−１、１７３−２の横軸方向位置および縦軸方向位置に投票する。横方向ｘ、縦方向ｙ、および回転角度θのパラメータ値が位置ずれ量であった場合、入力画像輪郭点集合１７３−１、１７３−２上に対象の中心１９１を配置すると、雛型輪郭点集合１９２は必ず基準点１７１を通過する。部分画像投票モジュールは、特定のパラメータで極大値となる基準点が取得することが可能となる。
【００４７】
部分画像投票モジュールは、部分画像領域１７０内の全ての画素について投票処理を実行する。なお、部分画像投票モジュールは、比較ベクトル１９０の対象の中心１９１を部分画像領域１７０の黒画素上のみに設定することも可能である。部分画像領域１７０の黒画素上のみに投票処理を実行することにより、部分画像領域１７０の全ての画素について投票処理を行うよりも投票に要する演算量が減少する効果がある。
【００４８】
また、位置ずれパラメータを算出する対象が帳票の場合、入力画像情報１７と雛型画像情報１８との間の平行移動の値（ｘ，ｙ）、回転角度の値（θ）等は限られた範囲となる。そこで、本実施例での一般化ハフ変換は限定された回転角度の値θ毎に平行移動の値（ｘ，ｙ）の組を用いて投票を行い、最も投票数が多い回転角度の値θと平行移動の値（ｘ，ｙ）の組合せを位置ずれパラメータの結果として取得する。
【００４９】
部分画像投票モジュールは、予め設定した全てのパラメータの組合せについて投票処理を実行するまで（Ｓ１４：Ｎｏ）、Ｓ１２およびＳ１３の処理を繰り返す。部分画像投票モジュールは、予め設定した全てのパラメータの組合せについて投票処理を実行すると（Ｓ１４：Ｙｅｓ）、部分画像投票モジュールは、得られた投票空間の分布図から極大となるパラメータを検出する。極大となるパラメータは雛型画像情報１８の部分画像領域１８０と入力画像情報１７の部分画像領域との間のアフィン（Ａｆｆｉｎｅ）変換値と推測される。アフィン変換値が位置ずれパラメータとなる。
【００５０】
本実施例で使用した入力画像情報１７は、雛型画像情報１８を位置ずれパラメータによってアフィン変換を行ったものと等しい。アフィン変換は平行移動、回転などの線形変換である。したがって、入力画像情報１７に対して位置ずれパラメータにより逆変換を行うことで位置ずれを補正した補正画像を生成することが可能となる。
【００５１】
部分画像投票モジュールは位置ずれパラメータとして、横軸移動距離としてＴｘ、縦軸移動距離としてＴｙ、および回転角度としてθを取得する。また、部分画像投票モジュールは線形伸縮の倍率、線形伸縮の方向についての投票処理を実行した場合は、線形伸縮の倍率、線形伸縮の方向のパラメータも取得する。位置ずれパラメータはアフィン変換値であり、入力画像情報と雛型帳票画像とが線形写像の関係となる。その変換式は（数２）となる。
【００５２】
【数２】
0005082637.tif 000003
（数２）の（ｘ、ｙ）は変換前の座標である。本実施例では、雛型画像情報１８の画素の座標である。（ｘ’、ｙ’）は変換後の座標である。本実施例では、入力画像情報１７の画素の座標である。Ｔｘ、Ｔｙ、θはアフィン変換値である。
（数２）から入力画像情報１７から補正画像情報を求める式は（数３）となる。（ｘ’’、ｙ’’）は補正画像の画素の座標である。
【００５３】
【数３】
0005082637.tif 000004
次に、Ｓ０４のパラメータ絞込み処理について説明する。本実施例では、画像処理に要する計算量を減少させるため、多重解像度による多段階処理を行う。本実施例での一般化ハフ変換によって求める画像情報の位置ずれパラメータは横軸方向、縦軸方向からなる平行移動の位置ずれ、回転移動の位置ずれ、線形伸縮方向、線形伸縮倍率等のパラメータである。一般化ハフ変換は、目標精度のパラメータ毎に投票結果を格納するメモリ領域が必要となる。投票空間の大きさはパラメータの種類の数の乗数のオーダーで増大する。したがって、最初から目標とする精度で三次元パラメータを求める演算を行うと、画像処理に要する処理時間、三次元パラメータを格納するメモリ容量ともに膨大なものとなる。
【００５４】
そこで、パラメータ絞込モジュールは、位置ずれパラメータの粗い推定値をまず求め、粗い推定値の周辺のパラメータを精密に求める多段階処理を実行する。パラメータ絞込モジュールは部分画像領域の解像度を粗いものから細かいものに段階的に変化させる。多段階に解像度を変化させる結果、輪郭点数や位置ずれパラメータを表す投票空間の大きさを膨大にならないように抑えつつ、最適パラメータの候補を徐々に絞り込むことが可能となる。この結果、パラメータ絞込モジュールが実行する投票処理の計算量が減少し、かつ、精度の低下のない位置ずれパラメータを算出することが可能となる。例えば、推定値を求めるために設定する一般化ハフ変換の演算対象の変化量の大きさ（ステップ数）は、結果が画像処理装置１のメモリ領域内に収まりかつメモリ領域の全てを使用するように設定する。
【００５５】
例えば、パラメータ絞込モジュールは以下の方式で投票空間のパラメータの刻みを設定する。パラメータ絞込モジュールは、各パラメータが取り得る範囲とメモリ領域の大きさとから、個々のパラメータの取り得るメモリ領域を算出する。平行移動（横方向、縦方向）と回転角度の場合、３次元であり、パラメータ絞込モジュールは、メモリ領域を３つに分ける。次にパラメータ絞込モジュールは、個々のパラメータの取り得る範囲、パラメータを格納する個々のメモリ量、および対象のパラメータに充てられたメモリ量から最適なパラメータの刻みの大きさを取得する。
【００５６】
以下、角度パラメータを算出する例を記載する。部分画像投票モジュールが、仮に、一回の投票につきα（ｍｓ）の処理時間を必要し、評価角度数がβ個ある場合、アフィン変換値取得までに必要とされる処理時間はαβ（ｍｓ）となる。そこで、多重解像度によるパラメータ絞込モジュールはβ個の評価角度を段階にわけて絞り込む。
【００５７】
パラメータ絞込モジュールは、一段階目の投票処理として、評価角度をｎ個の範囲に区切り、各範囲の中心角度を使用して最も投票が行われる角度を求める。一段階目の投票処理は角度範囲を絞り込むことを目的とした処理である。投票位置の正確さは必要としないため、パラメータ絞込モジュールは、入力画像情報１７を縮小することで黒画素情報を減少させた画像を使用することで投票処理の対象となる黒画素数を減少させ、更なる処理時間の短縮をすることも可能である。
【００５８】
また、偶然にも目的としない角度が最も投票される事態を救済するため、絞込みの結果として選出する角度は（数４）の条件を満たす角度とする。（数４）において、Ｂは任意の角度での投票数を示し、Ｂｍは最大数が投票された角度の投票数を示し、ａは予め指定した閾値である。
【００５９】
【数４】
0005082637.tif 000005
パラメータ絞込モジュールは、二段目の投票処理として、選出した角度範囲に存在する角度に対し投票を行う。パラメータ絞込モジュールは、最も投票された投票空間を持つ角度をアフィン変換値として取得する。アフィン変換値は位置ずれパラメータである。なお、投票に使用した黒画素数が信頼に値するだけの割合を持っている場合、パラメータ絞込モジュールは最大投票位置をアフィン変換値として取得することが可能である。また二段目の投票処理も角度特定を目的とした処理の場合、パラメータ絞込モジュールは三段目の投票処理を行う。三段目の投票処理では、パラメータ絞込モジュールは特定した角度の投票空間のみに対して投票処理を行う。ここでは最大投票位置の特定が目的であるため、使用する黒画素数は十分でなくてはならない。各段階の角度の範囲の大きさは、事前に設定する。
【００６０】
また、部分画像投票モジュールは一般化ハフ変換による投票処理の対象となる画素の絞込みを行うことも可能である。部分画像投票モジュールは輪郭点の部分集合による投票処理の絞込みを行う。
【００６１】
幅方向の画素数がＷ個、高さ方向の画素数がＨ個の画像において、画像内の全画素に対する黒画素がＧ％である場合、画像内の黒画素数は（Ｇ・Ｗ・Ｈ／１００）個である。したがって、雛型画像情報１８と入力画像情報の全黒画素に対して、一般化ハフ変換の投票処理を一回行うときの処理量をＭとすると、全処理量はＭ・（（Ｇ・Ｗ・Ｈ／１００）の２乗）となる。
【００６２】
一般化ハフ変換では、極大値（ピーク）となる投票位置が出現するか否かが重要となる。したがって、ピークが出現すればすべての黒画素について投票処理を実行する必要はない。投票処理の回数が少なければ、処理時間が短縮される。しかし、例えば、雛型画像情報１８の黒画素数と入力画像情報の黒画素数とをＦ％に減らしてしまった場合、位置ずれパラメータの算出精度が悪くなる。具体的には、投票されるべき位置への投票率は、全黒画素で投票処理を実行した場合での投票率を１００％とすると（（Ｆの２乗）／１００）％に減少する。
【００６３】
そこで、本実施例では、入力画像情報１７の黒画素数のみを減少させる。例えば、管理者が入力画像情報１７の全黒画素数の内、補正画像の出力処理に使用する黒画素数の割合を予め指定する。入力画像情報１７の黒画素数が少ない場合でも、雛型画像情報１８によって投票する結果は、統計上精度の劣化が少ないためである。具体的には、入力画像情報１７はノイズ情報を有する場合があるが、雛型画像情報１８はノイズ情報がないためである。なお、雛型画像情報１８の黒画素数を減少させて一般化ハフ変換の処理を実行する方式も可能である。しかし、雛型画像情報１８の黒画素数を減少させた場合は、検出精度が落ちる。
【００６４】
減少させる黒画素の数は、一般化ハフ変換を実行するコンピュータの処理能力に応じて適宜変更させることで対応する。以上より、部分画像投票モジュールは、投票処理に使用する入力画像情報１７の黒画素の一部にのみ一般化ハフ変換の演算を実行することにより、処理時間を短縮することができる。
【００６５】
次に、Ｓ０６での部分画像投票モジュールが算出した部分画像領域のそれぞれの位置ずれパラメータから、部分画像貼合モジュールが入力画像情報の補正画像を出力する処理について説明する。
【００６６】
一般化ハフ変換で必要とする計算量は変換パラメータの数に応じて増大する。一般化ハフ変換によって得られる結果を実用的な処理時間で得るとすると、位置ずれがアフィン変換の場合が限度である。したがって、局所的な伸縮（非線形な伸縮）を含む位置ずれがある場合、位置ずれパラメータを推定することは困難である。そこで、一般化ハフ変換を適用して、アフィン変換が可能な範囲での各部分画像領域に対する位置ずれパラメータを求めた後、部分画像貼合モジュールは部分画像領域間を画像変換パラメータの双線形補間により補間する。部分画像貼合モジュールは、アフィン変換だけでない局所的な伸縮歪みも補正することが可能となる。
【００６７】
実際の入力画像情報１７には、非線形な伸縮が生じる。非線形な伸縮は、例えば、イメージスキャナ装置によって帳票の画像情報を取得するときにオートフィーダの回転数の不均一により生じること、帳票の紙の折れにより生じる。
【００６８】
部分画像投票モジュールは各部分画像領域の補正画像を算出する。各部分画像領域の位置ずれパラメータ値は異なる場合がある。したがって、各部分画像領域の補正画像をそのまま統合すると、領域の境界線上で非連続箇所が発生する。非連続個所を連続するように補正するパラメータを求めることができれば、局所的な伸縮歪みを補正した補正画像情報を出力することが可能となる。
【００６９】
図１４は各画素に対応する位置ずれパラメータの算出の説明図である。５２は、入力画像情報１７の各部分画像領域１７０で求められた位置ずれパラメータ値を対応付けた画素である。位置ずれパラメータ５２は、例えば、部分画像領域１７０の中心の画素に対応付ける。
【００７０】
部分画像貼合モジュールは、入力画像情報１７の部分画像領域１７０内の各画素に対応する位置ずれパラメータ値を算出する。入力画像情報１７の各画素に対応する補正パラメータ値は、例えば、各部分画像領域で求めた位置ずれパラメータ値を補間することで算出する。
【００７１】
５３は、入力画像情報１７の外側に部分画像領域があった場合に部分画像領域の中心となる位置である。５４は、制御部１０１が入力画像情報１７の各画素の位置ずれパラメータ値を補間するための矩形領域である。矩形領域５４の各頂点は画素５２あるいは画素５３である。入力画像情報１７の外縁の外側には、入力画像情報１７の各部分画像領域１７０の画素５２がない。したがって、制御部１０１は矩形領域５４を作成することができない。そこで、制御部１０１は入力画像情報１７の外側に仮想の画素５３を設定する。画素５３の位置は、入力画像情報１７内の画素５２で形成される矩形領域５４と同形状とするときの頂点である。制御部１０１は画素５３の位置ずれパラメータ値として外縁の部分画像領域１７０の画素５２の位置ずれパラメータ値を設定する。
【００７２】
入力画像情報１７がＭ個×Ｎ個の部分画像領域である場合、各画素の位置ずれパラメータ値を算出するための矩形領域５４は（Ｍ＋１）個×（Ｎ＋１）個となる。次に部分画像貼合モジュールは、各画素に対応する位置ずれパラメータ値を算出する。
【００７３】
図１５は、図１４の入力画像情報１７の一部の領域５５を示す図である。
【００７４】
５５は入力画像情報１７の一部の領域である。５２は、部分画像領域１７０毎に算出した位置ずれパラメータ値が対応づけられた画素である。画素５２は、例えば、各部分画像領域の中心の位置の画素である。位置ずれパラメータ値Ａは部分画像領域Ａの中心の位置の画素５２−１の位置ずれパラメータ値である。位置ずれパラメータ値Ｂは部分画像領域Ｂの中心の位置の画素５２−２の位置ずれパラメータ値である。位置ずれパラメータ値Ｃは部分画像領域Ｃの中心の位置の画素５２−３の位置ずれパラメータ値である。位置ずれパラメータ値Ｄは部分画像領域Ｄの中心の位置の画素５２−４の位置ずれパラメータ値である。
【００７５】
５６は、求める対象の画素である。画素５６の補正パラメータ値はＥであるとする。５７は、画素Ｅの横軸方向の位置を示す。横軸方向の位置５７は、画素Ｅから画素５２−１と画素５２−３とを結ぶ直線に平行な直線と画素５２−１と画素５２−２とを結ぶ直線とが交わる点Ｘである。点Ｘは、画素５２−１と画素５２−２との間の距離を「１」とする場合に、画素５２−１からの距離が「Ｘ」であり、画素５２−２からの距離が「１−Ｘ」である位置にある。縦軸方向の位置５８は、画素Ｅから画素５２−１と画素５２−２とを結ぶ直線に平行な直線と画素５２−１と画素５２−３とを結ぶ直線とが交わる点Ｙである。点Ｙは、画素５２−１と画素５２−３との間の距離を「１」とする場合に、画素５２−１からの距離が「Ｙ」であり、画素５２−３からの距離が「１−Ｙ」である位置にある。
【００７６】
入力画像情報１７での画素５６の補正パラメータは、例えば、（数５）の双線形補間によって算出する。
【００７７】
【数５】
0005082637.tif 000006
部分画像貼合モジュールは、入力画像情報１７の個々の画素を補正パラメ−タによって補正する。部分画像貼合モジュールは、補正した画像を補正画像として出力する。
【００７８】
ここで、部分画像貼合モジュールが実行する他の例を説明する。部分画像貼合モジュールは、信頼度の高い位置ずれパラメータのみを用いて双線形補間による各画素の補正パラメータを算出することも可能である。各部分画像領域について実行した投票処理の結果得られるアフィン変換値が常に有効であるとは限らない。そこで、部分画像貼合モジュールは、投票処理で算出したデータ値と予め設定した閾値とを比較して、有効あるいは無効の判定を行う。この結果、部分画像貼合モジュールは有効な位置ずれパラメータのみを使用して画素の補正処理を実行するため、一般化ハフ変換で求めた全ての位置ずれパラメータ値をそのまま使用するよりも補正が正しく行われる。
【００７９】
部分画像貼合モジュールは、各部分画像領域で算出したアフィン変換値が正しいか否かを（数６）の条件を満たすか否かで判別する。
【００８０】
【数６】
0005082637.tif 000007
ＥＢは入力画像情報１７の部分画像領域１７０の黒画素数である。ＭＣは投票空間内の最大投票数である。ＣＢは正常なアフィン変換値か否かを判別する閾値である。ＣＢは、例えば、アフィン変換値が正常となる値を統計によって求める。部分画像貼合モジュールは（数６）の条件を満たす投票結果を、有効な領域のアフィン変換値と判定する。
【００８１】
次に、無効なアフィン変換値であると判別された部分画像領域については、部分画像貼合モジュールは位置ずれパラメータを以下の処理で算出する。部分画像貼合モジュールは、有効なアフィン変換値を有する他の部分画像領域の位置ずれパラメータからの線形補間によって、無効なアフィン変換値の部分画像領域の位置ずれパラメータを算出する。
【００８２】
本実施例では、部分画像貼合モジュールは、例えば、入力画像情報１７の左上の部分画像領域から順番に判別処理を実行する。無効なアフィン変換値を有する部分画像領域１７０を検出した場合、部分画像貼合モジュールは無効なアフィン変換値を有する部分画像領域１７０の上下左右の部分画像領域１７０を検索する。上下左右の部分画像領域１７０が正常なアフィン変換値を有する部分画像領域の場合、部分画像貼合モジュールは無効なアフィン変換値を有する部分画像領域１７０の位置ずれパラメータを上下左右の正常な位置ずれパラメータによって線形補間する。部分画像貼合モジュールは、発見された上下左右の正常な部分画像領域の位置ずれパラメータが対応付けられたそれぞれの画素から無効なアフィン変換値を有する部分画像領域１７０の位置ずれパラメータを対応付ける画素までの距離、および上下左右の正常な部分画像領域のそれぞれの位置ずれパラメータ値によって線形補間を行う。
【００８３】
部分画像貼合モジュールは、以上の線形補間の処理を、入力画像情報１７の左上の部分画像領域１７０から検索する。そのため、入力画像情報における左から一列目（Ｍ×１）の領域、あるいは上から一行目（１×Ｎ）の領域がすべて無効なアフィン変換値を有する部分画像領域１７０であった場合、部分画像貼合モジュールは、線形補間を行う有効領域を発見できない。そこで、部分画像貼合モジュールは、２行目あるいは２列目の部分画像領域１７０によって１行目あるいは１列目の部分画像領域１７０を線形補間する処理を実行する。部分画像貼合モジュールは、入力画像情報１７の全ての部分画像領域１７０を線形補間の処理によって求めるため、各部分画像領域１７０の位置ずれパラメータは有効なアフィン変換値となる。
【００８４】
また、部分画像貼合モジュールは、位置ずれパラメータ値が有効か無効かを判定する処理を実行する。例えば、部分画像投票モジュールが実行する投票処理により、投票空間で極大値となるパラメータが特定される。部分画像投票モジュールは投票空間での極大値が最大となるパラメータを位置ずれパラメータ値に決定する。ここで、最大となるパラメータに対応する極大値が予め設定した値よりも大きいときに、部分画像貼合モジュールは、位置ずれパラメータ値が有効であると判定する。また、最大となるパラメータに対応する極大値が第二位の極大値よりも予め設定した値以上の差があるときに、部分画像貼合モジュールは、位置ずれパラメータ値が有効であると判定する。
【００８５】
部分画像貼合モジュールは、位置ずれパラメータ値の有効性の判定処理の後、無効な位置ずれパラメータ値となった部分画像領域の位置ずれパラメータ値を、他の有効な位置ずれパラメータ値により線形補間処理を行う。したがって、位置ずれパラメータ値の有効性の判定処理と位置ずれパラメータ値の線形補間処理とは一連の処理となる。
【００８６】
部分画像貼合モジュールが判定処理と線形補間処理とからなる一連の処理を実行すると、入力画像情報１７の全部分画像領域は有効領域となる。しかし、局所的に問題のある複数の部分画像領域が存在する場合、一度の処理では完全に無効な位置ずれパラメータ値を有する部分画像領域を有効な位置ずれパラメータ値を有する部分画像領域とすることができない場合がある。したがって、部分画像貼合モジュールは、判定処理と線形補間処理とからなる一連の処理を数回実行する。
【００８７】
部分画像貼合モジュールは、部分画像領域の中心に対応付けられる有効な位置ずれパラメータを取得する。なお、部分画像貼合モジュールは、有効な位置ずれパラメータ値のみを使用して無効領域の各画素に対応する補正パラメータを算出することは可能である。しかし、本実施例では、部分画像領域に対応する位置ずれパラメータを事前に補正する。この結果、補正パラメータを算出する処理が単純化される効果がある。
【００８８】
以上によって、入力画像情報１７の雛型画像からの平行移動、回転移動、線形伸縮、および非線形伸縮について補正した画像を出力することが可能となる。制御部１０１は、補正した画像内の文字列が格納された枠１７３−１から文字１７２の画像情報を検出し、コンピュータで扱うことが可能な文字コード情報に変換する。
【図面の簡単な説明】
【００８９】
【図１】画像処理装置１のハードウェア構成図である。
【図２】入力画像情報１７を受付けてから補正画像を出力するまでの処理のフローチャートである。
【図３】入力画像情報１７の例である。
【図４】雛型画像情報１８を二値化した画像である。
【図５】Ｓｏｂｅｌの水平方向のエッジフィルタの設定値２１−１である。
【図６】Ｓｏｂｅｌの垂直方向のエッジフィルタの設定値２１−２である。
【図７】入力画像情報１７を複数の部分画像領域に分割した図である。
【図８】バケット法の適用の説明図である。
【図９】雛型画像情報１８の部分画像領域である。
【図１０】比較ベクトル１９０の例である。
【図１１】投票処理のフローチャートである。
【図１２】投票空間の構成例である。
【図１３】投票処理の概念図である。
【図１４】各画素に対応する位置ずれパラメータの算出の説明図である。
【図１５】入力画像情報１７の一部の領域５５を示す図である。
【符号の説明】
【００９０】
１  画像処理装置
１０１  制御部
１０２  メモリ
１０３  入力部
１０４  記憶部
１０５  出力部
１０７  バス
１０８  画像処理プログラム
【図１】
0005082637.tif 000008
【図２】
0005082637.tif 000009
【図３】
0005082637.tif 000010
【図４】
0005082637.tif 000011
【図５】
0005082637.tif 000012
【図６】
0005082637.tif 000013
【図７】
0005082637.tif 000014
【図８】
0005082637.tif 000015
【図９】
0005082637.tif 000016
【図１０】
0005082637.tif 000017
【図１１】
0005082637.tif 000018
【図１２】
0005082637.tif 000019
【図１３】
0005082637.tif 000020
【図１４】
0005082637.tif 000021
【図１５】
0005082637.tif 000022