(58)【調査した分野】(Int.Cl.,DB名)
前記対応付け手段は、前記検出手段によって検出された基準点の数が予め定められた値よりも多い又は以上である場合は、前記第1の抽出手段によって抽出された基準点に対応する前記第2の画像における基準点を対応付けず、それ以外の場合は、前記検出手段によって検出された候補となっている基準点のうちから、前記第1の抽出手段によって抽出された基準点に対応する前記第2の画像における基準点を対応付ける
ことを特徴とする請求項1又は2に記載の画像処理装置。
前記対応付け手段は、前記補正係数に基づいた前記第1の画像と前記第2の画像との位置合わせを行い、前回対応付けなかった前記第1の抽出手段によって抽出された基準点に対応する前記第2の画像における基準点を対応付け、
前記補正係数決定手段は、2回目の補正係数を決定する
ことを特徴とする請求項1に記載の画像処理装置。
前記補正係数決定手段は、前記第2の抽出手段によって抽出された基準点に対応する前記第1の画像における基準点が複数ある場合は、(1)該対応付けを用いないで、補正係数を決定すること、(2)前記第1の画像における複数の基準点のうち、1つの基準点を前記第2の画像における基準点に対応する基準点として選択し、補正係数を決定すること、のいずれか一方の処理を行う
ことを特徴とする請求項2に記載の画像処理装置。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、第1の画像と第2の画像との位置合わせのための補正係数を決定する場合にあって、本構成を有していない場合に比較して、精度のよい補正係数を決定するようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、第1の画像における複数の基準点を抽出する第1の抽出手段と、第2の画像における複数の基準点を抽出する第2の抽出手段と、前記第1の抽出手段によって抽出された基準点に対応する候補となる、前記第2の抽出手段によって抽出された基準点を検出する検出手段と、前記検出された基準点の数に基づいて、前記第1の抽出手段によって抽出された基準点に対応する前記第2の画像における基準点があるか否かを判断し、基準点があると判断した場合は、前記検出手段によって検出された候補となっている基準点のうちから、前記第1の抽出手段によって抽出された基準点に対応する前記第2の画像における基準点を対応付ける対応付け手段と、前記対応付けられた前記第1の画像における基準点と前記第2の画像における基準点に基づいて、前記第1の画像と前記第2の画像との位置合わせのための補正係数を決定する補正係数決定手段を具備し、前記補正係数決定手段は、前記第2の抽出手段によって抽出された基準点に対応する前記第1の画像における基準点が複数ある場合は、前記第1の画像における複数の基準点のうち、1つの基準点を前記第2の画像における基準点に対応する基準点として選択し、補正係数を決定し、前記基準点の選択は、前記基準点の周囲の対応付けを参照し、前記第2の画像における基準点の位置関係と同じ位置関係を有している対応付けとなるように、基準点を選択することを特徴とする画像処理装置である。
請求項2の発明は、第1の画像における複数の基準点を抽出する第1の抽出手段と、第2の画像における複数の基準点を抽出する第2の抽出手段と、前記第1の抽出手段によって抽出された基準点に対応する候補となる、前記第2の抽出手段によって抽出された基準点を検出する検出手段と、前記検出された基準点の数に基づいて、前記第1の抽出手段によって抽出された基準点に対応する前記第2の画像における基準点があるか否かを判断し、基準点があると判断した場合は、前記検出手段によって検出された候補となっている基準点のうちから、前記第1の抽出手段によって抽出された基準点に対応する前記第2の画像における基準点を対応付ける対応付け手段と、前記対応付けられた前記第1の画像における基準点と前記第2の画像における基準点に基づいて、前記第1の画像と前記第2の画像との位置合わせのための補正係数を決定する補正係数決定手段を具備し、前記対応付け手段は、前記補正係数に基づいた前記第1の画像と前記第2の画像との位置合わせを行い、前回対応付けなかった前記第1の抽出手段によって抽出された基準点に対応する前記第2の画像における基準点を対応付け、前記補正係数決定手段は、前記
対応付け手段による1回目に対応付けられた前記第1の画像における基準点と前記第2の画像における基準点の組と、前記
対応付け手段による2回目に対応付けられた前記第1の画像における基準点と前記第2の画像における基準点の組とを用いて、2回目の補正係数を決定することを特徴とする画像処理装置である。
【0007】
請求項
3の発明は、前記対応付け手段は、前記検出手段によって検出された基準点の数が予め定められた値よりも多い又は以上である場合は、前記第1の抽出手段によって抽出された基準点に対応する前記第2の画像における基準点を対応付けず、それ以外の場合は、前記検出手段によって検出された候補となっている基準点のうちから、前記第1の抽出手段によって抽出された基準点に対応する前記第2の画像における基準点を対応付けることを特徴とする請求項1
又は2に記載の画像処理装置である。
【0008】
請求項
4の発明は、前記対応付け手段は、前記補正係数に基づいた前記第1の画像と前記第2の画像との位置合わせを行い、前回対応付けなかった前記第1の抽出手段によって抽出された基準点に対応する前記第2の画像における基準点を対応付け、前記補正係数決定手段は、2回目の補正係数を決定することを特徴とする請求項
1に記載の画像処理装置である。
【0009】
請求項
5の発明は、前記補正係数決定手段は、前記第2の抽出手段によって抽出された基準点に対応する前記第1の画像における基準点が複数ある場合は、(1)該対応付けを用いないで、補正係数を決定すること、(2)前記第1の画像における複数の基準点のうち、1つの基準点を前記第2の画像における基準点に対応する基準点として選択し、補正係数を決定すること、のいずれか一方の処理を行うことを特徴とする請求項
2に記載の画像処理装置である。
【0010】
請求項6の発明は、コンピュータを、第1の画像における複数の基準点を抽出する第1の抽出手段と、第2の画像における複数の基準点を抽出する第2の抽出手段と、前記第1の抽出手段によって抽出された基準点に対応する候補となる、前記第2の抽出手段によって抽出された基準点を検出する検出手段と、前記検出された基準点の数に基づいて、前記第1の抽出手段によって抽出された基準点に対応する前記第2の画像における基準点があるか否かを判断し、基準点があると判断した場合は、前記検出手段によって検出された候補となっている基準点のうちから、前記第1の抽出手段によって抽出された基準点に対応する前記第2の画像における基準点を対応付ける対応付け手段と、前記対応付けられた前記第1の画像における基準点と前記第2の画像における基準点に基づいて、前記第1の画像と前記第2の画像との位置合わせのための補正係数を決定する補正係数決定手段として機能させ、前記補正係数決定手段は、前記第2の抽出手段によって抽出された基準点に対応する前記第1の画像における基準点が複数ある場合は、前記第1の画像における複数の基準点のうち、1つの基準点を前記第2の画像における基準点に対応する基準点として選択し、補正係数を決定し、前記基準点の選択は、前記基準点の周囲の対応付けを参照し、前記第2の画像における基準点の位置関係と同じ位置関係を有している対応付けとなるように、基準点を選択することを特徴とする画像処理プログラムである。
請求項7の発明は、コンピュータを、第1の画像における複数の基準点を抽出する第1の抽出手段と、第2の画像における複数の基準点を抽出する第2の抽出手段と、前記第1の抽出手段によって抽出された基準点に対応する候補となる、前記第2の抽出手段によって抽出された基準点を検出する検出手段と、前記検出された基準点の数に基づいて、前記第1の抽出手段によって抽出された基準点に対応する前記第2の画像における基準点があるか否かを判断し、基準点があると判断した場合は、前記検出手段によって検出された候補となっている基準点のうちから、前記第1の抽出手段によって抽出された基準点に対応する前記第2の画像における基準点を対応付ける対応付け手段と、前記対応付けられた前記第1の画像における基準点と前記第2の画像における基準点に基づいて、前記第1の画像と前記第2の画像との位置合わせのための補正係数を決定する補正係数決定手段として機能させ、前記対応付け手段は、前記補正係数に基づいた前記第1の画像と前記第2の画像との位置合わせを行い、前回対応付けなかった前記第1の抽出手段によって抽出された基準点に対応する前記第2の画像における基準点を対応付け、前記補正係数決定手段は、前記
対応付け手段による1回目に対応付けられた前記第1の画像における基準点と前記第2の画像における基準点の組と、前記
対応付け手段による2回目に対応付けられた前記第1の画像における基準点と前記第2の画像における基準点の組とを用いて、2回目の補正係数を決定することを特徴とする画像処理プログラムである。
【発明の効果】
【0011】
請求項1の画像処理装置によれば、第1の画像と第2の画像との位置合わせのための補正係数を決定する場合にあって、本構成を有していない場合に比較して、精度のよい補正係数を決定することができる。
請求項2の画像処理装置によれば、第1の画像と第2の画像との位置合わせのための補正係数を決定する場合にあって、本構成を有していない場合に比較して、精度のよい補正係数を決定することができる。
【0012】
請求項
3の画像処理装置によれば、第1の画像の基準点に対応する候補となる、第2の画像の基準点が、予め定められた値よりも多い又は以上である場合は、対応する基準点は無しとすることができる。
【0013】
請求項
4の画像処理装置によれば、対応する基準点が無いと判断された場合にあって、位置合わせを行った後に対応付けを行うことができる。
【0014】
請求項
5の画像処理装置によれば、第2の画像の基準点に対応する第1の画像の基準点が複数ある場合であっても、第1の画像と第2の画像との位置合わせのための補正係数を決定することができる。
【0015】
請求項
6の画像処理プログラムによれば、第1の画像と第2の画像との位置合わせのための補正係数を決定する場合にあって、本構成を有していない場合に比較して、精度のよい補正係数を決定することができる。
請求項7の画像処理プログラムによれば、第1の画像と第2の画像との位置合わせのための補正係数を決定する場合にあって、本構成を有していない場合に比較して、精度のよい補正係数を決定することができる。
【発明を実施するための形態】
【0017】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という意味を有する記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
【0018】
本実施の形態である画像処理装置100は、第1の画像と第2の画像との位置合わせのための補正係数を決定するものであって、
図1の例に示すように、基準抽出モジュール110A、基準抽出モジュール110B、基準候補抽出モジュール120、基準対応付けモジュール130、補正係数算出モジュール140を有している。
第1の画像と第2の画像との位置合わせとは、第1の画像又は第2の画像のいずれか一方の画像Aに対してアフィン変換に代表される幾何学変換を行い、他方の画像Bとの一致する重なりが最大(異なる部分が最小)となるようにするものである。そして、その後の処理として例えば、そのアフィン変換後の画像Aと画像Bとの比較を行い、画像Aと画像Bとの差分を抽出すること等に用いるものである。例えば、画像Bが原本であり、画像Aが原本に追記、削除、改変等の変更を行った画像である場合に、その変更部分を抽出することが行える。
アフィン変換とは、数式(1)に示す式である。(x,y)は画像の座標であり、(x’,y’)はアフィン変換後の画像の座標である。すなわち、画像内の(x,y)の画素を他方の画像の(x’,y’)の位置へ移動することによって、アフィン変換を行う。
【数1】
この式の中で、a、b、c、d、t
x、t
yを、位置合わせのための補正係数という。a、b、c、dは拡大縮小、回転を示す補正係数であり、t
x、t
yは移動を示す補正係数である。
【0019】
基準抽出モジュール110Aは、基準候補抽出モジュール120と接続されている。基準抽出モジュール110Aは、参照画像105Aにおける複数の基準点を抽出する。
基準抽出モジュール110Bは、基準候補抽出モジュール120と接続されている。基準抽出モジュール110Bは、処理画像105Bにおける複数の基準点を抽出する。
なお、基準抽出モジュール110A、基準抽出モジュール110Bは、参照画像105A、処理画像105Bに対してそれぞれ処理を行う2つのモジュールとして用意してもよいし、実体として1つの基準抽出モジュール110で2つの画像を処理するモジュールである場合も含まれている。その場合は、参照画像105A、処理画像105Bを時系列に処理するが、いずれを先に処理してもよい。
参照画像105A、処理画像105Bは、互いに独立した画像(何ら関係のない画像)であってよいが、一般的には、いずれか一方が原本の画像であり、他方がその原本に対して変更を行った画像である。なお、ここでの原本とは、他方との相対的な意味での原本であり、変更が行われる前の画像の意である。画像は、2値画像、グレー画像、カラー画像のいずれであってもよい。また、スキャナ等によって読み取られた画像、文書作成装置等で作成された文書を画像に変換したもの等であってもよい。
【0020】
基準点とは、位置合わせのために用いられる点である。基準点として、例えば、次に示すものがある。
(1)ラベリング処理を施して、そのラベリング処理によって抽出された各ラベルの重心。
(2)特徴点。具体的には、例えば、表を形成する特徴である、十字点、T字点、L字点(これらの90度単位で回転したものを含む)等の特徴点(パターン)を基準点として抽出する。
なお、参照画像105A、処理画像105Bから抽出する基準点は、それぞれ複数ある。そもそも1個のみでは、基準対応付けモジュール130による対応付け処理が不要である。
【0021】
基準候補抽出モジュール120は、基準抽出モジュール110A、基準抽出モジュール110B、基準対応付けモジュール130と接続されている。基準候補抽出モジュール120は、基準抽出モジュール110Aによって抽出された基準点に対応する候補となる、基準抽出モジュール110Bによって抽出された基準点を検出する。なお、基準抽出モジュール110Aによって抽出された基準点を「参照画像105Aの基準点」ともいい、基準抽出モジュール110Bによって抽出された基準点を「処理画像105Bの基準点」ともいう。
基準候補抽出モジュール120は、処理画像105Bの該当する基準点を、参照画像105Aに射影し、参照画像105Aの基準点から予め定められた距離内にある基準点を候補として抽出する。抽出する候補の数は、複数の場合がある。もちろんのことながら、参照画像105Aの該当する基準点を、処理画像105Bに射影してもよい。また、射影としては、例えば、予め定められた方向、距離での移動(移動距離が0である場合、すなわち参照画像105Aと処理画像105Bをそのまま重ね合わせることも含む)後に重ね合わせることがある。
位置合わせのための基準点としての候補を抽出するには、例えば、次に示す方法がある。
(1)パタンマッチング
(2)特徴量比較
特徴量としては、例えば、基準点の座標位置、ラベルの大きさ、基準点の黒画素数、基準点の細線化後の黒画素数、隣の基準点までの距離、二つ隣の基準点までの距離、点のタイプ(前述の十字点、T字点、L字点を区別するための種類等)等がある。特徴空間における2つの特徴量の距離(参照画像105Aの基準点の特徴量と処理画像105Bの基準点の特徴量との間の距離)が予め定められた距離以下である場合に、処理画像105Bのその基準点を候補として抽出する。
【0022】
基準対応付けモジュール130は、基準候補抽出モジュール120、補正係数算出モジュール140と接続されている。基準対応付けモジュール130は、基準候補抽出モジュール120によって検出された基準点の数に基づいて、基準抽出モジュール110Aによって抽出された基準点に対応する処理画像105Bにおける基準点があるか否かを判断し、基準点があると判断した場合は、基準候補抽出モジュール120によって検出された候補となっている基準点のうちから、基準抽出モジュール110Aによって抽出された基準点に対応する処理画像105Bにおける基準点を選択することによって対応付けを行う。
【0023】
具体的には、基準対応付けモジュール130は、基準候補抽出モジュール120によって検出された基準点の数が予め定められた値よりも多い又は以上である場合は、基準抽出モジュール110Aによって抽出された基準点に対応する処理画像105Bにおける基準点を対応付けず(結果的に対応する基準点は無しとする)、それ以外の場合は、基準候補抽出モジュール120によって検出された候補となっている基準点のうちから、基準抽出モジュール110Aによって抽出された基準点に対応する処理画像105Bにおける基準点を選択することによって対応付けを行う。
参照画像105Aの1つの基準点に対して、対応の候補となる処理画像105Bの基準点が複数ある場合、その候補の数が予め定められた値以上であるならば、参照画像105Aのその基準点には、対応する基準点が無いとする。処理画像105Bの複数の基準点のいずれを対応していると判断するかが困難であり、補正係数算出モジュール140による補正係数の算出には適さないからである。
そして、候補の数が予め定められた値未満であるならば、次に示す方法で候補から対応する基準点を抽出する。
(1)2つの基準点の座標の距離が最も近い。
(2)2つの基準点の特徴から求めた類似度(特徴空間における2つの基準点間の距離の逆数)が最も高い。
【0024】
補正係数算出モジュール140は、基準対応付けモジュール130と接続されている。補正係数算出モジュール140は、基準対応付けモジュール130によって対応付けられた参照画像105Aにおける基準点と処理画像105Bにおける基準点に基づいて、参照画像105Aと処理画像105Bとの位置合わせのための補正係数を決定する。補正係数の決定は、既存の技術を用いればよい。
また、補正係数算出モジュール140は、基準抽出モジュール110Bによって抽出された基準点に対応する参照画像105Aにおける基準点が複数ある場合は、(1)その対応付けを用いないで、補正係数を決定すること、(2)参照画像105Aにおける複数の基準点のうち、1つの基準点を処理画像105Bにおける基準点に対応する基準点として選択し、補正係数を決定すること、のいずれか一方の処理を行うようにしてもよい。この処理については、
図8の例を用いて後述する。
【0025】
また、基準対応付けモジュール130、補正係数算出モジュール140の処理を繰り返してもよい。2回目の処理として、以下のように行う。
基準対応付けモジュール130は、補正係数算出モジュール140によって決定された補正係数に基づいた参照画像105Aと処理画像105Bとの位置合わせを行い、前回対応付けなかった(前回対応する基準点が無いと判断された)基準抽出モジュール110Aによって抽出された基準点に対応する処理画像105Bにおける基準点を選択することによって対応付けを行うようにしてもよい。
補正係数算出モジュール140は、2回目の補正係数を決定する。具体的には、基準対応付けモジュール130による1回目の対応付けによる基準点の組と、2回目の対応付けによる基準点の組を用いて、補正係数を決定する。
2回目の処理については、
図7の例を用いて後述する。
【0026】
図2は、本実施の形態による処理例を示すフローチャートである。
ステップS202では、基準抽出モジュール110Aが、参照画像105Aを受け付ける。参照画像105Aとして、
図3(b)の例に示すものがある。例えば、修正前の画像(原画像)である。
ステップS204では、基準抽出モジュール110Aが、参照画像105Aから位置合わせ用の基準点を抽出する。ここでは、十字点、T字点、L字点を基準点として抽出する。
ステップS206では、基準抽出モジュール110Bが、処理画像105Bを受け付ける。処理画像105Bとして、
図3(a)の例に示すものがある。例えば、修正後の画像(原画像に変更を加えたもの)である。
ステップS208では、基準抽出モジュール110Bが、処理画像105Bから位置合わせ用の基準点を抽出する。ここでは、十字点、T字点、L字点を基準点として抽出する。
なお、ステップS202、S204の組とステップS206、S208の組は、いずれを先に行ってもよいし、並列的に処理を行ってもよい。
図4は、本実施の形態による処理例を示す説明図である。
図4(a)の例は、参照画像105Aと処理画像105Bを重ね合わせたものである。
図4(b)の例は、ステップS204、ステップS208の処理結果(基準点の抽出結果)を、
図4(a)の例に反映したものである。なお、
図4の例では、□印は、参照画像105Aの基準点を表している。〇印は、処理画像105Bの基準点を表している。
【0027】
ステップS210では、基準候補抽出モジュール120が、参照画像105Aの基準点から対象とする基準点を選択する。
ステップS212では、基準候補抽出モジュール120が、処理画像105B内の基準点から、参照画像105A内の対象とした基準点と対応する基準対応候補点を抽出する。
ステップS214では、基準候補抽出モジュール120が、抽出した基準対応候補点の数は、予め定められた値以下であるか否かを判断し、予め定められた値以下である場合はステップS216へ進み、それ以外の場合はステップS218へ進む。
ステップS216では、基準対応付けモジュール130が、基準対応候補点内から1つの対応基準点を選択することによって、対応付けを行う。
ステップS218では、基準対応付けモジュール130が、参照画像105Aの対象としている基準点には、対応基準点は「無し」とする。
ステップS220では、基準候補抽出モジュール120が、参照画像105A内の基準点で対応付け処理が終了していないものが残っているか否かを判断し、残っている場合はステップS210へ戻り、それ以外の場合はステップS222へ進む。
ステップS222では、補正係数算出モジュール140が、補正係数を算出する。
【0028】
図5は、本実施の形態による処理例を示す説明図である。
図5(a)に示す例は、参照画像105Aに処理画像105Bを重ね合わせたものである。参照画像105A内の基準点502を対象とする基準点とする。
図5(b)に示す例は、基準点502を処理画像105Bに射影したものである。予め定められた方向、距離での移動を行い、基準点502を射影基準点504へ射影する。
図5(c)に示す例は、射影基準点504の特徴量が類似している処理画像105B内の基準点(基準対応候補点512、基準対応候補点514、基準対応候補点516)を候補として抽出したものである。ここでは、射影基準点504から予め定められた距離以内にあって、点のタイプ(T字点)が同じものである基準点を抽出したものである。
図5(d)に示す例は、候補の数が予め定められた値(ここでは3つ)以下のため、候補の中から、射影基準点504と候補まで距離が一番近い基準対応候補点512を選択し、基準点502と基準対応候補点512とを対応付ける。
【0029】
図6は、本実施の形態による処理例を示す説明図である。これは、
図5の例とは異なり、候補の数が、予め定められた値より多い場合の例を示している。
図6(a)に示す例は、参照画像105Aに処理画像105Bを重ね合わせたものである。参照画像105A内の基準点602を対象とする基準点とする。
図6(b)に示す例は、基準点602を処理画像105Bに射影したものである。予め定められた方向、距離での移動を行い、基準点602を射影基準点604へ射影する。
図6(c)に示す例は、射影基準点604の特徴量が類似している処理画像105B内の基準点(基準対応候補点612、基準対応候補点614、基準対応候補点616、基準対応候補点618)を候補として抽出したものである。ここでは、射影基準点604から予め定められた距離以内にあって、点のタイプ(十字点)が同じものである基準点を抽出したものである。
図6(d)に示す例は、候補の数が予め定められた値(ここでは3つ)より多いため、射影基準点604(基準点602)に対応する基準点は無いとしたものである。
【0030】
図7は、本実施の形態による処理例を示す説明図である。
図7(a)に示す例は、参照画像105Aに処理画像105Bを重ね合わせたものである。参照画像105A内の基準点702を対象とする基準点とする。
図7(b)に示す例は、基準点702を処理画像105Bに射影したものである。予め定められた方向、距離での移動を行い、基準点702を射影基準点704へ射影する。
図7(c)に示す例は、射影基準点704の特徴量が類似している処理画像105B内の基準点(基準対応候補点712、基準対応候補点714、基準対応候補点716)を候補として抽出したものである。ここでは、射影基準点704から予め定められた距離以内にあって、点のタイプ(T字点)が同じものである基準点を抽出したものである。
図7(d)に示す例は、候補の数が予め定められた値(ここでは3つ)以下のため、候補の中から、射影基準点704と候補まで距離が一番近い基準対応候補点712を選択し、基準点702と基準対応候補点712とを対応付ける。
図7(e)に示す例は、
図7(a)から(d)までの処理を繰り返すことによって、対応付けが行われたものである。ここでは、T字点、L字点の基準点(表の外周にある基準点)については候補の数が予め定められた値以下であるので、対応付けが行われ、十字点の基準点については候補の数が予め定められた値より多いので、対応付けが行われなかったことを示している。つまり、1回目の処理によって対応付けられた基準点同士を示している。
【0031】
そして、対応付けが行われた基準点の組を用いて、補正係数算出モジュール140が、
図7(f)に示す式(1)の補正係数を算出する。
図7(g)以降の処理は、2回目の処理である。
図7(g)に示す例は、1回目の処理で、対応付けが行われなかった基準点を対象とする基準点とする。この例では、十字点の基準点である基準点722とする。
図7(h)に示す例は、
図7(f)に示す式(1)を用いて、参照画像105Aと処理画像105Bとの位置合わせ(射影)を行ったものである。基準点722は射影基準点724の位置へ移動する。
図7(i)に示す例は、射影基準点724に対応する候補である基準対応候補点732、基準対応候補点734、基準対応候補点736、基準対応候補点738を抽出する。なお、1回目の処理で基準候補抽出モジュール120が抽出したものをそのまま利用してもよい。そして、射影基準点724と距離が一番近い基準対応候補点734を対応すべき基準点として選択することによって、基準点722(射影基準点724)と基準対応候補点734とを対応付ける。ここでの2回目の対応付けは、候補の数と予め定められた値との比較を行わずに、対応付けを行っている。既に補正係数の算出がされた後の位置合わせであるので、候補の数が多くとも、ノイズとなる対応付けは少なくなっているからである。
この後、1回目の対応付け結果、2回目の対応付け結果を用いて、補正係数算出モジュール140が補正係数を算出する。1回目の対応付け結果を用いた補正係数の算出よりも、多くの対応付け結果を用いて補正係数を算出することになる。
【0032】
図8は、本実施の形態による処理例を示す説明図である。これは、補正係数算出モジュール140が行う処理であって、基準対応付けモジュール130による対応付けの結果、参照画像105A内の複数の基準点が、処理画像105B内の1つの基準点と対応している場合の処理を説明する。
図8(a)の例を用いて、「基準抽出モジュール110Bによって抽出された基準点に対応する参照画像105Aにおける基準点が複数ある場合」について説明する。
図8(a)の例は、対応付けされた基準点同士を示している。ここで、基準点802と対応基準点812は対応付けられており、基準点804も対応基準点812と対応付けられている。このように、参照画像105Aの複数の基準点が処理画像105Bの1つの基準点と対応付けられているということは、いずれかの対応付けが誤っていることを示している。したがって、補正係数を算出するのに好ましくない対応付けである。この好ましくない対応付けを排除するために、2つの解決方法を提示する。
【0033】
1つ目の解決法について説明する。すなわち
図8(b)の例を用いて、「(1)その対応付けを用いないで、補正係数を決定すること」について説明する。
図8(b)の例は、間違った対応付けがある基準点同士を使用しないことを示したもので、この例では、基準点802と対応基準点812との対応付け、基準点804と対応基準点812との対応付けを、補正係数算出モジュール140は用いずに、補正係数の算出を行う。したがって、残った対応付け結果を用いて、補正係数の算出を行う。
2つ目の解決法について説明する。すなわち
図8(c)の例を用いて、「(2)参照画像105Aにおける複数の基準点のうち、1つの基準点を処理画像105Bにおける基準点に対応する基準点として選択し、補正係数を決定すること」について説明する。一方の対応付けは用いるが、他方の対応付けを排除するものである。すなわち基準点同士を一対一の対応とする。
参照画像105Aにおける複数の基準点のうち、どれを選択するかについては、次のようにしてもよい。
(1)対象となっている対応付けの周囲の一対一の対応をしている基準点同士に基づいて、対応すべき参照画像105Aの基準点を選択する。例えば、参照画像105Aの基準点と対応する処理画像105Bの基準点との位置関係が同じになるように、対応すべき参照画像105Aの基準点を選択する。より具体的には、基準点802と対応基準点812との対応付け、基準点804と対応基準点812との対応付けの周囲の対応付けを参照すると、参照画像105Aの基準点が左上にあり、処理画像105Bの基準点は右下にあるという位置関係を有しているので、同じ位置関係を有している基準点802と対応基準点812の対応付けを選択し、その対応付けと他の対応付けを用いて(基準点804の対応付けは排除して)、補正係数算出モジュール140が補正係数の算出を行う。
(2)参照画像105Aの基準点のうち、対応する処理画像105Bの基準点との座標距離が最も近いものを選択する。
(3)参照画像105Aの基準点のうち、対応する処理画像105Bの基準点と類似度が最も高いものを選択する。
【0034】
図9を参照して、本実施の形態の画像処理装置のハードウェア構成例について説明する。
図9に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部917と、プリンタなどのデータ出力部918を備えたハードウェア構成例を示している。
【0035】
CPU(Central Processing Unit)901は、前述の実施の形態において説明した各種のモジュール、すなわち、基準抽出モジュール110A、基準抽出モジュール110B、基準候補抽出モジュール120、基準対応付けモジュール130、補正係数算出モジュール140等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【0036】
ROM(Read Only Memory)902は、CPU901が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス904により相互に接続されている。
【0037】
ホストバス904は、ブリッジ905を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス906に接続されている。
【0038】
キーボード908、マウス等のポインティングデバイス909は、操作者により操作される入力デバイスである。ディスプレイ910は、液晶表示装置又はCRT(Cathode Ray Tube)などがあり、各種情報をテキストやイメージ情報として表示する。
【0039】
HDD(Hard Disk Drive)911は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU901によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、参照画像105A、処理画像105B、補正係数、基準点情報などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【0040】
ドライブ912は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体913に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース907、外部バス906、ブリッジ905、及びホストバス904を介して接続されているRAM903に供給する。リムーバブル記録媒体913も、ハードディスクと同様のデータ記録領域として利用可能である。
【0041】
接続ポート914は、外部接続機器915を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート914は、インタフェース907、及び外部バス906、ブリッジ905、ホストバス904等を介してCPU901等に接続されている。通信部916は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部917は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部918は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【0042】
なお、
図9に示す画像処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、
図9に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに
図9に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
【0043】
また、前述の実施の形態の説明において、予め定められた値との比較において、「以上」、「以下」、「より大きい」、「より小さい(未満)」としたものは、その組み合わせに矛盾が生じない限り、それぞれ「より大きい」、「より小さい(未満)」、「以上」、「以下」としてもよい。
なお、各モジュールの処理内容として背景技術で説明した技術を採用してもよい。
【0044】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。