(57)【要約】【課題】  複数の画像を合成して得られる画像の歪みを低減するための一手法を提供することを目的とする。【解決手段】  被写体を隣り合った領域に重複領域を設けて複数の領域に分割し、複数の領域のそれぞれを撮像することによって重複領域を含む複数の領域それぞれの表面形状の高さを表す複数の画像データを取得する第１取得手段と、前記複数の画像データについて、前記画像データ各々の同じ座標での前記高さの平均値を前記座標ごとに算出し、前記平均値を表す平均画像データを生成する生成手段と、前記平均画像データから低周波成分を抽出することによって、前記複数の画像データが表す前記被写体の表面形状の歪みを推定する推定手段と、前記推定手段によって推定された前記歪みに基づいて、前記複数の画像データを補正する補正手段と、前記補正手段によって補正された前記複数の画像データを合成する合成手段と、を有することを特徴とする画像処理装置。【選択図】  図３
2018060521.tif 000002
【特許請求の範囲】
【請求項１】
被写体を隣り合った領域に重複領域を設けて複数の領域に分割し、複数の領域のそれぞれを撮像することによって重複領域を含む複数の領域それぞれの表面形状の高さを表す複数の画像データを取得する第１取得手段と、
前記複数の画像データについて、前記画像データ各々の同じ座標での前記高さの平均値を前記座標ごとに算出し、前記平均値を表す平均画像データを生成する生成手段と、
前記平均画像データから低周波成分を抽出することによって、前記複数の画像データが表す前記被写体の表面形状の歪みを推定する推定手段と、
前記推定手段によって推定された前記歪みに基づいて、前記複数の画像データを補正する補正手段と、
前記補正手段によって補正された前記複数の画像データを合成する合成手段と、
を有することを特徴とする画像処理装置。
【請求項２】
前記被写体を撮像して得られる未加工の複数の画像データの中心座標を取得する第２取得手段と、
前記第１取得手段によって取得される前記複数の画像データの各画像データの領域の座標を、前記第２取得手段によって取得される前記中心座標からの相対座標に変換する変換手段と、をさらに有し、
前記生成手段は、前記変換手段によって座標が変換された前記複数の画像データにおいて、前記画像データ各々の同じ座標に対応する前記高さの平均値を前記座標ごとに算出し、前記平均値を表す平均画像データを生成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記推定手段は、前記平均画像データに対してローパスフィルタを適用することによって、前記平均画像データから低周波成分を抽出することを特徴とする請求項１又は請求項２に記載の画像処理装置。
【請求項４】
前記ローパスフィルタは、前記平均画像データの中心と端部では、端部の方がよりフィルタサイズが小さいことを特徴する請求項３に記載の画像処理装置。
【請求項５】
前記補正手段は、前記画像データが表す前記高さから前記歪みを減算することによって前記複数の画像データを補正することを特徴とする請求項１乃至請求項４のいずれか一項に記載の画像処理装置。
【請求項６】
前記重複領域を算出する第２算出手段をさらに有し、
前記合成手段は、前記第２算出手段によって算出された前記重複領域で前記複数の画像データを合成することを特徴とする請求項１乃至請求項５のいずれか一項に記載の画像処理装置。
【請求項７】
前記合成手段が前記複数の画像データを合成するために用いる合成用の座標を取得する第３取得手段をさらに有し、
前記第２算出手段は、前記合成用の座標に基づいて、前記重複領域を算出することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
ユーザからの指示を受け付けるための画面を表示する表示手段と、
前記ユーザからの指示に基づいて、前記第１取得手段によって取得される前記複数の画像データの中から前記生成手段による前記平均画像データの生成に用いる前記画像データを設定する設定手段と、をさらに有し、
前記生成手段は、前記設定手段によって設定された前記画像データを用いて、前記平均画像データを生成することを特徴とする請求項１乃至請求項７のいずれか一項に記載の画像処理装置。
【請求項９】
形状が既知である物体を前記被写体を撮像した環境と同じ環境で撮像して得られる画像データに表れる、前記物体の表面形状の歪みを取得する第４取得手段と、
ユーザからの指示を受け付けるための画面を表示する表示手段と、
前記ユーザの指示に基づいて、前記推定手段によって推定された前記歪みと前記第４取得手段によって取得された前記歪みとのどちらを、前記補正手段による前記複数の画像データが表す前記高さの補正に用いるかを設定する設定手段と、をさらに有し、
前記補正手段は、前記設定手段によって設定された方法によって得られた前記歪みを前記複数の画像データが表す前記高さの補正に用いることを特徴とする請求項１乃至請求項７のいずれか一項に記載の画像処理装置。
【請求項１０】
被写体を隣り合った領域に重複領域を設けて複数の領域に分割し、複数の領域のそれぞれを撮像することによって重複領域を含む複数の領域それぞれの表面形状の高さを表す複数の画像データを取得する取得手段と、
前記複数の画像データから低周波成分を抽出することによって前記表面形状の歪みを推定し、前記歪みを表す複数の歪みデータを生成する第１生成手段と、
前記複数の歪みデータの各歪みデータの同じ座標での前記歪みを用いて、前記座標ごとに前記歪みの平均値を算出し、前記平均値を表す平均歪みデータを生成する第２生成手段と、
前記平均歪みデータに基づいて、前記複数の画像データを補正する補正手段と、
前記補正手段によって補正された前記複数の画像データを合成する合成手段と、
を有することを特徴とする画像処理装置。
【請求項１１】
コンピュータを請求項１乃至請求項１０のいずれか一項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項１２】
被写体を隣り合った領域に重複領域を設けて複数の領域に分割し、複数の領域のそれぞれを撮像することによって重複領域を含む複数の領域それぞれの表面形状の高さを表す複数の画像データを取得する第１取得ステップと、
前記複数の画像データについて、前記画像データ各々の同じ座標での前記高さの平均値を前記座標ごとに算出し、前記平均値を表す平均画像データを生成する生成ステップと、
前記平均画像データから低周波成分を抽出することによって、前記複数の画像データが表す前記被写体の表面形状の歪みを推定する推定ステップと、
前記推定ステップによって推定された前記歪みに基づいて、前記複数の画像データを補正する補正ステップと、
前記補正ステップによって補正された前記複数の画像データを合成する合成ステップと、
を有することを特徴とする画像処理方法。
【請求項１３】
被写体を隣り合った領域に重複領域を設けて複数の領域に分割し、複数の領域のそれぞれを撮像することによって重複領域を含む複数の領域それぞれの表面形状の高さを表す複数の画像データを取得する取得ステップと、
前記複数の画像データから低周波成分を抽出することによって前記表面形状の歪みを推定し、前記歪みを表す複数の歪みデータを生成する第１生成ステップと、
前記複数の歪みデータの各歪みデータの同じ座標での前記歪みを用いて、前記座標ごとに前記歪みの平均値を算出し、前記平均値を表す平均歪みデータを生成する第２生成ステップと、
前記平均歪みデータに基づいて、前記複数の画像データを補正する補正ステップと、
前記補正ステップによって補正された前記複数の画像データを合成する合成ステップと、
を有することを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の歪みを低減するための画像処理技術に関する。
【背景技術】
【０００２】
近年、絵画などの美術品の複製や保存を目的として、絵の具の盛り上がりといった表面の微細な形状を取得する技術が求められている。この微細な形状を取得するためには、近い距離での撮像により高解像度の情報を取得する必要があるが、この近い距離での撮像は被写体を一度に撮像できる範囲を限定してしまう。よって、被写体全体の画像を得るためには、被写体を分割撮像し、得られた複数の画像をつなぎ合わせなければならない。しかしながら、撮像して得られた画像にはレンズ歪みや周辺減光の影響が含まれているため、撮像された画像を合成させた場合、画像の合成部分で実物には存在しない歪みが目立つという課題がある。このため、特許文献１の技術では、合成する前の画像に対してレンズ歪み補正、シェーディング補正を施し画像合成を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２７４９７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の方法では、合成前の各画像に対して歪みの補正を行っているが、合成後に発生する歪みを考慮して合成前の画像の歪みの補正を行っていない。このため、合成前には発生していなかった歪みが合成後に発生する場合がある。
【０００５】
本発明は、上記課題を解決するためになされたものであり、複数の画像を合成して得られる画像の歪みを低減するための一手法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る画像処理装置は、被写体を隣り合った領域に重複領域を設けて複数の領域に分割し、複数の領域のそれぞれを撮像することによって重複領域を含む複数の領域それぞれの表面形状の高さを表す複数の画像データを取得する第１取得手段と、前記複数の画像データについて、前記画像データ各々の同じ座標での前記高さの平均値を前記座標ごとに算出し、前記平均値を表す平均画像データを生成する生成手段と、前記平均画像データから低周波成分を抽出することによって、前記複数の画像データが表す前記被写体の表面形状の歪みを推定する推定手段と、前記推定手段によって推定された前記歪みに基づいて、前記複数の画像データを補正する補正手段と、前記補正手段によって補正された前記複数の画像データを合成する合成手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明により、複数の画像を合成して得られる画像の歪みを低減するための一手法を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】画像処理装置１のハードウェア構成を示すブロック図
【図２】画像処理装置１の機能構成を示すブロック図
【図３】画像処理装置１が実行する処理のフローチャート
【図４】歪み情報の一例を示す図
【図５】形状の歪みを推定する処理のフローチャート
【図６】第１保持部が保持するデータの一例を示す図
【図７】形状の歪みを補正する処理のフローチャート
【図８】画像を合成する処理のフローチャート
【図９】第２保持部が保持するデータの一例を示す図
【図１０】合成対象となる画像の位置関係の一例を示す図
【図１１】形状の歪みを推定する処理のフローチャート
【図１２】形状の歪みを推定する処理のフローチャート
【図１３】平均値の算出に用いる画像の設定におけるＵＩ画面の一例を示す図
【図１４】画像処理装置１が実行する処理のフローチャート
【図１５】歪み情報の選択におけるＵＩ画面の一例を示す図
【図１６】歪みを有する隣接した２枚の画像を合成する例を説明するための模式図
【発明を実施するための形態】
【０００９】
以下、本発明の実施例について、図面を参照して説明する。以下の実施例で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。尚、同一の構成については、同じ符号を付して説明する。
【００１０】
［実施例１］
図１は、本実施例における画像処理装置１のハードウェア構成例である。画像処理装置１は、例えばコンピュータであり、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３を備える。ＣＰＵ１０１は、ＲＡＭ１０３をワークメモリとして、ＲＯＭ１０２、ＨＤＤ（ハードディスクドライブ）１５などに格納されたＯＳ（オペレーティングシステム）や各種プログラムを実行する。また、ＣＰＵ１０１は、システムバス１０７を介して各構成を制御する。尚、後述するフローチャートによる処理は、ＲＯＭ１０２やＨＤＤ１５などに格納されたプログラムコードがＲＡＭ１０３に展開され、ＣＰＵ１０１によって実行される。汎用Ｉ／Ｆ（インターフェース）１０４には、シリアルバス１１を介して、マウスやキーボードなどの入力デバイス１２やプリンタ１３が接続される。ＳＡＴＡ（シリアルＡＴＡ）Ｉ／Ｆ１０５には、シリアルバス１４を介して、ＨＤＤ１５や各種記録メディアの読み書きを行う汎用ドライブ１６が接続される。ＣＰＵ１０１は、ＨＤＤ１５や汎用ドライブ１６にマウントされた各種記録メディアを各種データの格納場所として使用する。ビデオＩ／Ｆ１０６には、ディスプレイ１７が接続される。ＣＰＵ１０１は、プログラムによって提供されるＵＩ（ユーザインターフェース）をディスプレイ１７に表示し、入力デバイス１２を介して受け付けるユーザ指示などの入力を受信する。
【００１１】
図２は、本実施例における画像処理装置１の機能構成を示すブロック図である。画像処理装置１は、取得部２０１、推定部２０２、補正部２０３、合成部２０４、第１保持部２０５、第２保持部２０６を有する。取得部２０１は、被写体を複数の領域に分割して撮像することによって得られる画像データを第１外部記憶装置２０７から取得する。推定部２０２は、取得部２０１で取得された画像データ及び第１保持部２０５に保持されている未加工時の画像データの中心座標を用いて、画像データが表す形状（高さ）の歪み情報を推定する。補正部２０３は、推定部２０２で推定された歪み情報及び第１保持部２０５に保持されている座標を用いて、取得部２０１で取得された画像データが表す形状（高さ）を補正する。合成部２０４は、第２保持部２０６に保持されている座標に基づいて、第２外部記憶装置２０８に記録されている画像データと、補正部２０３で補正された画像データとを合成し、第２外部記憶装置２０８に出力する。尚、第１外部記憶装置２０７と第２外部記憶装置２０８は同一の記憶装置でも良く、またどちらも画像処理装置１の内部にあっても良い。
【００１２】
以下、本実施例における画像処理装置１が実行する処理について、図３のフローチャートを用いて説明する。以下、各ステップ（工程）は符号の前にＳをつけて表す。
【００１３】
Ｓ３０１において、取得部２０１は、被写体を複数の領域に分割して撮像することによって得られる複数の画像データを第１外部記憶装置２０７から取得する。尚、本実施例では本ステップで取得する画像データを形状画像データと呼ぶ。形状画像データは、被写体の表面形状の高さを表す高さ情報の２次元分布を記述したデータであり、各位置（画素）における高さ情報を８ビットの画素値に変換したグレースケール画像として扱う。形状画像データ各々は被写体の各領域を表している。高さ情報の２次元分布は、良く知られた三角測量から得られる。高さを測定するための基準面は、被写体（絵画などが描かれた記録媒体）の表面や被写体が有する凹凸の最も低い位置などとすることができる。また、本実施例において、被写体は表面に微細な凹凸を有する物体（例えば、絵画など）である。尚、形状画像データは上記一例に限定されず、形状をポリゴンの集合として表す公知のｓｔｌデータとしても良い。
【００１４】
Ｓ３０２において、推定部２０２は、Ｓ３０１で取得した形状画像データ及び第１保持部２０５が保持する座標を用いて、形状画像データが表す形状に含まれる歪み情報を推定する。第１保持部２０５が保持する座標は、形状画像データの端などが切り取られるなどして中心座標が変わる前の未加工時の形状画像データの中心座標である。図４にＳ３０２で推定する形状の歪みの一例を示す。図４（ａ）は、略平滑なボードを撮像して得られる形状画像データの一例である。図４（ｂ）は、図４（ａ）の画像中の破線部の高さのラインプロファイルである。図４（ｂ）に示すように、略平滑な物体であっても、レンズ歪みや周辺減光により、形状画像の中心部と端部とでおよそ０．５ｍｍ程度の歪みが生じていることが分かる。このような歪みを有する隣接した２枚の画像を連結して合成する場合の模式図を図１６に示す。図１６（ａ）において、実線は領域Ｎの形状画像データのあるラインの高さ分布、破線は領域Ｎに隣接するＮ＋１番目の領域の形状画像データの領域Ｎと同じラインの高さ分布である。このとき、２つの形状はどちらも等しい高さであったとしても、前述のように画像の端に行くに従い高さが高くなるような歪みを有する傾向がある。このような２枚の画像を重複する位置で平均化して連結合成した画像を図１６（ｂ）に示す。図１６（ｂ）に示すように、歪みの影響が小さい画像の中心部に比べて画像の端では、歪みの影響により、ある位置から極端に高さが高くなる段差が生じてしまう。ここで、被写体は０．５ｍｍ程度の歪みよりも微細な凹凸（１００μｍ以下）を有するため、形状画像データの低周波成分を抽出することで歪みと被写体の凹凸を分けることができる。よってＳ３０２では、形状画像データの低周波成分を抽出することで、上述した撮像時に生じる形状の歪みを推定する処理を行う。尚、Ｓ３０２の詳細については後述する。Ｓ３０３において、補正部２０３は、Ｓ３０２で推定した形状の歪み情報及び第１保持部２０５が保持する座標を用いて、Ｓ３０１で取得した形状画像データが表す形状の歪みを補正し、補正画像データを生成する。尚、Ｓ３０３の詳細については後述する。
【００１５】
Ｓ３０４において、合成部２０４は、合成先である第１の画像を第２外部記憶装置２０８から取得し、第１の画像に対応した座標を第２保持部２０６から取得する。また、合成を行う第２の画像を補正部２０３から取得し、第２の画像に対応した座標を第２保持部２０６から取得する。合成部２０４は、第１の画像の座標及び第２の画像の座標に応じて、第１の画像に第２の画像を合成し、第２外部記憶装置２０８に出力する。この処理を、全ての領域の補正画像データが合成されて１つの画像データとなるまで繰り返す。尚、第２外部記憶装置２０８に第１の画像がない場合、つまり合成がまだ行われていない場合は、そのまま補正画像データ（第２の画像）を外部記憶装置２０８に出力する。尚、Ｓ３０４の詳細については後述する。
【００１６】
以下、形状の歪み情報を推定する処理（Ｓ３０２）に関して、図５のフローチャートを用いて説明する。形状が既知であるサンプルから形状の歪み情報を取得する場合、被写体の厚みとサンプルの厚みとが異なることで、撮像時の焦点距離が一致しないことがある。レンズの歪みや周辺減光の程度は焦点距離によって変化するため、焦点距離が異なると形状画像データに含まれる形状の歪みも異なる情報となってしまう。そこで本処理では、サンプルを用いずに、処理対象である複数の形状画像データを用いて形状画像データの歪み情報を推定する。
【００１７】
Ｓ５０１において、Ｓ３０１で取得した各領域を表す複数の形状画像データにおける座標（画素位置）を、未加工時の形状画像データの中心座標からの相対座標に変換する。Ｓ５０１で取得される各領域の形状画像データの中心座標は、端が切り取られるなどして撮像で得られた未加工時の形状画像データの中心座標と一致しない場合や、画像の画素数が領域ごとに異なる場合がある。従って、Ｓ５０１は、Ｓ５０２及びＳ５０３で同様の歪みをもつ座標で平均をとり歪みを推定できるようにする処理である。具体的には、まず、第１保持部２０５から、領域ｎにおける未加工時の形状画像データの中心座標（ｘｎｃ，ｙｎｃ）を取得する。図６は第１保持部２０５に保持されている座標情報の一例を示した図である。図６が示すように、各領域における未加工時の形状画像データ上の中心座標（画素位置）が記録されている。次に、式（１）により領域ｎにおける形状画像データの座標を相対座標へと変換する。座標変換前の形状画像データの画素値をＩｎとし、座標変換後の形状画像データの画素値をＩｎｃとする。尚、本実施例では、ｘｎｃ，ｙｎｃは画素で表記されているが、画像上の位置が特定できるのであればこれに限らない。
Ｉｎｃ（Ｘ，Ｙ）＝Ｉｎ（ｘ−ｘｎｃ，ｙ−ｙｎｃ）・・・式（１）
Ｓ５０２において、Ｓ５０１で座標を変換した全ての領域における各形状画像データに対して、相対座標上での同一座標の画素値を式（２）により平均し、平均画像データの画素値Ｉａｖｅを算出する。
【００１８】
【数１】
2018060521.tif 000003
【００１９】
尚、式（２）において、Ｉａｖｅ（Ｘ，Ｙ）は未加工時の形状画像データの中心座標からの相対座標（Ｘ，Ｙ）における全ての領域の画素値の平均値であり、Ｉｎ（ｉ，ｊ）は領域ｎにおける形状画像データ上での座標（ｉ，ｊ）の画素値である。尚、式（１）より、形状画像データの座標（ｘ−ｘｎｃ，ｙ−ｙｎｃ）は相対座標（Ｘ，Ｙ）と対応する。また、Ｎ（Ｘ，Ｙ）は相対座標（Ｘ，Ｙ）に対応する形状画像データの領域数である。すなわち、形状画像データの座標（ｘ−ｘｎｃ，ｙ−ｙｎｃ）がｘｎｍｉｎ≦ｘ−ｘｎｃ≦ｘｎｍａｘかつｙｎｍｉｎ≦ｙ−ｙｎｃ≦ｙｎｍａｘを満たす領域の総数である。尚、ｘｎｍｉｎ＋ｘｎｃ＝０、ｙｎｍｉｎ＋ｙｎｃ＝０、ｘｎｍａｘ＋ｘｎｃ、ｙｎｍａｘ＋ｙｎｃはそれぞれ、形状画像データＩｎの水平方向及び垂直方向の画素数である。
【００２０】
Ｓ５０３において、Ｓ５０２で算出された平均画像データに含まれる低周波成分を抽出するために、平均画像データに対して適用するローパスフィルタを算出する。具体的には、ローパスフィルタとして、所定の定数Ｓを用いて、ガウシアンフィルタＦ（ａ，ｂ）を式（３）により算出する。式（３）において、Ｓはガウシアンフィルタのサイズである。
【００２１】
【数２】
2018060521.tif 000004
【００２２】
そして、Ｓ５０２で算出した平均画像データの画素値ＩａｖｅとＳ５０３で算出したローパスフィルタＦとの畳み込み演算を行い、形状の歪み情報を表す歪み画像データの画素値ｈを式（４）により算出する。尚、式（４）において、Ｍ，Ｎはそれぞれ平均画像データの水平方向の最大画素数、垂直方向の最大画素数である。
【００２３】
【数３】
2018060521.tif 000005
【００２４】
尚、本実施例では、一定のフィルタサイズのローパスフィルタを適用した。しかし、ローパスフィルタのフィルタサイズは一定である必要はない。形状の歪み情報は、画像の中心では歪みが小さく、端部に向かうにつれて歪みが大きくなる傾向がある。このため、フィルタサイズが大きい場合、端部では歪みが大きいため、実際の歪み量よりも小さく見積もられてしまう場合がある。従って、端部ではフィルタサイズは小さいほうが好ましい。一方で、画像の中心近辺では歪みが小さい。よって、対象物のもつ高周波成分をより除去できる大きいフィルタサイズが好ましい。このように、形状の歪み情報が対応する位置に応じて適切なフィルタサイズが異なる傾向がある。従って、歪み情報の推定では、平均画像データにおける位置に応じて、異なるフィルタサイズのローパスフィルタを適用しても良い。
【００２５】
以下、形状の歪みを補正する処理（Ｓ３０３）に関して、図７のフローチャートを用いて説明する。本ステップでは、各領域の形状画像データから形状の歪みを補正する処理である。
【００２６】
Ｓ７０１において、Ｓ３０２で算出した歪み画像データを取得する。Ｓ７０２において、Ｓ３０１で取得された領域ごとの形状画像データの座標を未加工時の形状画像データの中心座標からの相対座標（Ｘ，Ｙ）へと変換する。用いる変換式はＳ５０１の式（１）と同様である。
【００２７】
Ｓ７０３において、相対座標（Ｘ，Ｙ）における各領域の形状画像データと歪み画像データとの画素値の差分を算出し、補正画像データを生成する。具体的には、補正画像データの画素値Ｉ’を式（５）の減算により算出する。
Ｉ’（Ｘ，Ｙ）＝Ｉｎ（Ｘ，Ｙ）−ｈ（Ｘ，Ｙ）・・・式（５）
以下、画像データの重複領域同士が一致するように合成する処理（Ｓ３０４）に関して、図８のフローチャートを用いて説明する。
【００２８】
Ｓ８０１において、合成先である第１の画像を第２外部記憶装置２０８から取得する。Ｓ８０２において、Ｓ３０３で算出した合成対象である第２の画像を補正部２０４より取得する。尚、第１の画像及び第２の画像は、どちらもＳ３０３の処理によって歪みを補正された補正画像データである。
【００２９】
Ｓ８０３において、Ｓ８０１、Ｓ８０２で取得した第１の画像及び第２の画像に対応する座標を、第２保持部２０６より取得する。尚、図９は第２保持部２０６に保持されているデータの一例である。図９に示すように、合成用の座標情報は、形状画像データの左上、右上、左下、右上の４点を示す位置情報を全ての領域に共通する座標系で記されたデータと、各領域の形状画像データの最大高さを記したデータとを、形状画像データごとに保持している。
【００３０】
Ｓ８０４において、Ｓ８０３の座標情報に基づいて、第１の画像と第２の画像との重複領域を算出する。図１０において、実線で描かれた画像が第１の画像であり、破線で描かれた画像が第２の画像である。また、斜線部が第１の画像と第２の画像との重複領域である。このとき、第１の画像と第２の画像とが図１０（ａ）又は図１０（ｂ）のようにｘ方向に重複がある位置関係であったとする。図１０（ａ）のように、第２の画像の最左端の座標ｘ２０が、第１の画像の最左端の座標ｘ１０に対してｘ１０＜ｘ２０を満たし、かつ、第１の画像の最右端の座標ｘ１１に対してｘ１１＞ｘ２０を満たす場合、式（６）によりｘ方向の重複範囲Ｓｘを算出する。一方、図１０（ｂ）のように、ｘ１０＞ｘ２０を満たし、かつ、ｘ１０＜ｘ２１を満たす場合、Ｓｘは式（７）により算出される。
ｘ２０≦Ｓｘ≦ｘ１１・・・式（６）
ｘ１０≦Ｓｘ≦ｘ２１・・・式（７）
同様に、第１の画像と第２の画像とが図１０（ｃ）又は１０（ｄ）のようにｙ方向に重複がある位置関係であったとする。図１０（ｃ）のように、第２の画像の最上端の座標ｙ２０が、第１の画像の最上端の座標ｙ１０に対してｙ１０＜ｙ２０を満たし、かつ、第２の画像の最下端の座標ｙ２１に対してｙ１０＞ｙ２１を満たす場合、ｙ方向の重複領域Ｓｙは式（８）により算出される。一方、図１０（ｄ）のように、ｙ１０＞ｙ２０を満たし、かつ、ｙ１１＜ｙ２０を満たす場合、Ｓｙは式（９）により算出される。
ｙ２１≦Ｓｙ≦ｙ１０・・・式（８）
ｙ１１≦Ｓｙ≦ｙ２０・・・式（９）
Ｓ８０５において、重複領域に含まれる第１の画像の画素値Ｉ１’（ｘ，ｙ）及び第２の画像の画素値Ｉ２’（ｘ，ｙ）について、式（１０）により評価値Ｒを算出する。式（１０）において、ｋは重複領域に含まれる画素の総数である。尚、本実施例では評価値として式（１０）に示される二乗平均平方根を用いているが、評価値はこれに限るものではない。例えば、差分平方和であっても良い。
【００３１】
【数４】
2018060521.tif 000006
【００３２】
Ｓ８０６において、Ｓ８０５で算出した評価値Ｒに対して、最小値を表す変数Ｒｍｉｎとの大小関係の比較を行う。ＲがＲｍｉｎよりも小さければＳ８０７へ進み、そうでなければＳ８０８へ進む。
【００３３】
Ｓ８０７において、式（１１）により変数Ｒｍｉｎの値をＲに更新し、さらに重複領域を示す座標（ｘｌ１，ｙｌ１）、（ｘｌ２，ｙｌ２）、（ｘｒ１，ｙｒ１）、（ｘｒ２，ｙｒ２）に対応する値を代入する。例えば、図１０（ａ）の場合、（ｘｌ１，ｙｌ１）＝（ｘ２０，ｙ２０）、（ｘｌ２，ｙｌ２）＝（ｘ２０，ｙ２１）、（ｘｒ１，ｙｒ１）＝（ｘ１１，ｙ１０）、（ｘｒ２，ｙｒ２）＝（ｘ１１，ｙ１１）となる。
Ｒｍｉｎ＝Ｒ・・・式（１１）
Ｓ８０８において、予め設定された探索範囲について探索が終了したかを判定する。もし全ての探索範囲について処理が完了していればＳ８１０に進み、そうでなければＳ８０９に進む。尚、本実施例では探索範囲を第２の画像の長辺と短辺の１０％とに囲まれた領域に相当するものとするがこれに限るものではない。Ｓ８０９において、第２の画像をｘ方向又はｙ方向に１画素ずつ移動させて、Ｓ８０４に戻る。
【００３４】
Ｓ８１０において、Ｒが最小となる（ｘｌ１，ｙｌ１）、（ｘｌ２，ｙｌ２）、（ｘｒ１，ｙｒ１）、（ｘｒ２，ｙｒ２）の４点に囲まれた重複領域で画像を合成する。尚、重複する領域Ｉ’（ｘ，ｙ）においては、式（１２）により、重複する画素の画素値の平均値を算出する。一方、非重複領域は第１の画像または第２の画像の画素値を代入することで合成する。尚、式中のｈ１及びｈ２は、それぞれ図９に記載の第１の画像、第２の画像の最大高さであり、ｈｍａｘは全ての領域の高さｈ１からｈｎにおける最大の高さである。
Ｉ’（ｘ，ｙ）＝｛Ｉ１’（ｘ，ｙ）×ｈ１＋Ｉ２’（ｘ−ｘｓ，ｙ−ｙｓ）×ｈ２｝／２ｈｍａｘ                                  ・・・式（１２）
（ｘ１１≦ｘ≦ｘｒ２かつｙ１１≦ｙ≦ｙｒ２の場合）Ｓ８１１において、全ての補正画像データの合成を完了したかを判定する。もし合成が完了していれば処理を終了し、そうでなければ、Ｓ８０２に戻る。
【００３５】
本実施例によれば、複数の形状画像データに基づいて、形状の歪み情報を推定する。そして、この歪み情報に基づいて、領域ごとに歪みを補正することにより、各形状画像データがもつ歪みを高精度に補正することができ、画像を合成した際の画質劣化を低減することができる。
【００３６】
尚、本実施例では座標を高さの平均値の算出と画像データ同士の合成に用いたが、位置が特定できれば座標でなく位置情報でも構わない。
【００３７】
尚、本実施例では、低周波成分の抽出にローパスフィルタを用いることとして説明をしたが、低周波成分を抽出できるのであればローパスフィルタに限らない。例えば、公知の平滑化フィルタを用いてもよい。
【００３８】
［実施例２］
実施例１では、形状の歪み情報を推定する処理において、平均画像データに対してフィルタリングを行った。しかしながら、フィルタリングは必ずしも平均画像データに対して行う必要はない。例えば、各領域の形状画像データに対してフィルタリングを行った後に平均画像データを算出しても同様の効果を得ることができる。本実施例では、実施例１と異なる処理順により形状の歪み情報を推定する処理について実施例１との差分について主に説明する。
【００３９】
以下、形状の歪み情報を推定する処理（Ｓ３０２）に関して、図１１のフローチャートを用いて説明する。
【００４０】
Ｓ１１０１において、Ｓ３０１で取得した各領域の形状画像データにおける座標を未加工時の形状画像データの中心座標からの相対座標に変換する。尚、Ｓ１１０１はＳ５０１と同様であるため説明を省略する。Ｓ１１０２において、Ｓ１１０１で座標変換した形状画像データに対してフィルタリングを行う。具体的には、まず、式（３）によりローパスフィルタを生成し、式（１３）により、領域ｎごとに形状画像データにローパスフィルタを適用し、各領域のローパス画像データを算出する。領域ｎの形状画像データの画素値をＩｎとし、領域ｎのローパス画像データの画素値をｈｎとする。
【００４１】
【数５】
2018060521.tif 000007
【００４２】
Ｓ１１０３において、全ての領域におけるローパス画像の画素値ｈｎについて、変換後の相対座標上での同一座標の画素値を式（１４）により平均し、平均歪みデータを算出する。座標（Ｘ，Ｙ）の平均歪みデータの画素値をｈ’（Ｘ，Ｙ）とする。
【００４３】
【数６】
2018060521.tif 000008
【００４４】
本実施例によれば、実施例１と異なる処理手順であっても、実施例１と同等に形状の歪み情報を推定することができる。
【００４５】
［実施例３］
実施例１及び実施例２では、全ての領域における形状画像データから平均画像データを算出し、形状の歪み情報を推定した。しかしながら、複数の領域にわたってキズなどを持っている場合では、必ずしも全ての領域の形状画像データを用いる必要はない。本実施例では、形状の歪みを推定する処理において、平均画像データを算出するために用いる形状画像データを選択する方法について、実施例１との差分について主に説明する。
【００４６】
以下、形状の歪みを推定する処理に関して、図１２のフローチャートを用いて説明する。
【００４７】
Ｓ１２０１において、Ｓ３０１で取得した領域ごとの形状画像データから、平均値を算出するために用いる形状画像データをユーザインターフェース（ＵＩ）画面から設定する。図１３にＳ１２０１で用いるＵＩ画面の一例を示す。１３０１は画像表示部であり、Ｓ３０１で取得した領域ごとの形状画像データを領域の順番に表示する。１３０２はポインタであり、平均値を算出するために用いる形状画像データを指定する。１３０３は終了判定部であり、ポインタ１３０２で押下されると、ポインタ１３０２で指定された領域の形状画像データが参照画像群Ａとして設定される。
【００４８】
Ｓ１２０２において、Ｓ１２０１で設定された参照画像群Ａに含まれる形状画像データの座標を未加工時の形状画像データの中心座標からの相対座標に変換する。尚、座標の変換方法は式（１）と同様であるため説明を省略する。
【００４９】
Ｓ１２０３において、式（１５）が示すように、参照画像群Ａに含まれる形状画像データについて、変換後の相対座標上での同一座標の画素値を平均し、平均画像データの画素値Ｉａｖｅを算出する。
【００５０】
【数７】
2018060521.tif 000009
【００５１】
Ｓ１２０４は、実施例１のＳ５０３と同様であるため説明を省略する。
【００５２】
本実施例によれば、領域ごとの形状画像データの中で、形状の歪み情報に関連する画像データのみを用いることにより、形状の歪み情報を推定することができる。
【００５３】
［実施例４］
実施例１乃至実施例３では、複数の領域の平均画像データを用いて形状画像データに含まれる形状の歪み情報を推定する方法について述べた。しかしながら、領域数が極端に少ない場合や、領域ごとに対象物（被写体）が持つ形状が大きく異なる場合においては、平均画像データを生成しても、形状の歪みを高精度に低減できない場合がある。本実施例では、形状が既知であるサンプルで生成した形状の歪み情報と、複数の形状画像データから推定した形状の歪み情報とのいずれかを選択して形状の歪み補正を行う方法について、実施例１との差異について主に説明する。
【００５４】
以下、本実施例で実行される処理に関して、図１４のフローチャートを用いて説明する。
【００５５】
Ｓ１４０１は実施例１のＳ３０１と同様であるため説明を省略する。Ｓ１４０２において、推定部２０３は、第１外部記憶装置２０７から形状の歪み情報を取得するかについて、ＵＩ画面を介して判定する。図１５は、Ｓ１４０２で用いるＵＩ画面の一例である。ポインタ１５０３によりラジオボタン１５０１にチェックが付けられ、終了判定部１５０４が押下された場合、第１外部記憶装置２０７から形状の歪み情報を取得すると判断され、Ｓ１４０３に進む。ポインタ１５０３によりラジオボタン１５０２にチェックが付けられ、終了判定部１５０４が押下された場合、Ｓ１４０４に進む。
【００５６】
Ｓ１４０３において、第１外部記憶装置２０７から歪み画像データを取得する。尚、本実施例において、外部記憶装置に記録されている歪み画像データは、被写体の撮像と同じ環境下で平滑な面を撮像して得られる形状画像データを用いることとする。Ｓ１４０４乃至Ｓ１４０６は実施例１のＳ３０２乃至Ｓ３０４と同様であるため説明を省略する。
【００５７】
本実施例によれば、形状が既知のサンプルから取得した形状の歪み情報と、形状画像データから推定された形状の歪み情報とのいずれかを選択して用いることにより、歪み除去の精度を向上することができる。
【００５８】
［その他の実施例］
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５９】
１  画像処理装置
２０１  取得部
２０２  推定部
２０３  補正部
２０４  合成部
【図１】
2018060521.tif 000010
【図２】
2018060521.tif 000011
【図３】
2018060521.tif 000012
【図４】
2018060521.tif 000013
【図５】
2018060521.tif 000014
【図６】
2018060521.tif 000015
【図７】
2018060521.tif 000016
【図８】
2018060521.tif 000017
【図９】
2018060521.tif 000018
【図１０】
2018060521.tif 000019
【図１１】
2018060521.tif 000020
【図１２】
2018060521.tif 000021
【図１３】
2018060521.tif 000022
【図１４】
2018060521.tif 000023
【図１５】
2018060521.tif 000024
【図１６】
2018060521.tif 000025