(57)【特許請求の範囲】
【請求項１】
画像取得手段により取得された補正前画像を格納する入力画像メモリと、
基準媒体上の所定の４点の位置が、前記入力画像メモリに格納された前記基準媒体の補正前画像のどの位置にそれぞれ対応するかを調べて透視変換パラメータを計算し、続いて前記透視変換パラメータを用いて前記基準媒体の補正後画像の画素の位置座標から前記補正前画像の画素の位置座標を計算し、前記補正後画像の画素と前記補正前画像の画素との対応関係を含む歪み補正データを作成する歪み補正データ作成部と、
前記歪み補正データ作成部で作成された前記歪み補正データを格納する歪み補正データメモリと、
補正後画像を格納するための出力画像メモリと、
前記歪み補正データメモリから読み出した前記歪み補正データを参照して、前記入力画像メモリに格納された被処理媒体の補正前画像の画素の値を、前記出力画像メモリの、前記歪み補正データで指定される画素の値の格納場所にコピーする歪み補正処理部と
を備え、
前記歪み補正データ作成部は、前記透視変換パラメータの計算を終えると、
前記基準媒体の補正後画像の画素を所定の順序で指定しながら、前記透視変換パラメータを用いて、前記指定した画素の位置座標（ｘ，ｙ）に対応する前記補正前画像の画素の位置座標（Ｘ，Ｙ）を計算するとともに、
前記補正前画像のＸ方向に連続する画素列が前記補正後画像のｘ方向に連続する画素列と対応している場合、前記補正前画像の画素列の開始座標（Ｘ’，Ｙ’）と該画素列の個数Ｎとで構成される前記歪み補正データを作成するものである
ことを特徴とする画像歪み補正処理装置。
【請求項２】
請求項１に記載の画像歪み補正処理装置において、
前記歪み補正データ作成部は、前記歪み補正データを作成した後、該歪み補正データを前記開始座標（Ｘ’，Ｙ’）の算出順に番号を付して前記歪み補正データメモリに記憶するものであること
を特徴とする画像歪み補正処理装置。
【請求項３】
請求項２に記載の画像歪み補正処理装置において、
前記歪み補正処理部は、前記番号順に前記開始座標（Ｘ’，Ｙ’）に対応する前記被処理媒体の補正後画像の画素を指定するとともに、前記歪み補正データメモリから前記番号順に前記歪み補正データを読み出し、該読み出した歪み補正データで指定される前記被処理媒体の補正前画像の画素列の値を、前記指定した画素を先頭とする前記補正後画像の画素列の値として前記被処理媒体の補正後画像にコピーするものであること
を特徴とする画像歪み補正処理装置。
【請求項４】
請求項１に記載の画像歪み補正処理装置において、
前記透視変換パラメータをＡ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、ＰおよびＱとするとき、前記基準媒体の補正前画像の位置座標（Ｘ，Ｙ）と前記基準媒体の補正後画像の位置座標（ｘ，ｙ）との間に下式（１）および（２）の関係があること
を特徴とする画像歪み補正処理装置。
Ｘ＝（Ａｘ＋Ｂｙ＋Ｃ）／（Ｐｘ＋Ｑｙ＋１）  ・・・（１）
Ｙ＝（Ｄｘ＋Ｅｙ＋Ｆ）／（Ｐｘ＋Ｑｙ＋１）  ・・・（２）
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、スキャナから取得した画像における歪みあるいは変形を補正する画像処理装置に関する。
【０００２】
【従来の技術】
非接触型のスタンドスキャナ（ダイレクトスキャナ）では、読み取り対象の帳票とスキャナヘッドとの間で位置ずれが生じやすい。この位置ずれは例えば、スキャナヘッド自体の位置ずれ、方向ずれおよび距離ずれによって、あるいは帳票を置く机やテーブルの面の傾きによる方向ずれに起因して、発生する。スキャナヘッドに対して帳票面が垂直でない場合は、読み取られた帳票の画像は垂直である場合と比べて歪んだり変形している。また、スキャナヘッドが上下に動くことで、読み取られた帳票の画像のサイズが異なってしまう。ＯＣＲ処理等のイメージ処理では、このようなスキャナによる画像の歪み（変形、拡大、縮小を含む。）を補正することが必要である。
【０００３】
一方、文献「Ｃ言語で学ぶ実践画像処理，ｐｐ１４３−１５９，オーム社発行」に記載されるように、画像を変形する処理として透視変換と呼ばれる手法がある。この手法によれば、ある画像を、３次元的にさまざまな方向に回転や移動が行えるスクリーン上に投影してできた画像を得ることができる。したがって、この透視変換を利用すれば前述の画像の歪みを補正でき、ＯＣＲ処理等のイメージ処理ではスキャナによる画像の歪みを意識する必要がなくなる。
【０００４】
したがって従来の画像歪み補正処理方法では、まず、出力画像（補正後の画像）のある座標（ｘ，ｙ）に対応する入力画像（補正前の画像）の座標（Ｘ，Ｙ）を、透視変換パラメータを用いて計算する。次に、入力画像の（Ｘ，Ｙ）の位置の画素の値を出力画像の（ｘ，ｙ）の位置の画素にコピーする。以上の処理を出力画像の全座標について行う。
【０００５】
【発明が解決しようとする課題】
しかしながら、座標（ｘ，ｙ）から座標（Ｘ，Ｙ）を求めるには実数計算を行う必要がある。一般にコンピュータでの実数計算は遅いため、整数計算で行うようになるが、その場合、計算誤差が発生する。それだけでなく、ＯＣＲ処理等のイメージ処理で扱うような大きな画像データでは上述の処理に費やされる時間は膨大なものとなり、実用的ではない。
【０００６】
また、スキャナによる歪みや変形はほとんどの場合小さいものであり、その補正のために膨大な処理時間を費やすことは実用的ではない。
【０００７】
【課題を解決するための手段】
そこで、この発明の画像歪み補正処理装置は、入力画像メモリ、歪み補正データ作成部、歪み補正データメモリ、出力画像メモリおよび歪み補正処理部により構成してある。
【０００８】
入力画像メモリは、画像取得手段により取得された補正前画像を格納するものである。
【０００９】
歪み補正データ作成部は、基準媒体上の所定の４点の位置が、入力画像メモリに格納された基準媒体の補正前画像のどの位置にそれぞれ対応するかを調べて透視変換パラメータを計算するものである。また、歪み補正データ作成部は、透視変換パラメータを用いて基準媒体の補正後画像の画素の位置座標から補正前画像の画素の位置座標を計算し、補正後画像の画素と補正前画像の画素との対応関係を含む歪み補正データを作成するものである。
【００１０】
歪み補正データメモリは、歪み補正データ作成部で作成された歪み補正データを格納するものである。
【００１１】
出力画像メモリは、補正後画像を格納するためのものである。
【００１２】
歪み補正処理部は、歪み補正データメモリから読み出した歪み補正データを参照して、入力画像メモリに格納された被処理媒体の補正前画像の画素の値を、出力画像メモリの、歪み補正データで指定される画素の値の格納場所にコピーするものである。
また、歪み補正データ作成部は、透視変換パラメータの計算を終えると、基準媒体の補正後画像の画素を所定の順序で指定しながら、透視変換パラメータを用いて、指定した画素の位置座標（ｘ，ｙ）に対応する補正前画像の画素の位置座標（Ｘ，Ｙ）を計算するとともに、補正前画像のＸ方向に連続する画素列が補正後画像のｘ方向に連続する画素列と対応している場合、補正前画像の画素列の開始座標（Ｘ’，Ｙ’）と画素列の個数Ｎとで構成される歪み補正データを作成する。
【００１３】
このように、あらかじめ基準媒体を用いて、補正前画像の画素と補正後画像の画素との対応関係すなわち歪み補正データが求められる。したがって、被処理媒体の画像の歪みを補正する際には、上述の歪み補正データを参照して、入力画像メモリ中の画素の値を出力画像メモリ中の所定の格納場所（歪み補正データで指定される格納場所）にコピーすれば良い。そのため、歪み補正作業時のデータ処理量を削減できる。
【００１４】
【発明の実施の形態】
以下、図を参照して、この発明の実施の形態につき説明する。なお、図は、この発明が理解できる程度に接続関係などを概略的に示すものに過ぎない。よって、この発明は図示例に何ら限定されることがない。
【００１５】
図１は、この実施の形態の画像歪み補正処理装置の構成を示すブロック図である。この画像歪み補正処理装置は、画像入力部１０、表示部１２、入力部１４、制御部１６、外部記憶装置１８、歪み補正データ作成部２０、歪み補正処理部２２、入力画像メモリ２４、出力画像メモリ２６および歪み補正データメモリ２８を備えている。
【００１６】
画像入力部（画像取得手段）１０は、帳票上に記入された文字や図形を画像データとして入力画像メモリ２４に格納するものである。画像入力部１０は、イメージスキャナやＦＡＸ等の装置である。
【００１７】
表示部１２は、オペレータに対して情報を表示する機能を有する。表示部１２はディスプレイ等の装置である。
【００１８】
入力部１４は、オペレータからの入力を受け付けるところであり、キーボードやマウスなどがこれに相当する。
【００１９】
制御部１６は、図１に示した装置全体を制御するものである。
【００２０】
外部記憶装置１８は、歪み補正データ作成部２０で作成され、その後、歪み補正データメモリ２８に格納された歪み補正データをファイルとして格納する装置である。外部記憶装置１８はハードディスク等の装置である。
【００２１】
歪み補正データ作成部２０は、入力画像メモリ２４に格納された画像から歪み補正に必要な透視変換パラメータを計算し、続いてこの透視変換パラメータを用いて補正後画像の画素の位置座標から補正前画像の画素の位置座標を計算するものである。歪み補正データ作成部２０は、位置座標の計算結果に基づき、補正後画像の画素と補正前画像の画素との対応関係を含む歪み補正データを作成する。この歪み補正データは、一旦、歪み補正データメモリ２８に格納され、然る後、外部記憶装置１８にファイルとして保存される。
【００２２】
歪み補正処理部２２は、歪み補正データメモリ２８から読み出した歪み補正データを参照して、入力画像メモリ２４に格納された被処理媒体の補正前画像の画素の値を、出力画像メモリ２６の、歪み補正データで指定される画素の値の格納場所にコピーするものである。
【００２３】
入力画像メモリ２４は、画像入力部１０が取得した画像データを格納するための記憶装置である。
【００２４】
出力画像メモリ２６は、入力画像メモリ２４に格納された画像データに対して、歪み補正処理部２２が歪み補正処理を施すことによって得られた画像データを格納するための記憶装置である。
【００２５】
歪み補正データメモリ２８は、歪み補正データ作成部２０で作成された歪み補正データを格納したり、外部記憶装置１８に格納されている歪み補正データを歪み補正処理部２２の読み込み指示に基づいて格納するために用いられる記憶装置である。
【００２６】
次に、この実施の形態の画像歪み補正処理装置の動作につき説明する。図２は、画像歪み補正処理装置の動作フローを示す図である。図２に示す通り、画像歪み補正処理装置の動作フローは、歪み補正データ作成フェーズＰ１と歪み補正処理フェーズＰ２とを含んでいる。図２のＳ１のステップにおける歪み補正データ作成フェーズＰ１では、歪み補正データを作成する。図２のＳ２のステップにおいて、次の画像を補正するか否かを判定する。Ｓ２の判定に応じて、画像を補正しないのであれば動作終了となる。Ｓ２の判定に応じて画像を補正する場合は、歪み補正処理フェーズＰ２（図２のＳ３）に進む。歪み補正処理フェーズＰ２では、歪み補正データ作成フェーズＰ１で作成した歪み補正データを利用して、画像の歪み補正処理を行う。然る後、Ｓ２のステップに戻る。
【００２７】
まず、歪み補正データ作成フェーズＰ１における画像歪み補正処理装置の動作につき、図３を参照して説明する。図３は、歪み補正データ作成フェーズＰ１における処理の流れを示すフローチャートである。
【００２８】
まず、画像入力処理では、オペレータによる入力部１４の指示に応じて制御部１６が画像入力部１０を制御し、図４に示すような帳票（基準媒体）３０の画像データを入力画像メモリ２４に格納する（図３のＳ４）。図４に示すように、帳票３０の紙面には、互いに離間した４か所に正方形形状の黒塗り領域であるマークＭ１、Ｍ２、Ｍ３およびＭ４が設けられている。
【００２９】
次のマーク検出処理では、歪み補正データ作成部２０が入力画像メモリ２４を参照して、マークＭ１〜Ｍ４の各々の中心座標を検出する（図３のＳ５）。
【００３０】
次の透視変換パラメータ作成処理では、歪み補正データ作成部２０が、先の処理で検出した４点の座標を用いて、透視変換パラメータを計算する（図３のＳ６）。そのため、歪み補正データ作成部２０は、帳票３０上の上述した４つのマークの実際の中心座標（理論値）と、入力画像メモリ２４に格納された画像の中心座標（図３のＳ５で検出された中心座標）との対応関係を調べる。帳票３０上の実際の位置座標を（ｘ，ｙ）で表し、入力画像メモリ２４中の画像上の位置座標を（Ｘ，Ｙ）で表すと、これら（ｘ，ｙ）および（Ｘ，Ｙ）の間に下式（１）および（２）の関係が成り立つ。
【００３１】
Ｘ＝（Ａｘ＋Ｂｙ＋Ｃ）／（Ｐｘ＋Ｑｙ＋１）  ・・・（１）
Ｙ＝（Ｄｘ＋Ｅｙ＋Ｆ）／（Ｐｘ＋Ｑｙ＋１）  ・・・（２）
ただし、記号Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、ＰおよびＱは透視変換パラメータである。上記（１）および（２）式において、（ｘ，ｙ）に帳票３０上の４つのマークの中心座標（理論値）を代入し、（Ｘ，Ｙ）に図３のＳ５で検出された中心座標を代入すると、透視変換パラメータを求めることができる。
【００３２】
透視変換パラメータを精度良く計算するためには、帳票３０上のマークＭ１〜Ｍ４をお互いにできるだけ離した状態で紙面の端に近い位置に設けることが望ましい。
【００３３】
入力画像メモリ２４中の画像の歪み補正を行うには、計算した透視変換パラメータを代入した上記（１）および（２）式により、入力画像メモリ２４中の画像上の座標（Ｘ，Ｙ）を座標（ｘ，ｙ）に変換すれば良い。以下、入力画像メモリ２４中の画像を補正前画像と称し、上記（１）および（２）式により求められる画像を補正後画像と称する。
【００３４】
次に、歪み補正データ作成部２０により歪み補正データ作成処理が行われる（図３のＳ７）。歪み補正データ作成部２０は、補正後画像の画素の座標（ｘ，ｙ）を所定の順序で指定しながら、上記（１）および（２）式に従い、補正前画像の画素の座標（Ｘ，Ｙ）を計算する。それとともに歪み補正データ作成部２０は、補正前画像のＸ方向に連続する画素列が補正後画像のｘ方向に連続する画素列と対応している場合、補正前画像の画素列の開始座標（Ｘ’，Ｙ’）とこの画素列の個数すなわち連続画素数Ｎとで構成される歪み補正データを作成する。そして歪み補正データ作成部２０は、この歪み補正データを開始座標（Ｘ’，Ｙ’）の算出順に番号を付して歪み補正データメモリ２８に記憶する。
【００３５】
補正前画像および補正後画像間の画素列の対応関係について説明する。図５は、補正前画像と補正後画像との対応関係を示す図である。図５（Ａ）には補正前画像の一部が示され、図５（Ｂ）には補正後画像の一部が示される。図５（Ａ）に示すＸ軸方向に配列する画素列３２ａは、図５（Ｂ）に示すｘ方向に配列する画素列３２ｂに対応している。同様に、図５（Ａ）に示すＸ軸方向に配列する画素列３４ａは、図５（Ｂ）に示すｘ軸方向に配列する画素列３４ｂに対応している。
【００３６】
例えば、画素列３２ａを構成する各画素の座標を（Ｘ’＋ｉ，Ｙ’）（ｉ＝０，１，・・・，Ｎ−１）で表し、画素列３２ｂを構成する各画素の座標を（ｘ’＋ｉ，ｙ’）で表す。画素列３２ａと画素列３２ｂとが対応している場合には、次式（３）および（４）が成り立つ。
【００３７】
Ｘ’＋ｉ＝ｆ（ｘ’＋ｉ，ｙ’）  ・・・（３）
Ｙ’＝ｇ（ｘ’＋ｉ，ｙ’）  ・・・（４）
ただしｆ（ｘ，ｙ）およびｇ（ｘ，ｙ）は次式（５）および（６）で定義される関数である。
【００３８】
ｆ（ｘ，ｙ）＝（Ａｘ＋Ｂｙ＋Ｃ）／（Ｐｘ＋Ｑｙ＋１）  ・・・（５）
ｇ（ｘ，ｙ）＝（Ｄｘ＋Ｅｙ＋Ｆ）／（Ｐｘ＋Ｑｙ＋１）  ・・・（６）
この例の場合、歪み補正データ作成部２０は、歪み補正データとして、補正前画像の画素列３２ａの開始座標（Ｘ’，Ｙ’）と、この画素列３２ａの連続画素数Ｎとを求めて、これらを歪み補正データメモリ２８に保存する。
【００３９】
図６には、歪み補正データメモリ２８の記憶内容が示されている。図６に示すように、歪み補正データメモリ２８には、複数の歪み補正データが所定の順に記憶されている。例えば、１番目の歪み補正データ３６ａは、開始座標（Ｘ’，Ｙ’）＝（Ｘ0 ，Ｙ0 ）と連続画素数Ｎ＝１とから構成されている。また、２番目の歪み補正データ３６ｂは、開始座標（Ｘ’，Ｙ’）＝（Ｘ1 ，Ｙ1 ）と連続画素数Ｎ＝１とから構成されている。歪み補正データの番号は開始座標（Ｘ’，Ｙ’）の算出順に設定される。
【００４０】
また、歪み補正データメモリ２８には、上述した歪み補正データとともに、補正後画像のサイズ（Ｗ，Ｈ）と歪み補正データ数ａとからなるサイズデータ３８が保存されている。Ｗはｘの最大値であり、Ｈはｙの最大値である。
【００４１】
歪み補正データの作成手順は以下の通りである。今、歪み補正データメモリ２８には１番目からｎ番目までのｎ個の歪み補正データが格納されているものとする。ｎ番目の歪み補正データは（Ｘ’，Ｙ’）＝（Ｘn ，Ｙn ）およびＮ＝１からなる歪み補正データである。開始座標（Ｘn ，Ｙn ）に対応する補正後画像の座標を（ｘn ，ｙn ）とする。
【００４２】
歪み補正データ作成部２０は、補正後画像の座標（ｘn ＋１，ｙn ）から補正前画像の座標（Ｘn+1 ，Ｙn+1 ）を算出する。続いて歪み補正データ作成部２０は、上記（１）および（２）式により、開始座標（Ｘn ，Ｙn ）に隣接する座標すなわち（Ｘn ＋１，Ｙn ）を計算する。次に歪み補正データ作成部２０は、算出した（Ｘn+1 ，Ｙn+1 ）が（Ｘn ＋１，Ｙn ）に等しいか否かを判定する。等しいと判定された場合、歪み補正データ作成部２０は、ｎ番目の歪み補正データの連続画素数Ｎに１を追加し、すなわちこの例ではＮ＝２とする。また、等しくないと判定された場合、歪み補正データ作成部２０は、開始座標（Ｘ’，Ｙ’）＝（Ｘn+1 ，Ｙn+1 ）および連続画素数Ｎ＝１からなる（ｎ＋１）番目の歪み補正データを新たに歪み補正データメモリ２８に追加する。
【００４３】
次に、図７を参照して、歪み補正データ作成処理（図３のＳ７）の詳細について説明する。図７は、歪み補正データ作成処理の流れを示すフローチャートである。
【００４４】
あらかじめ歪み補正データメモリ２８に、補正後画像のサイズ（Ｗ，Ｈ）を格納しておく。
【００４５】
まず、歪み補正データ作成部２０は、ｙに０を設定する（図７のＳ９）。続いて歪み補正データ作成部２０は、現時点のｙの値がＨよりも小さいか否かを判定する（図７のＳ１０）。ｙの値がＨ以上である場合、歪み補正データ作成処理は終了する。ｙの値がＨよりも小さい場合、図７のＳ１１に進む。
【００４６】
図７のＳ１１において歪み補正データ作成部２０はｘに０を設定する。続いて歪み補正データ作成部２０は、現時点のｘの値がＷよりも小さいか否かを判定する（図７のＳ１２）。ｘの値がＷ以上である場合は図７のＳ１９に進む。ｘの値がＷよりも小さい場合は図７のＳ１３に進む。以上の処理により、補正後画像の画素の座標（ｘ，ｙ）が指定される。
【００４７】
図７のＳ１３において、歪み補正データ作成部２０は、指定した補正後画像の座標（ｘ，ｙ）に対応する補正前画像の座標（Ｘ，Ｙ）を計算する。具体的には、上記（１）および（２）式にｘおよびｙの値を代入して、ＸおよびＹの値を計算する。
【００４８】
今、歪み補正データメモリ２８には１番目からｎ番目までのｎ個の歪み補正データが格納されているものとする。図７のＳ１３のステップで座標（Ｘ，Ｙ）の計算を終えると、次に歪み補正データ作成部２０は、ｎ番目の歪み補正データから次の座標を計算する（図７のＳ１４）。すなわち、ｎ番目の歪み補正データの開始座標（Ｘn ，Ｙn ）から次の座標（Ｘn ＋１，Ｙn ）を計算する。
【００４９】
続いて歪み補正データ作成部２０は、図７のＳ１３で算出した座標（Ｘ，Ｙ）が（Ｘn ＋１，Ｙn ）に等しいか否かを判定する（図７のＳ１５）。
【００５０】
図７のＳ１５において「等しい」と判定された場合、歪み補正データ作成部２０は、ｎ番目の歪み補正データの連続画素数Ｎに１を追加して（図７のＳ１６）、次のステップ（図７のＳ１８）に進む。
【００５１】
一方、図７のＳ１５において「等しくない」と判定された場合、歪み補正データ作成部２０は、開始座標が図７のＳ１３で算出された座標（Ｘ，Ｙ）、および連続画素数Ｎ＝１である（ｎ＋１）番目の歪み補正データを新たに歪み補正データメモリ２８に追加して（図７のＳ１７）、次のステップ（図７のＳ１８）に進む。
【００５２】
次に、歪み補正データ作成部２０は、ｘに１を加えて（図７のＳ１８）、図７のＳ１２に戻る。
【００５３】
なお、図７のＳ１２において、ｘの値がＷ以上であると判定された場合には、次に図７のＳ１９に進む。図７のＳ１９において、歪み補正データ作成部２０は、ｘに０を設定し、およびｙに１を加えてから、図７のＳ１０に戻る。
【００５４】
以上説明したようにして歪み補正データ作成処理が終了すると、次に歪み補正データ保存処理が行われる（図３のＳ８）。この処理では、歪み補正データメモリ２８に格納されている歪み補正データ群が、外部記憶装置１８にファイルとして格納される。
【００５５】
次に、図２のＳ３に示した歪み補正処理フェーズＰ２の動作について説明する。この歪み補正処理フェーズＰ２は歪み補正処理を行う画像がある限り繰り返される。なお、歪み補正データ作成フェーズＰ１により作成される歪み補正データは外部記憶装置１８にファイルとして保存されるため、このファイルがある場合は歪み補正データ作成フェーズＰ１を省略し、歪み補正処理フェーズＰ２のみを繰り返し行うようにしても良い。歪み補正処理フェーズＰ２における処理の流れを図８に示す。
【００５６】
まず、画像入力処理では、オペレータによる入力部１４の指示に応じて制御部１６が画像入力部１０を制御し、被処理媒体としての帳票の画像データを入力画像メモリ２４に格納する（図８のＳ２０）。
【００５７】
次の歪み補正データ読込み処理において、歪み補正処理部２２は外部記憶装置１８にファイルとして保存されている所定の歪み補正データを歪み補正データメモリ２８に読み込む（図８のＳ２１）。歪み補正データメモリ２８に読み込まれた歪み補正データに基づき、出力画像メモリ２６に幅Ｗおよび高さＨのサイズの補正後画像の領域が設定される。
【００５８】
次に歪み補正画像作成処理が行われる（図８のＳ２２）。この歪み補正画像作成処理では、歪み補正処理部２２が、出力画像メモリ２６に設定された補正後画像の画素について、歪み補正データの番号順に、開始座標（Ｘ’，Ｙ’）に対応する補正後画像の画素を指定する。それとともに歪み補正処理部２２は、歪み補正データメモリ２８から番号順に歪み補正データを読み出し、読み出した歪み補正データで指定される補正前画像の画素列の値を、指定した画素を先頭とする補正後画像の画素列の値としてこの補正後画像にコピーする。
【００５９】
以下、この歪み補正画像作成処理について図９を参照して説明する。図９は、歪み補正画像作成処理の流れを示すフローチャートである。
【００６０】
まず、歪み補正処理部２２は、補正後画像の書込み開始位置を指定する（図９のＳ２３）。すなわち、出力画像メモリ２６内の、補正後画像を構成する所定の画素の値の格納場所を指定する。書込み開始位置（ｘ，ｙ）の初期値は（０，０）である。
【００６１】
次に、歪み補正処理部２２は、次の歪み補正データの有無を判定する（図９のＳ２４）。歪み補正処理部２２には、歪み補正データメモリ２８から番号順に歪み補正データが読み出される。すでに全歪み補正データが読み出された場合、この歪み補正画像作成処理は終了する。現時点でｎ番目の歪み補正データまでが読み出されている場合、次の図９のＳ２５において、（ｎ＋１）番目の歪み補正データが歪み補正データメモリ２８から読み出される。
【００６２】
図９のＳ２５において、歪み補正処理部２２は、読み出した歪み補正データから開始座標（Ｘ’，Ｙ’）および連続画素数Ｎを取得する。この開始座標（Ｘ’，Ｙ’）は、図９のＳ２３で指定した補正後画像の書込み開始位置（ｘ，ｙ）に対応している。
【００６３】
次に歪み補正処理部２２は、入力画像（補正前画像）から出力画像（補正後画像）への画素の書き込みを行う（図９のＳ２６）。すなわち歪み補正処理部２２は、入力画像メモリ２４に格納されている画像の、開始座標（Ｘ’，Ｙ’）から連続画素数Ｎだけ連続する画素列の値を読み出す。続いて歪み補正処理部２２は、読み出した画素列の値を、出力画像メモリ２６の、図９のＳ２３で指定された書込み開始位置（ｘ，ｙ）（開始座標（Ｘ’，Ｙ’）に対応する補正後画像の位置座標）から連続画素数Ｎだけ連続する画素列の値の格納場所にそれぞれコピーする。
【００６４】
次に歪み補正処理部２２は、出力画像（補正後画像）の次の書込み開始位置を設定する（図９のＳ２７）。すなわち歪み補正処理部２２は、図９のＳ２３で指定された書込み開始位置（ｘ，ｙ）のｘ座標に、図９のＳ２５で取得した連続画素数Ｎを加えた座標（ｘ＋Ｎ，ｙ）を次の書込み開始位置に設定する。
【００６５】
次に歪み補正処理部２２は、図９のＳ２７で設定した書込み開始位置が、出力画像（補正後画像）の幅Ｗを超えたか否かを判定する（図９のＳ２８）。すなわち歪み補正処理部２２は、ｘ＋Ｎ≧Ｗであるか否かを判定する。
【００６６】
図９のＳ２８においてｘ＋Ｎ＜Ｗであると判定された場合、図９のＳ２４のステップに戻る。
【００６７】
一方、図９のＳ２８においてｘ＋Ｎ≧Ｗであると判定された場合、歪み補正処理部２２は、出力画像（補正後画像）の次の行に書込み開始位置を設定する。すなわち歪み補正処理部２２は、図９のＳ２７で設定した書込み開始位置（ｘ＋Ｎ，ｙ）の代わりに、（０，ｙ＋１）を書込み開始位置として設定し直す。続いて図９のＳ２４のステップに戻る。
【００６８】
以上説明したように、この実施の形態の画像歪み補正処理装置によれば、歪み補正データ作成フェーズＰ１では歪み補正データを作成し、歪み補正処理フェーズＰ２ではこの歪み補正データを利用して、入力画像から出力画像へ画素の値のコピーを行う。このように歪み補正処理フェーズＰ２では、画素値のコピーといった単純な方法で、歪みや変形が補正された画像データを得ることができる。
【００６９】
したがって、従来のように１画素ずつ、座標計算を行って補正後画像と補正前画像との対応関係を求めて画素の値をコピーするといったことを行わないため、従来のものと比較して大幅に処理時間を削減することができる。
【００７０】
また、歪み補正データ作成フェーズＰ１で作成される歪み補正データは、歪みの度合いが変わらない限り、一度歪み補正データを作成しておけば、その歪み補正データを用いて複数の画像の歪み補正処理を行うことができる。
【００７１】
さらに、歪み補正された画像を用いることによって、ＯＣＲ処理等のイメージ処理を、画像の歪みや変形、拡大縮小などを意識することなく行うことができるようになるため、イメージ処理時間の短縮化が実現される。
【００７２】
なお、歪み補正データ作成部２０により、補正後画像の画素の位置座標から補正前画像の画素の位置座標を計算する際に、補正後画像の複数の画素が補正前画像の１つの画素に対応する場合がある。この画素の部分は補正後に拡大される部分となる。また、補正前画像の画素で、補正後画像の画素に対応しないものもある。この画素の部分は補正後に縮小される部分となる。このように補正後画像と補正前画像との間で対応関係が成立しない画素の部分は、捨てても良い。スキャナで発生する取得画像の歪みは、ほとんどの場合、比較的小さいからである。
【００７３】
また、このようにスキャナによる歪みは小さいため、補正後の画像でｘ方向に連続している画素は、歪みのある補正前の画像においてもＸ方向に連続している可能性が高い。よって、この実施の形態の画像歪み補正処理装置は、このような用途に適している。また、同じようにＹ方向についても連続している場合も考えられるが、画像メモリの構成上、Ｘ方向に連続したデータについてのみ考えれば高速化は十分である。
【００７４】
【発明の効果】
この発明の画像歪み補正処理装置によれば、あらかじめ基準媒体を用いて、補正前画像の画素と補正後画像の画素との対応関係すなわち歪み補正データを求めておき、被処理媒体の画像の歪みを補正する際には、この歪み補正データを参照して、入力画像メモリ中の画素の値を出力画像メモリ中の所定の格納場所にコピーする。そのため、歪み補正作業時のデータ処理量を削減できる。
【図面の簡単な説明】
【図１】実施の形態の画像歪み補正処理装置の構成を示す図である。
【図２】画像歪み補正処理装置の動作フローを示す図である。
【図３】歪み補正データ作成フェーズにおける処理の流れを示す図である。
【図４】帳票（基準媒体）の一例を示す図である。
【図５】補正前画像と補正後画像との対応関係を示す図である。
【図６】歪み補正データメモリの記憶内容を示す図である。
【図７】歪み補正データ作成処理の流れを示す図である。
【図８】歪み補正処理フェーズにおける処理の流れを示す図である。
【図９】歪み補正画像作成処理の流れを示す図である。
【符号の説明】
１０：画像入力部
１２：表示部
１４：入力部
１６：制御部
１８：外部記憶装置
２０：歪み補正データ作成部
２２：歪み補正処理部
２４：入力画像メモリ
２６：出力画像メモリ
２８：歪み補正データメモリ
３０：帳票
３２ａ，３２ｂ，３４ａ，３４ｂ：画素列
３６ａ，３６ｂ：歪み補正データ
３８：サイズデータ
【図１】
0004374778.tif 000002
【図２】
0004374778.tif 000003
【図３】
0004374778.tif 000004
【図４】
0004374778.tif 000005
【図５】
0004374778.tif 000006
【図６】
0004374778.tif 000007
【図７】
0004374778.tif 000008
【図８】
0004374778.tif 000009
【図９】
0004374778.tif 000010