画像処理装置およびその方法
【課題】 分割撮影した画像を結合する場合に、結合画像の全体における照明むらを低減し、画像の間の重複領域における不自然なつなぎ目を抑制する。
【解決手段】 入力部302は、同一照明下において、被写体を分割撮影した複数の画像データ、および、補正用チャートを撮影した補正用の画像データを入力する。むら補正部303は、補正用の画像データから、複数の画像データの輝度むらを補正するための補正係数を算出し、補正係数により複数の画像データの輝度むらを補正する。制御部306は、分割撮影に用いた撮影装置が複数の画像データそれぞれを撮影した際の撮影方向を示す情報を取得する。画像射影部305は、撮影方向を示す情報に基づき、輝度むらを補正した複数の画像データを結合して、被写体の全体の画像を表す画像データを生成する。
【解決手段】 入力部302は、同一照明下において、被写体を分割撮影した複数の画像データ、および、補正用チャートを撮影した補正用の画像データを入力する。むら補正部303は、補正用の画像データから、複数の画像データの輝度むらを補正するための補正係数を算出し、補正係数により複数の画像データの輝度むらを補正する。制御部306は、分割撮影に用いた撮影装置が複数の画像データそれぞれを撮影した際の撮影方向を示す情報を取得する。画像射影部305は、撮影方向を示す情報に基づき、輝度むらを補正した複数の画像データを結合して、被写体の全体の画像を表す画像データを生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、被写体を分割撮影して、被写体の全体の画像を表す画像データを生成する画像処理に関する。
【背景技術】
【0002】
被写体の高解像度画像を得る方法として、被写体を複数の領域に分けて分割撮影し、分割撮影した画像を結合して、非常に高解像度の画像を生成するシステムが注目されている。
【0003】
分割撮影した画像を結合する方法として、各撮影画像が互いに重なる重複領域を抽出し、重複領域に基づき複数の画像を貼り合わせる方法がある。このような結合を行う場合、撮影画像がむらを含むと良好な結合結果が得られない。
【0004】
撮影画像が含む「むら」には、被写体に対する照明光が不均一なために発生する「照明むら」と、レンズ特性に起因して撮影画像の中央部に比べて周辺部が暗くなる「周辺減光むら」の大きく二つのむらがある。照明むらは、被写体のサイズが特に大きい場合に発生し易く、照明むらが大きい照明下において撮影した画像を結合すれば輝度のむらが大きい画像が得られる。また、周辺減光むらは、撮影画像単位に発生するため、各撮影画像の間の重複領域において輝度差が生じ、画像間のつなぎ目が不自然になる。
【0005】
特許文献1は、複数の撮影画像を合成する際、各撮影画像の周辺減光むらを補正して、画像間において自然なつなぎ目を得る方法を提案する。また、複数の撮影画像の照明むらを補正するわけではないが、特許文献2は、カラーチャートと照明むら補正用チャートを同一照明下で撮影して、カラーチャートの照明むらを除去することで、高精度な色処理パラメータを算出する方法を提案する。
【0006】
しかし、特許文献1が提案する手法は、周辺減光むらを補正するための係数を画像面座標の既知関数の線形結合として表現し、線形結合定数を統計的手段によって計算する。しかし、この手法によれば、画像間の自然なつなぎ目を得るために各撮影画像の周辺減光むらが補正されるが、結合後の画像全体に残る照明むらまでを補正することはできない。
【0007】
また、特許文献2が提案する手法は、照明むら補正用チャートの実撮影データを用いて実際の撮影画像に生じる照明むらを補正する。しかし、分割撮影画像の合成への適用を前提にしないため、照明むら補正用チャートの複数の撮影画像から照明むらを補正することに関する記述はない。従って、特許文献2が提案する手法だけでは、複数の撮影画像を合成する場合の照明むらの補正は達成されない。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2004-139219公報
【特許文献2】特開2007-081580公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明は、分割撮影した画像を結合する場合に、結合画像の全体における照明むらを低減し、画像の間の重複領域における不自然なつなぎ目を抑制することを目的とする。
【課題を解決するための手段】
【0010】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【0011】
本発明にかかる画像処理は、同一照明下において、被写体を分割撮影した複数の画像データ、および、補正用チャートを撮影した補正用の画像データを入力し、前記補正用の画像データから、前記複数の画像データの輝度むらを補正するための補正係数を算出し、前記補正係数により前記複数の画像データの輝度むらを補正し、前記分割撮影に用いた撮影装置が前記複数の画像データそれぞれを撮影した際の撮影方向を示す情報を取得し、前記撮影方向を示す情報に基づき、前記輝度むらを補正した複数の画像データを結合して、前記被写体の全体の画像を表す画像データを生成することを特徴とする。
【発明の効果】
【0012】
本発明によれば、分割撮影した画像を結合する場合に、結合画像の全体における照明むらを低減し、画像の間の重複領域における不自然なつなぎ目を抑制することができる。
【図面の簡単な説明】
【0013】
【図1】実施例の撮影システムの概要を説明する図。
【図2】撮影システムの構成例を説明するブロック図。
【図3】結合処理の概要を説明する図。
【図4】射影後画像の一例を示す図。
【図5】結合処理の一例を説明するフローチャート。
【図6】UIの一例を示す図。
【図7】むら補正部の処理を説明するフローチャート。
【図8】撮影方向推定部の処理を説明するフローチャート。
【図9】画像データの選択順の一例を説明する図。
【図10】評価値算出部の評価値の算出方法を説明する図。
【図11】実施例2の結合処理の一例を説明するフローチャート。
【図12】UIの一例を示す図。
【発明を実施するための形態】
【0014】
以下、本発明にかかる実施例の画像処理を図面を参照して詳細に説明する。
【実施例1】
【0015】
[撮影システムの概要]
図1により実施例の撮影システムの概要を説明する。
【0016】
撮影装置本体であるカメラ101は電動雲台201に取り付けられ、カメラ101をパン、チルトして撮像光学系の光軸の向き(以下、撮影方向)を変更して被写体501を撮影可能である。画像処理装置301は、カメラ101の動作および電動雲台201の動作を制御し、モニタ401に例えばカメラ101が捕捉した画像を表示する。また、画像処理装置301は、撮影によって得た複数の画像(以下、画像群)を結合処理し、被写体501の高解像度画像を生成する。
【0017】
被写体501は、幅W、高さHのサイズを有し、カメラ101から距離Lの位置に設置されている。また、むら補正用チャート601は、被写体501のサイズ以上のサイズを有し、その表面は均一な例えば白色面である。
【0018】
[撮影システムの構成]
図2のブロック図により撮影システムの構成例を説明する。
【0019】
カメラ101は、被写体501からの光を撮影光学系102を介してCCDやCMOSセンサなどの撮像デバイス103上に結像する。信号処理部104は、撮像デバイス103から出力されるアナログ電気信号に所定の処理を施してディジタル画像データを生成し、ディジタル画像データを記憶部105に格納する。LCDなどの表示部106は、撮影または記憶部105に格納された画像データが表す画像を表示する。制御部107は、シャッタボタンなどを有する操作部108の操作や外部から入力される制御信号に応じて、カメラ101の動作を制御する。
【0020】
電動雲台201の制御部204は、外部から入力される制御信号に従いモータドライバ203を制御して、ステッピングモータ202の回転制御する。これにより、カメラ101のパンやチルトが実現される。
【0021】
画像処理装置301の入力部302は、例えばUSBやIEEE1394などのシリアルバス402を介してカメラ101の記憶部105に格納された画像データを入力する。出力部312は、結合結果の画像データ(以下、結合画像データ)を記録メディアやネットワークに接続されたサーバ装置などに出力する。
【0022】
むら補正部303は、被写体501の撮影画像に生じたむらを補正する。画像補正部304は、分割撮影された画像を補正する。画像射影部305は、分割撮影された画像を平面に射影する。
【0023】
制御部306は、システムバス313を介して他の構成を制御する。さらに、シリアルバスや有線または無線シリアル通信線403、404を介してカメラ101に対する撮影指示や電動雲台201の回転角度指示を示す制御信号を出力し、その制御情報をメモリ311の所定領域に格納する。
【0024】
表示部307は、モニタ401に供給する画像信号を生成する。評価値算出部308は、分割撮影画像の間の重複領域の評価値を算出する。撮影方向推定部309は、最適な撮影方向を推定する。ユーザインタフェイス(UI)部310は、画像結合処理に必要な指示を得るためのUIを生成する。RAMなどのメモリ311は、画像データなど各種データ、演算処理の途中経過、上記制御情報などを格納するためのメモリである。
【0025】
詳細は後述するが、画像処理装置301は、カメラ101および電動雲台201を制御して、被写体501とむら補正用チャート601を複数の領域に分けて分割撮影する。その際、制御部306は、撮影画像と隣接する撮影画像の間に重複領域が存在するように電動雲台201を制御し、被写体501とむら補正用チャート601の撮影におけるカメラ101の撮影条件、電動雲台201の回転角度が同一になるように制御を行う。なお、被写体501とむら補正用チャート601の撮影における照明光についても同一条件にする必要がある。言い換えれば、同一照明下において被写体501とむら補正用チャート601を撮影する必要がある。
【0026】
そして、むら補正部303は、むら補正用チャート601の撮影画像からむら補正用の係数を算出する。画像補正部304は、被写体501の撮影画像のむらを補正する。画像射影部305は、被写体501のむら補正後の分割撮影画像を結合して、結合結果の画像(以下、結合画像)全体でむらがない、かつ、分割撮影画像の間の重複領域に不自然なつなぎ目がない高解像度画像を生成する。
【0027】
[結合処理]
●結合処理の概要
図3により結合処理の概要を説明する。なお、以下では、説明を簡単にするために、被写体は絵画のように平面で近似することができるとし、被写体を近似した面を「被写体面」と呼ぶ。また、予め被写体の形状が分かっている場合は、被写体の形状に合わせた被写体面を構成することで、実施例の結合処理が適用可能である。
【0028】
被写体を平面と仮定すると、図3(a)に示すような、仮想三次元空間上に被写体を想定した被写体面1301を設定し、被写体面1301上に撮影画像を射影することで画像を配置することができる。図3(a)には、被写体面1301と再構成平面1302を平行に描くが、必ずしも平行である必要はない。図3(b)は、説明を簡単にするために、三次元空間をZ軸方向から見た様子を示す。配置した撮影画像と被写体面1301の角度は、撮影時のカメラ101の位置によって決まる。
【0029】
例えば位置Aから被写体を狙い、ファインダの中心にピントが合うように撮影を行う場合、撮影レンズの画角θから、図3(b)に示す仮想ピント面Faを設定することができる。ここで、仮想ピント面Faは、カメラ101によってピントを合わせた平面であり、カメラ101から被写体を見た光景のうち、仮想ピント面Faを含む領域が撮影画像に写ることになる。この場合、撮影方向が線Aによって示されるカメラ101は被写体面1301に正対しないため、実際に撮影画像に写る被写体の範囲は撮影範囲Raになる。
【0030】
そこで、図3に示す再構成平面1302を設定し、被写体から無限遠の位置、かつ、視線方向を再構成平面1302に正対した方向とするような視点からの被写体像を得るパース補正処理を施して、これを並置することで結合画像を得る。以後、このようにして得た画像を「射影後画像」と呼ぶ。例えば説明を簡単にするために、レンズによる歪みが無いと仮定した場合、再構成平面1302上の点Pa'は、位置Aにあるカメラ101と被写体の距離や撮影時の画角θから、被写体面1301上の点Paに相当する。つまり、点Paの画素値と点Pa'の画素値は一致する筈であるが、撮影によって得られる画像データは、ディジタル化されたビットマップデータであり、点Paの座標値は必ずしも整数値になるとは言えない。そこで、点Paの座標値が整数値にならない場合は、近傍画素の補間処理により点Pa'の画素値を算出する。
【0031】
図4により射影後画像の一例を示す。図4(a)は、被写体をX方向に五分割撮影、Y方向に三分割撮影した計15枚の分割撮影画像の射影後画像を示す。射影後画像の間には重複領域1303が生じる。
【0032】
図4(b)は、被写体の反射特性が全体に亘り均一(例えば被写体が均一な白色面)であり、かつ、撮影画像に周辺減光むらがない場合に、撮影時の照明むらによって撮影画像に発生する輝度むら例を示す。つまり、撮影画像1401の方向から照明が照射されていた場合に画像1401、1402、1403に生じる照明むらを示している。図4(b)に示すように、照明むらがある場合、画像1401、1402、1403の順に画像の輝度が低下するため、結合後の画像も照明むらを有する画像になる。
【0033】
図4(c)は、被写体が均一な白色面であり、かつ、撮影画像に照明むらが発生しない場合に、、レンズ特性に応じて撮影画像に発生する周辺減光むら例を示す。つまり、撮影画像1404、1405、1406それぞれの中央部に比べて周辺部の輝度が低下する輝度むらが発生し、重複領域1303において輝度の不連続が発生する。
【0034】
このような撮影画像の照明むらと周辺減光むらを補正して、補正後の画像を結合することで、結合画像全体で照明むらを含まず、かつ、画像の間のつなぎ目が良好な結合結果を得る必要がある。また、結合を実施する際は、重複領域1303の誤差を最小化するために、三次元空間上に配置した撮影画像の相対位置を直接変更するのではなく、最適な撮影方向を推定して結合処理を行う必要がある。
【0035】
●結合処理フロー
図5のフローチャートにより結合処理の一例を説明する。なお、図5に示す処理は、制御部306の制御によって実行される。
【0036】
制御部306は、UI部310と表示部307を制御して、撮影画像の結合操作用のUIをモニタ401に表示する(S11)。図6によりUIの一例を示す。制御部306は、ユーザが「撮影画像読込」ボタン1101を押すと(S12)、入力部302を制御してカメラ101の記憶部105から画像データを入力し、入力した画像データをメモリ311の所定領域に格納する(S13)。なお、入力される画像データは、被写体501を分割撮影した複数の画像データと、むら補正用チャート601を分割撮影した補正用の複数の画像データである。
【0037】
制御部306は、ユーザが「むら補正実行」ボタン1102を押すと(S14)、むら補正部303を制御して、詳細は後述するが被写体501の分割撮影画像データにむら補正処理を施し、補正後の画像データをメモリ311の所定領域に格納する(S15)。
【0038】
次に、制御部306は、入力した画像データを分割撮影した際の電動雲台201の制御情報をメモリ311から取得し、制御情報を撮影方向推定部309を供給して、撮影方向推定部309から撮影方向の情報を取得する(S16)。
【0039】
次に、制御部306は、画像射影部305を制御して、メモリ311に格納した被写体501の分割撮影画像データが表す画像を、撮影方向の情報に応じて、再構成平面1302に射影する(S17)。なお、射影後画像はUIのウィンドウ1105に表示される。
【0040】
制御部306は、ユーザが「合成実行」ボタン1104を押すと(S18)、撮影方向推定部309を制御して、最適な撮影方向を推定する(S19)。そして、画像射影部305を制御して、メモリ311に格納した被写体501の分割撮影画像データが表す画像を、最適な撮影方向の推定結果に応じて、再構成平面1302に射影する(S20)。なお、射影後画像はUIのウィンドウ1105に表示される。
【0041】
次に、制御部306は、ユーザが押したボタンを判定し(S21)、「合成実行」ボタン1104が押された場合は処理をステップS19に戻す。また、「OK」ボタン1106が押された場合はユーザが所望する射影後画像が得られたと判断して、出力部312を制御して、射影後画像の画像データをユーザが指定する出力先に出力し(S22)、合成処理を終了する。なお、ユーザは、合成処理を再実行する場合、例えばUIの合成モード選択部1103の選択を変更した後「合成実行」ボタン1104を押す。
【0042】
●むら補正部
図7のフローチャートによりむら補正部303の処理(S15)を説明する。
【0043】
むら補正部303は、むら補正用チャート601の分割撮影画像データをメモリ311から取得し(S31)、むら補正用チャート601に付いた傷や汚れを除去するためのフィルタ処理を、取得した分割撮影画像データに施す(S32)。このフィルタ処理には、例えば5×5のメディアンフィルタを用いるが、移動平均フィルタ、加重平均フィルタ、ガウシアンフィルタなどを用いてもよい。
【0044】
次に、むら補正部303は、むら補正用チャート601のフィルタ処理後の撮影画像データ全体のRGB値の平均値Rave、Gave、Baveを算出して、これをむら補正基準値にする(S33)。なお、むら補正基準値として、撮影画像全体のRGB値の最大値、中央値、最頻値など他の統計値を用いてもよい。
【0045】
次に、むら補正部303は、むら補正用チャート601のフィルタ処理後の撮影画像データ、および、むら補正基準値から下式によりむら補正係数を算出する(S34)。つまり、むら補正部303は、被写体501の分割撮影画像データの各点のRGB値をむら補正基準値に近付けるむら補正係数を算出する。
Rk(n, x, y) = Rave/Rcht(n, x, y)
Gk(n, x, y) = Gave/Gcht(n, x, y) …(1)
Bk(n, x, y) = Bave/Gcht(n, x, y)
ここで、(n, x, y)はn番目に撮影された画像データの点(x, y)を示す、
XkはX色成分のむら補正係数、
Xchtはむら補正用チャート601の撮影画像データのX色成分の値、
XはR、GまたはB。
【0046】
次に、むら補正部303は、メモリ311から例えば撮影順に被写体501の分割撮影画像データの一つ取得し(S35)、下式により、取得した画像データにむら補正処理を施す(S36)。
Ro(n, x, y) = Rk(n, x, y)×Ri(n, x, y)
Go(n, x, y) = Gk(n, x, y)×Gi(n, x, y) …(2)
Bo(n, x, y) = Bk(n, x, y)×Bi(n, x, y)
ここで、XiはX色成分のむら補正前の値、
XoはX色成分のむら補正後の値。
【0047】
次に、むら補正部303は、むら補正処理後の画像データをメモリ311の所定領域に格納する(S37)。そして、ステップS38の判定により、被写体501の分割撮影画像データすべてにむら補正処理を施すまで、ステップS35からS37の処理を繰り返す。
【0048】
●撮影方向推定部
制御部306の制御情報どおりに撮影方向が設定された場合、撮影方向の推定は不要である。しかし、制御情報と実際の撮影方向の間には、カメラ101と被写体501の設置誤差、電動雲台201の制御誤差に起因する誤差などが存在する。そこで、撮影方向推定部309は、正しい撮影方向を推定するために、撮影方向を少しずつ変更し、撮影画像の間の重複領域の誤差を最小にする撮影方向を推定する。
【0049】
撮影方向の推定には、カメラ101の回転と傾きのずれについて解を探索する必要があるが、広い領域から解を探索すれば演算負荷が大きい。そこで、探索領域を分割して、解を探索する領域を絞り込み、探索領域が充分に小さくなった後、最適解を探索することで撮影方向の探索の高速化を図る。
【0050】
図8のフローチャートにより撮影方向推定部309の処理(S19)を説明する。撮影方向推定部309は、被写体501の分割撮影画像データから一つの基準画像データを決定する(S41)。例えばホームポジションで撮影された画像データを基準画像データにすればよい。また、電動雲台201の制御情報から各画像データの撮影距離を取得し、撮影距離が最小の画像データを基準画像データとしてもよい。
【0051】
次に、撮影方向推定部309は、被写体501の分割撮影画像データから撮影方向の推定処理を行う画像データ(以下、推定対象画像データ)を選択する(S42)。図9により画像データの選択順の一例を説明する。例えば、画像8が基準画像データである場合、その中心が画像8の中心に近い順に画像を選択して、選択した画像の画像データを推定対象画像データにする。図9に示す例では、画像8、画像7、画像9、画像11、画像5、画像10、画像12、…の順に画像データが選択される。
【0052】
次に、撮影方向推定部309は、カウンタiに初期値(例えば5)を設定し(S44)、UI(図6参照)の合成モード選択部1103のラジオボタンの選択に応じて、撮影方向を探索する範囲(以下、探索範囲)の初期値を設定する(S45)。合成モード選択部1103において「高精度」が選択されている場合はカメラ101のパンとチルトのずれの範囲として例えば±0.1を初期の探索範囲に設定する。また「標準精度」が選択されている場合は例えば±0.2を、「ドラフト」が選択されている場合は例えば±0.4を初期の探索範囲に設定する。
【0053】
次に、撮影方向推定部309は、探索範囲を小領域(例えば24×24)に分割し(S46)、各小領域(つまりカメラ101のパンとチルトのずれ)に対応する重複領域の一致度を示す評価値を算出する(S47)。なお、詳細は後述するが、評価値算出部308により、射影処理(S15)の結果生じる、推定対象画像データの画像とその周囲の画像の重複領域について一致度を評価するための評価値を算出する。
【0054】
そして、撮影方向推定部309は、評価値が最小を示す小領域を抽出し(S48)、カウンタiをデクリメントする(S49)。そして、カウンタiの値を判定して(S50)、カウンタiが零に達していない(i>0)場合は評価値が最小を示す小領域を中心として探索範囲を縮小し(S51)、処理をステップS46に戻す。なお、探索範囲の縮小率は例えば1/2や1/4などにする。つまり、探索範囲の縮小と評価値が最小の小領域の抽出までの処理をカウンタiに初期設定した回数、繰り返す。
【0055】
カウンタiが零に達すると(i=0)、撮影方向推定部309は、抽出した小領域における撮影方向の最適解を遺伝的アルゴリズムを用いて探索する(S52)。そして、探索結果(推定結果)の撮影方向を推定対象画像データの撮影方向としてメモリ311の所定領域に格納する(S53)。なお、最適解の探索にニューラルネットワークを用いても構わない。勿論、領域分割により探索領域を狭めてから探索処理を行わずに、初期の探索範囲から総当りで最適解を探索してもよい。
【0056】
次に、撮影方向推定部309は、分割撮影画像データすべてについて撮影方向の推定が完了したか否かを判定し(S54)、未了の場合は処理をステップS42に戻し、次の推定対象画像データについてステップS44からS53の処理を繰り返す。また、分割撮影画像データすべてについて撮影方向の推定が完了した場合は撮影方向の推定処理を終了する。
【0057】
●評価値算出部
図10により評価値算出部308の評価値の算出方法を説明する。
【0058】
図10(a)に示すように、二つの射影後画像1001、1002が配置されたとする。これら画像は、撮影方向の微妙なずれやパースの影響を受けて再構成平面1302上に射影されるため、画像1001、1002の画素の中心位置が一致しない可能性が高い。さらに、画素サイズ(言い換えれば、隣接する画素間の中心間距離)が異なる場合もある。
【0059】
そこで、評価値算出部308は、図10(b)に示すように、画像1001と1002の間に仮想重複領域1003を設定する。同一の再構成平面1302上に射影されている画像1001、1002の間に、図10(b)に示すような空間はないが、仮想重複領域1003を設定することで、微妙にずれた画素を比較することが可能になる。仮想重複領域1003の解像度は、任意に設定可能であるが、画像1001と1002の画素サイズの平均になるような解像度に設定する。
【0060】
図10(b)において、仮想重複領域1003上の画素Pに対応する画像1001上の座標をPA、画像1002上の座標をPBとする。座標PAとPBは、各画像上の画素の中心からずれた位置に存在するため、評価値算出部308は、近傍画素の補間処理により座標PAとPBの画素値を算出する。図10(b)に示す例では、四つの近傍画素を用いてバイリニア補間により画素値を決定する。さらに、参照する近傍画素を増やしてバイキュービック補間などを行ってもよい。
【0061】
次に、評価値算出部308は、算出した座標PA、PBの画素値の差を、仮想重複領域1003上の画素Pの誤差量に決定する。評価値算出部308は、仮想重複領域1003の全画素について、誤差量を算出し、それらの平均二乗誤差MSE (mean square error)を重複領域の一致度を示す評価値にする。
【0062】
●むら補正基準値の別の算出方法
上記においては、むら補正用チャート601全体を参照してむら補正係数の算出に必要なむら補正基準値を算出する例を説明したが、より簡易にむら補正基準値を算出してもよい。例えば、むら補正用チャート601の分割撮影画像データから最大画素値を含む画像データと最小画素値を含む画像データを利用してむら補正基準値を算出する。
【0063】
むら補正部303は、ステップS33において、むら補正用チャート601のフィルタ処理後の撮影画像データから最大画素値Vpmaxを有する画像データ、および、最小画素値Vpminを有す画像データをそれぞれ一つ取得する。そして、取得した画像データのRGB値の平均値Rave、Gave、Baveを算出して、これをむら補正基準値にする。なお、画素値Vpは次式によって算出するか、G値を画素値Vpとしてもよい。
Vp = √(R2 + G2 + B2) …(3)
【0064】
また、分割撮影画像データそれぞれの平均輝度値を算出し、平均輝度値が上位の複数の画像データと、平均輝度値が下位の複数の画像データからむら補正基準値を算出してもよい。
【0065】
●むら補正係数の別の算出方法
上記では、被写体501と同サイズ(またはより大きい)のむら補正用チャート601を準備することを前提にした。しかし、被写体501のサイズによっては、そのようなサイズのむら補正用チャート601を準備することができない場合もある。そこで、撮影レンズの画角一杯に写る、画角よりもやや大きいサイズ(以下、最小サイズ)のむら補正用チャート601を準備し、所定位置に配置したむら補正用チャート601の撮影画像データから、任意位置におけるむら補正係数を線形補間する。
【0066】
最小サイズのむら補正用チャート601を配置する位置は、例えば、被写体501の配置領域の四隅(左上、右上、左下および右下の各位置)に相当する四箇所などが考えられる。しかし、被写体501の配置領域であれば、当該領域の任意箇所に最小サイズのむら補正用チャート601を配置することができる。
【0067】
画像処理装置301は、カメラ101および電動雲台201を制御して、被写体501を複数の領域に分けて分割撮影する。また、被写体501の四隅に配置した最小サイズのむら補正用チャート601を撮影する。その際、被写体501と最小サイズのむら補正用チャート601の撮影における照明光について同一条件にする必要がある。
【0068】
むら補正部303は、ステップS33において、最小サイズのむら補正用チャート601のフィルタ処理後の撮影画像データのRGB値の平均値Rave、Gave、Baveを算出して、これをむら補正基準値にする。
【0069】
次に、むら補正部303は、ステップS34において、最小サイズのむら補正用チャート601のフィルタ処理後の撮影画像データ、および、むら補正基準値から式(1)によりむら補正係数を算出する。なお、各むら補正用チャート601から算出されるむら補正係数を次のように表す。
左上配置の補正用チャート:Xk(Lt, x, y)、
右上配置の補正用チャート:Xk(Rt, x, y)、
左下配置の補正用チャート:Xk(Lb, x, y)、
右下配置の補正用チャート:Xk(Rb, x, y)、
ここで、XはR、GまたはB。
【0070】
さらに、むら補正部303は、ステップS34において、各むら補正用チャート601のむら補正係数から任意位置のむら補正係数を下式により算出する。
Xk(i, j, x, y) = (i-1)/(Nx-1)×{H1×Xk(Rb, x, y) + H2×Xk(Rt, x, y)}
+ (Nx-i)/(Nx-1)×{H1×Xk(Lb, x, y) + H2×Xk(Lt, x, y)} …(4)
ここで、(i, j)は左上の分割撮影画像を原点(1, 1)とする各分割画像の位置、
(i, j)=(Nx, Ny)は右下の分割撮影画像の位置、
H1 = (j - 1)/(Ny - 1)、
H2 = (Ny - j)/(Ny - 1)、
XはR、GまたはB。
【0071】
この算出方法によれば、被写体501と同サイズのむら補正用チャート601が準備できない場合も、任意位置のむら補正係数を算出することができる。
【0072】
このように、分割撮影画像データにおける照明むらと周辺減光むらを補正し、補正後の分割撮影画像データを結合する。従って、結合画像の全体において照明むらがない、かつ、分割撮影画像の間の重複領域に不自然なつなぎ目がない高解像度画像を生成することができる。
【実施例2】
【0073】
以下、本発明にかかる実施例2の画像処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【0074】
例えば太陽光の下での撮影など、被写体501を分割撮影する途中で照明の光量が大きく変化すると、分割撮影画像の間の重複領域における輝度差が大きくなり良好な結合結果が得られない場合がある。実施例2においては、分割撮影画像の間の輝度差が大きい場合にも良好な結合結果を得る方法を説明する。
【0075】
図11のフローチャートにより実施例2の結合処理の一例を説明する。なお、図11に示す処理は、制御部306の制御によって実行される。なお、ステップS11からS22の処理は実施例1と略同様であり、その詳細説明を省略する。
【0076】
制御部306は、ステップS20において射影後画像はUIのウィンドウ1105に表示した後、ステップS19における撮影方向の推定結果に対する重複領域の一致度を示す評価値を評価値算出部308に算出させる(S101)。そして、算出された評価値と所定の閾値を比較して(S102)、評価値が閾値以上(一致度が低い)場合はユーザにその旨を警告する(S103)。
【0077】
警告が発せられた場合、ユーザは、ウィンドウ1105に表示された画像を参照して所望する画像が得られていれば「OK」ボタン1106を押し、結合処理が終了する。一方、所望する画像が得られていない場合は、警告とともにUIに表示される修正対象画像の選択部1107を操作して修正すべき画像を選択した後、「合成実行」ボタン1104を押す。
【0078】
図12によりUIの一例を示す。ユーザは、結合が良好ではない画像に対応する修正対象画像の選択部1107のチェックボックスをチェックすることで修正対象画像を選択する。
【0079】
制御部306は、ユーザが押したボタンを判定し(S21)、「合成実行」ボタン1104が押された場合は警告を発したか否かに応じて処理を分岐する(S104)。警告を発していない場合は実施例1と同様に処理をステップS19に戻し、警告を発した場合は画像補正部304を制御して修正対象画像を補正し(S105)、その後、処理をステップS19に戻す。
【0080】
画像補正部304は、修正対象画像に例えばガンマ補正、明度補正、コントラスト補正などを施して、評価値算出部308が算出する修正対象画像の間の重複領域の一致度を示す評価値を零に近付ける。つまり、画像補正部304は、重複領域の一致度を示す評価値を零にするような係数を定め、修正対象画像を画像処理する。あるいは、重複領域を複数の小領域に分割し、各小領域において評価値を算出し、これら複数の評価値の和を最小になるような指数を算出して、修正対象画像をガンマ補正してもよい。また、複数の評価値の和を最小にするような行列式を作成し、行列式により修正対象画像を画像処理してもよい。
【0081】
[変形例]
上記では、撮影画像データの画素値からむら補正係数を算出する例を説明した。しかし、sRGBやAdobeRGBなど標準的なRGB空間の画像データであれば、画像データをCIELab値やCIEXYZ値などに変換して、CIELab値やCIEXYZ値などから補正係数を算出してもよい。なお、CIEXYZ値から得たむら補正係数を被写体の画像データに適用する場合、CIEXYZ値に変換した被写体の画像データにむら補正処理を施し、むら補正処理後のCIEXYZ値をRGB値に変換する。
【0082】
[その他の実施例]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、被写体を分割撮影して、被写体の全体の画像を表す画像データを生成する画像処理に関する。
【背景技術】
【0002】
被写体の高解像度画像を得る方法として、被写体を複数の領域に分けて分割撮影し、分割撮影した画像を結合して、非常に高解像度の画像を生成するシステムが注目されている。
【0003】
分割撮影した画像を結合する方法として、各撮影画像が互いに重なる重複領域を抽出し、重複領域に基づき複数の画像を貼り合わせる方法がある。このような結合を行う場合、撮影画像がむらを含むと良好な結合結果が得られない。
【0004】
撮影画像が含む「むら」には、被写体に対する照明光が不均一なために発生する「照明むら」と、レンズ特性に起因して撮影画像の中央部に比べて周辺部が暗くなる「周辺減光むら」の大きく二つのむらがある。照明むらは、被写体のサイズが特に大きい場合に発生し易く、照明むらが大きい照明下において撮影した画像を結合すれば輝度のむらが大きい画像が得られる。また、周辺減光むらは、撮影画像単位に発生するため、各撮影画像の間の重複領域において輝度差が生じ、画像間のつなぎ目が不自然になる。
【0005】
特許文献1は、複数の撮影画像を合成する際、各撮影画像の周辺減光むらを補正して、画像間において自然なつなぎ目を得る方法を提案する。また、複数の撮影画像の照明むらを補正するわけではないが、特許文献2は、カラーチャートと照明むら補正用チャートを同一照明下で撮影して、カラーチャートの照明むらを除去することで、高精度な色処理パラメータを算出する方法を提案する。
【0006】
しかし、特許文献1が提案する手法は、周辺減光むらを補正するための係数を画像面座標の既知関数の線形結合として表現し、線形結合定数を統計的手段によって計算する。しかし、この手法によれば、画像間の自然なつなぎ目を得るために各撮影画像の周辺減光むらが補正されるが、結合後の画像全体に残る照明むらまでを補正することはできない。
【0007】
また、特許文献2が提案する手法は、照明むら補正用チャートの実撮影データを用いて実際の撮影画像に生じる照明むらを補正する。しかし、分割撮影画像の合成への適用を前提にしないため、照明むら補正用チャートの複数の撮影画像から照明むらを補正することに関する記述はない。従って、特許文献2が提案する手法だけでは、複数の撮影画像を合成する場合の照明むらの補正は達成されない。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2004-139219公報
【特許文献2】特開2007-081580公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明は、分割撮影した画像を結合する場合に、結合画像の全体における照明むらを低減し、画像の間の重複領域における不自然なつなぎ目を抑制することを目的とする。
【課題を解決するための手段】
【0010】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【0011】
本発明にかかる画像処理は、同一照明下において、被写体を分割撮影した複数の画像データ、および、補正用チャートを撮影した補正用の画像データを入力し、前記補正用の画像データから、前記複数の画像データの輝度むらを補正するための補正係数を算出し、前記補正係数により前記複数の画像データの輝度むらを補正し、前記分割撮影に用いた撮影装置が前記複数の画像データそれぞれを撮影した際の撮影方向を示す情報を取得し、前記撮影方向を示す情報に基づき、前記輝度むらを補正した複数の画像データを結合して、前記被写体の全体の画像を表す画像データを生成することを特徴とする。
【発明の効果】
【0012】
本発明によれば、分割撮影した画像を結合する場合に、結合画像の全体における照明むらを低減し、画像の間の重複領域における不自然なつなぎ目を抑制することができる。
【図面の簡単な説明】
【0013】
【図1】実施例の撮影システムの概要を説明する図。
【図2】撮影システムの構成例を説明するブロック図。
【図3】結合処理の概要を説明する図。
【図4】射影後画像の一例を示す図。
【図5】結合処理の一例を説明するフローチャート。
【図6】UIの一例を示す図。
【図7】むら補正部の処理を説明するフローチャート。
【図8】撮影方向推定部の処理を説明するフローチャート。
【図9】画像データの選択順の一例を説明する図。
【図10】評価値算出部の評価値の算出方法を説明する図。
【図11】実施例2の結合処理の一例を説明するフローチャート。
【図12】UIの一例を示す図。
【発明を実施するための形態】
【0014】
以下、本発明にかかる実施例の画像処理を図面を参照して詳細に説明する。
【実施例1】
【0015】
[撮影システムの概要]
図1により実施例の撮影システムの概要を説明する。
【0016】
撮影装置本体であるカメラ101は電動雲台201に取り付けられ、カメラ101をパン、チルトして撮像光学系の光軸の向き(以下、撮影方向)を変更して被写体501を撮影可能である。画像処理装置301は、カメラ101の動作および電動雲台201の動作を制御し、モニタ401に例えばカメラ101が捕捉した画像を表示する。また、画像処理装置301は、撮影によって得た複数の画像(以下、画像群)を結合処理し、被写体501の高解像度画像を生成する。
【0017】
被写体501は、幅W、高さHのサイズを有し、カメラ101から距離Lの位置に設置されている。また、むら補正用チャート601は、被写体501のサイズ以上のサイズを有し、その表面は均一な例えば白色面である。
【0018】
[撮影システムの構成]
図2のブロック図により撮影システムの構成例を説明する。
【0019】
カメラ101は、被写体501からの光を撮影光学系102を介してCCDやCMOSセンサなどの撮像デバイス103上に結像する。信号処理部104は、撮像デバイス103から出力されるアナログ電気信号に所定の処理を施してディジタル画像データを生成し、ディジタル画像データを記憶部105に格納する。LCDなどの表示部106は、撮影または記憶部105に格納された画像データが表す画像を表示する。制御部107は、シャッタボタンなどを有する操作部108の操作や外部から入力される制御信号に応じて、カメラ101の動作を制御する。
【0020】
電動雲台201の制御部204は、外部から入力される制御信号に従いモータドライバ203を制御して、ステッピングモータ202の回転制御する。これにより、カメラ101のパンやチルトが実現される。
【0021】
画像処理装置301の入力部302は、例えばUSBやIEEE1394などのシリアルバス402を介してカメラ101の記憶部105に格納された画像データを入力する。出力部312は、結合結果の画像データ(以下、結合画像データ)を記録メディアやネットワークに接続されたサーバ装置などに出力する。
【0022】
むら補正部303は、被写体501の撮影画像に生じたむらを補正する。画像補正部304は、分割撮影された画像を補正する。画像射影部305は、分割撮影された画像を平面に射影する。
【0023】
制御部306は、システムバス313を介して他の構成を制御する。さらに、シリアルバスや有線または無線シリアル通信線403、404を介してカメラ101に対する撮影指示や電動雲台201の回転角度指示を示す制御信号を出力し、その制御情報をメモリ311の所定領域に格納する。
【0024】
表示部307は、モニタ401に供給する画像信号を生成する。評価値算出部308は、分割撮影画像の間の重複領域の評価値を算出する。撮影方向推定部309は、最適な撮影方向を推定する。ユーザインタフェイス(UI)部310は、画像結合処理に必要な指示を得るためのUIを生成する。RAMなどのメモリ311は、画像データなど各種データ、演算処理の途中経過、上記制御情報などを格納するためのメモリである。
【0025】
詳細は後述するが、画像処理装置301は、カメラ101および電動雲台201を制御して、被写体501とむら補正用チャート601を複数の領域に分けて分割撮影する。その際、制御部306は、撮影画像と隣接する撮影画像の間に重複領域が存在するように電動雲台201を制御し、被写体501とむら補正用チャート601の撮影におけるカメラ101の撮影条件、電動雲台201の回転角度が同一になるように制御を行う。なお、被写体501とむら補正用チャート601の撮影における照明光についても同一条件にする必要がある。言い換えれば、同一照明下において被写体501とむら補正用チャート601を撮影する必要がある。
【0026】
そして、むら補正部303は、むら補正用チャート601の撮影画像からむら補正用の係数を算出する。画像補正部304は、被写体501の撮影画像のむらを補正する。画像射影部305は、被写体501のむら補正後の分割撮影画像を結合して、結合結果の画像(以下、結合画像)全体でむらがない、かつ、分割撮影画像の間の重複領域に不自然なつなぎ目がない高解像度画像を生成する。
【0027】
[結合処理]
●結合処理の概要
図3により結合処理の概要を説明する。なお、以下では、説明を簡単にするために、被写体は絵画のように平面で近似することができるとし、被写体を近似した面を「被写体面」と呼ぶ。また、予め被写体の形状が分かっている場合は、被写体の形状に合わせた被写体面を構成することで、実施例の結合処理が適用可能である。
【0028】
被写体を平面と仮定すると、図3(a)に示すような、仮想三次元空間上に被写体を想定した被写体面1301を設定し、被写体面1301上に撮影画像を射影することで画像を配置することができる。図3(a)には、被写体面1301と再構成平面1302を平行に描くが、必ずしも平行である必要はない。図3(b)は、説明を簡単にするために、三次元空間をZ軸方向から見た様子を示す。配置した撮影画像と被写体面1301の角度は、撮影時のカメラ101の位置によって決まる。
【0029】
例えば位置Aから被写体を狙い、ファインダの中心にピントが合うように撮影を行う場合、撮影レンズの画角θから、図3(b)に示す仮想ピント面Faを設定することができる。ここで、仮想ピント面Faは、カメラ101によってピントを合わせた平面であり、カメラ101から被写体を見た光景のうち、仮想ピント面Faを含む領域が撮影画像に写ることになる。この場合、撮影方向が線Aによって示されるカメラ101は被写体面1301に正対しないため、実際に撮影画像に写る被写体の範囲は撮影範囲Raになる。
【0030】
そこで、図3に示す再構成平面1302を設定し、被写体から無限遠の位置、かつ、視線方向を再構成平面1302に正対した方向とするような視点からの被写体像を得るパース補正処理を施して、これを並置することで結合画像を得る。以後、このようにして得た画像を「射影後画像」と呼ぶ。例えば説明を簡単にするために、レンズによる歪みが無いと仮定した場合、再構成平面1302上の点Pa'は、位置Aにあるカメラ101と被写体の距離や撮影時の画角θから、被写体面1301上の点Paに相当する。つまり、点Paの画素値と点Pa'の画素値は一致する筈であるが、撮影によって得られる画像データは、ディジタル化されたビットマップデータであり、点Paの座標値は必ずしも整数値になるとは言えない。そこで、点Paの座標値が整数値にならない場合は、近傍画素の補間処理により点Pa'の画素値を算出する。
【0031】
図4により射影後画像の一例を示す。図4(a)は、被写体をX方向に五分割撮影、Y方向に三分割撮影した計15枚の分割撮影画像の射影後画像を示す。射影後画像の間には重複領域1303が生じる。
【0032】
図4(b)は、被写体の反射特性が全体に亘り均一(例えば被写体が均一な白色面)であり、かつ、撮影画像に周辺減光むらがない場合に、撮影時の照明むらによって撮影画像に発生する輝度むら例を示す。つまり、撮影画像1401の方向から照明が照射されていた場合に画像1401、1402、1403に生じる照明むらを示している。図4(b)に示すように、照明むらがある場合、画像1401、1402、1403の順に画像の輝度が低下するため、結合後の画像も照明むらを有する画像になる。
【0033】
図4(c)は、被写体が均一な白色面であり、かつ、撮影画像に照明むらが発生しない場合に、、レンズ特性に応じて撮影画像に発生する周辺減光むら例を示す。つまり、撮影画像1404、1405、1406それぞれの中央部に比べて周辺部の輝度が低下する輝度むらが発生し、重複領域1303において輝度の不連続が発生する。
【0034】
このような撮影画像の照明むらと周辺減光むらを補正して、補正後の画像を結合することで、結合画像全体で照明むらを含まず、かつ、画像の間のつなぎ目が良好な結合結果を得る必要がある。また、結合を実施する際は、重複領域1303の誤差を最小化するために、三次元空間上に配置した撮影画像の相対位置を直接変更するのではなく、最適な撮影方向を推定して結合処理を行う必要がある。
【0035】
●結合処理フロー
図5のフローチャートにより結合処理の一例を説明する。なお、図5に示す処理は、制御部306の制御によって実行される。
【0036】
制御部306は、UI部310と表示部307を制御して、撮影画像の結合操作用のUIをモニタ401に表示する(S11)。図6によりUIの一例を示す。制御部306は、ユーザが「撮影画像読込」ボタン1101を押すと(S12)、入力部302を制御してカメラ101の記憶部105から画像データを入力し、入力した画像データをメモリ311の所定領域に格納する(S13)。なお、入力される画像データは、被写体501を分割撮影した複数の画像データと、むら補正用チャート601を分割撮影した補正用の複数の画像データである。
【0037】
制御部306は、ユーザが「むら補正実行」ボタン1102を押すと(S14)、むら補正部303を制御して、詳細は後述するが被写体501の分割撮影画像データにむら補正処理を施し、補正後の画像データをメモリ311の所定領域に格納する(S15)。
【0038】
次に、制御部306は、入力した画像データを分割撮影した際の電動雲台201の制御情報をメモリ311から取得し、制御情報を撮影方向推定部309を供給して、撮影方向推定部309から撮影方向の情報を取得する(S16)。
【0039】
次に、制御部306は、画像射影部305を制御して、メモリ311に格納した被写体501の分割撮影画像データが表す画像を、撮影方向の情報に応じて、再構成平面1302に射影する(S17)。なお、射影後画像はUIのウィンドウ1105に表示される。
【0040】
制御部306は、ユーザが「合成実行」ボタン1104を押すと(S18)、撮影方向推定部309を制御して、最適な撮影方向を推定する(S19)。そして、画像射影部305を制御して、メモリ311に格納した被写体501の分割撮影画像データが表す画像を、最適な撮影方向の推定結果に応じて、再構成平面1302に射影する(S20)。なお、射影後画像はUIのウィンドウ1105に表示される。
【0041】
次に、制御部306は、ユーザが押したボタンを判定し(S21)、「合成実行」ボタン1104が押された場合は処理をステップS19に戻す。また、「OK」ボタン1106が押された場合はユーザが所望する射影後画像が得られたと判断して、出力部312を制御して、射影後画像の画像データをユーザが指定する出力先に出力し(S22)、合成処理を終了する。なお、ユーザは、合成処理を再実行する場合、例えばUIの合成モード選択部1103の選択を変更した後「合成実行」ボタン1104を押す。
【0042】
●むら補正部
図7のフローチャートによりむら補正部303の処理(S15)を説明する。
【0043】
むら補正部303は、むら補正用チャート601の分割撮影画像データをメモリ311から取得し(S31)、むら補正用チャート601に付いた傷や汚れを除去するためのフィルタ処理を、取得した分割撮影画像データに施す(S32)。このフィルタ処理には、例えば5×5のメディアンフィルタを用いるが、移動平均フィルタ、加重平均フィルタ、ガウシアンフィルタなどを用いてもよい。
【0044】
次に、むら補正部303は、むら補正用チャート601のフィルタ処理後の撮影画像データ全体のRGB値の平均値Rave、Gave、Baveを算出して、これをむら補正基準値にする(S33)。なお、むら補正基準値として、撮影画像全体のRGB値の最大値、中央値、最頻値など他の統計値を用いてもよい。
【0045】
次に、むら補正部303は、むら補正用チャート601のフィルタ処理後の撮影画像データ、および、むら補正基準値から下式によりむら補正係数を算出する(S34)。つまり、むら補正部303は、被写体501の分割撮影画像データの各点のRGB値をむら補正基準値に近付けるむら補正係数を算出する。
Rk(n, x, y) = Rave/Rcht(n, x, y)
Gk(n, x, y) = Gave/Gcht(n, x, y) …(1)
Bk(n, x, y) = Bave/Gcht(n, x, y)
ここで、(n, x, y)はn番目に撮影された画像データの点(x, y)を示す、
XkはX色成分のむら補正係数、
Xchtはむら補正用チャート601の撮影画像データのX色成分の値、
XはR、GまたはB。
【0046】
次に、むら補正部303は、メモリ311から例えば撮影順に被写体501の分割撮影画像データの一つ取得し(S35)、下式により、取得した画像データにむら補正処理を施す(S36)。
Ro(n, x, y) = Rk(n, x, y)×Ri(n, x, y)
Go(n, x, y) = Gk(n, x, y)×Gi(n, x, y) …(2)
Bo(n, x, y) = Bk(n, x, y)×Bi(n, x, y)
ここで、XiはX色成分のむら補正前の値、
XoはX色成分のむら補正後の値。
【0047】
次に、むら補正部303は、むら補正処理後の画像データをメモリ311の所定領域に格納する(S37)。そして、ステップS38の判定により、被写体501の分割撮影画像データすべてにむら補正処理を施すまで、ステップS35からS37の処理を繰り返す。
【0048】
●撮影方向推定部
制御部306の制御情報どおりに撮影方向が設定された場合、撮影方向の推定は不要である。しかし、制御情報と実際の撮影方向の間には、カメラ101と被写体501の設置誤差、電動雲台201の制御誤差に起因する誤差などが存在する。そこで、撮影方向推定部309は、正しい撮影方向を推定するために、撮影方向を少しずつ変更し、撮影画像の間の重複領域の誤差を最小にする撮影方向を推定する。
【0049】
撮影方向の推定には、カメラ101の回転と傾きのずれについて解を探索する必要があるが、広い領域から解を探索すれば演算負荷が大きい。そこで、探索領域を分割して、解を探索する領域を絞り込み、探索領域が充分に小さくなった後、最適解を探索することで撮影方向の探索の高速化を図る。
【0050】
図8のフローチャートにより撮影方向推定部309の処理(S19)を説明する。撮影方向推定部309は、被写体501の分割撮影画像データから一つの基準画像データを決定する(S41)。例えばホームポジションで撮影された画像データを基準画像データにすればよい。また、電動雲台201の制御情報から各画像データの撮影距離を取得し、撮影距離が最小の画像データを基準画像データとしてもよい。
【0051】
次に、撮影方向推定部309は、被写体501の分割撮影画像データから撮影方向の推定処理を行う画像データ(以下、推定対象画像データ)を選択する(S42)。図9により画像データの選択順の一例を説明する。例えば、画像8が基準画像データである場合、その中心が画像8の中心に近い順に画像を選択して、選択した画像の画像データを推定対象画像データにする。図9に示す例では、画像8、画像7、画像9、画像11、画像5、画像10、画像12、…の順に画像データが選択される。
【0052】
次に、撮影方向推定部309は、カウンタiに初期値(例えば5)を設定し(S44)、UI(図6参照)の合成モード選択部1103のラジオボタンの選択に応じて、撮影方向を探索する範囲(以下、探索範囲)の初期値を設定する(S45)。合成モード選択部1103において「高精度」が選択されている場合はカメラ101のパンとチルトのずれの範囲として例えば±0.1を初期の探索範囲に設定する。また「標準精度」が選択されている場合は例えば±0.2を、「ドラフト」が選択されている場合は例えば±0.4を初期の探索範囲に設定する。
【0053】
次に、撮影方向推定部309は、探索範囲を小領域(例えば24×24)に分割し(S46)、各小領域(つまりカメラ101のパンとチルトのずれ)に対応する重複領域の一致度を示す評価値を算出する(S47)。なお、詳細は後述するが、評価値算出部308により、射影処理(S15)の結果生じる、推定対象画像データの画像とその周囲の画像の重複領域について一致度を評価するための評価値を算出する。
【0054】
そして、撮影方向推定部309は、評価値が最小を示す小領域を抽出し(S48)、カウンタiをデクリメントする(S49)。そして、カウンタiの値を判定して(S50)、カウンタiが零に達していない(i>0)場合は評価値が最小を示す小領域を中心として探索範囲を縮小し(S51)、処理をステップS46に戻す。なお、探索範囲の縮小率は例えば1/2や1/4などにする。つまり、探索範囲の縮小と評価値が最小の小領域の抽出までの処理をカウンタiに初期設定した回数、繰り返す。
【0055】
カウンタiが零に達すると(i=0)、撮影方向推定部309は、抽出した小領域における撮影方向の最適解を遺伝的アルゴリズムを用いて探索する(S52)。そして、探索結果(推定結果)の撮影方向を推定対象画像データの撮影方向としてメモリ311の所定領域に格納する(S53)。なお、最適解の探索にニューラルネットワークを用いても構わない。勿論、領域分割により探索領域を狭めてから探索処理を行わずに、初期の探索範囲から総当りで最適解を探索してもよい。
【0056】
次に、撮影方向推定部309は、分割撮影画像データすべてについて撮影方向の推定が完了したか否かを判定し(S54)、未了の場合は処理をステップS42に戻し、次の推定対象画像データについてステップS44からS53の処理を繰り返す。また、分割撮影画像データすべてについて撮影方向の推定が完了した場合は撮影方向の推定処理を終了する。
【0057】
●評価値算出部
図10により評価値算出部308の評価値の算出方法を説明する。
【0058】
図10(a)に示すように、二つの射影後画像1001、1002が配置されたとする。これら画像は、撮影方向の微妙なずれやパースの影響を受けて再構成平面1302上に射影されるため、画像1001、1002の画素の中心位置が一致しない可能性が高い。さらに、画素サイズ(言い換えれば、隣接する画素間の中心間距離)が異なる場合もある。
【0059】
そこで、評価値算出部308は、図10(b)に示すように、画像1001と1002の間に仮想重複領域1003を設定する。同一の再構成平面1302上に射影されている画像1001、1002の間に、図10(b)に示すような空間はないが、仮想重複領域1003を設定することで、微妙にずれた画素を比較することが可能になる。仮想重複領域1003の解像度は、任意に設定可能であるが、画像1001と1002の画素サイズの平均になるような解像度に設定する。
【0060】
図10(b)において、仮想重複領域1003上の画素Pに対応する画像1001上の座標をPA、画像1002上の座標をPBとする。座標PAとPBは、各画像上の画素の中心からずれた位置に存在するため、評価値算出部308は、近傍画素の補間処理により座標PAとPBの画素値を算出する。図10(b)に示す例では、四つの近傍画素を用いてバイリニア補間により画素値を決定する。さらに、参照する近傍画素を増やしてバイキュービック補間などを行ってもよい。
【0061】
次に、評価値算出部308は、算出した座標PA、PBの画素値の差を、仮想重複領域1003上の画素Pの誤差量に決定する。評価値算出部308は、仮想重複領域1003の全画素について、誤差量を算出し、それらの平均二乗誤差MSE (mean square error)を重複領域の一致度を示す評価値にする。
【0062】
●むら補正基準値の別の算出方法
上記においては、むら補正用チャート601全体を参照してむら補正係数の算出に必要なむら補正基準値を算出する例を説明したが、より簡易にむら補正基準値を算出してもよい。例えば、むら補正用チャート601の分割撮影画像データから最大画素値を含む画像データと最小画素値を含む画像データを利用してむら補正基準値を算出する。
【0063】
むら補正部303は、ステップS33において、むら補正用チャート601のフィルタ処理後の撮影画像データから最大画素値Vpmaxを有する画像データ、および、最小画素値Vpminを有す画像データをそれぞれ一つ取得する。そして、取得した画像データのRGB値の平均値Rave、Gave、Baveを算出して、これをむら補正基準値にする。なお、画素値Vpは次式によって算出するか、G値を画素値Vpとしてもよい。
Vp = √(R2 + G2 + B2) …(3)
【0064】
また、分割撮影画像データそれぞれの平均輝度値を算出し、平均輝度値が上位の複数の画像データと、平均輝度値が下位の複数の画像データからむら補正基準値を算出してもよい。
【0065】
●むら補正係数の別の算出方法
上記では、被写体501と同サイズ(またはより大きい)のむら補正用チャート601を準備することを前提にした。しかし、被写体501のサイズによっては、そのようなサイズのむら補正用チャート601を準備することができない場合もある。そこで、撮影レンズの画角一杯に写る、画角よりもやや大きいサイズ(以下、最小サイズ)のむら補正用チャート601を準備し、所定位置に配置したむら補正用チャート601の撮影画像データから、任意位置におけるむら補正係数を線形補間する。
【0066】
最小サイズのむら補正用チャート601を配置する位置は、例えば、被写体501の配置領域の四隅(左上、右上、左下および右下の各位置)に相当する四箇所などが考えられる。しかし、被写体501の配置領域であれば、当該領域の任意箇所に最小サイズのむら補正用チャート601を配置することができる。
【0067】
画像処理装置301は、カメラ101および電動雲台201を制御して、被写体501を複数の領域に分けて分割撮影する。また、被写体501の四隅に配置した最小サイズのむら補正用チャート601を撮影する。その際、被写体501と最小サイズのむら補正用チャート601の撮影における照明光について同一条件にする必要がある。
【0068】
むら補正部303は、ステップS33において、最小サイズのむら補正用チャート601のフィルタ処理後の撮影画像データのRGB値の平均値Rave、Gave、Baveを算出して、これをむら補正基準値にする。
【0069】
次に、むら補正部303は、ステップS34において、最小サイズのむら補正用チャート601のフィルタ処理後の撮影画像データ、および、むら補正基準値から式(1)によりむら補正係数を算出する。なお、各むら補正用チャート601から算出されるむら補正係数を次のように表す。
左上配置の補正用チャート:Xk(Lt, x, y)、
右上配置の補正用チャート:Xk(Rt, x, y)、
左下配置の補正用チャート:Xk(Lb, x, y)、
右下配置の補正用チャート:Xk(Rb, x, y)、
ここで、XはR、GまたはB。
【0070】
さらに、むら補正部303は、ステップS34において、各むら補正用チャート601のむら補正係数から任意位置のむら補正係数を下式により算出する。
Xk(i, j, x, y) = (i-1)/(Nx-1)×{H1×Xk(Rb, x, y) + H2×Xk(Rt, x, y)}
+ (Nx-i)/(Nx-1)×{H1×Xk(Lb, x, y) + H2×Xk(Lt, x, y)} …(4)
ここで、(i, j)は左上の分割撮影画像を原点(1, 1)とする各分割画像の位置、
(i, j)=(Nx, Ny)は右下の分割撮影画像の位置、
H1 = (j - 1)/(Ny - 1)、
H2 = (Ny - j)/(Ny - 1)、
XはR、GまたはB。
【0071】
この算出方法によれば、被写体501と同サイズのむら補正用チャート601が準備できない場合も、任意位置のむら補正係数を算出することができる。
【0072】
このように、分割撮影画像データにおける照明むらと周辺減光むらを補正し、補正後の分割撮影画像データを結合する。従って、結合画像の全体において照明むらがない、かつ、分割撮影画像の間の重複領域に不自然なつなぎ目がない高解像度画像を生成することができる。
【実施例2】
【0073】
以下、本発明にかかる実施例2の画像処理を説明する。なお、実施例2において、実施例1と略同様の構成については、同一符号を付して、その詳細説明を省略する。
【0074】
例えば太陽光の下での撮影など、被写体501を分割撮影する途中で照明の光量が大きく変化すると、分割撮影画像の間の重複領域における輝度差が大きくなり良好な結合結果が得られない場合がある。実施例2においては、分割撮影画像の間の輝度差が大きい場合にも良好な結合結果を得る方法を説明する。
【0075】
図11のフローチャートにより実施例2の結合処理の一例を説明する。なお、図11に示す処理は、制御部306の制御によって実行される。なお、ステップS11からS22の処理は実施例1と略同様であり、その詳細説明を省略する。
【0076】
制御部306は、ステップS20において射影後画像はUIのウィンドウ1105に表示した後、ステップS19における撮影方向の推定結果に対する重複領域の一致度を示す評価値を評価値算出部308に算出させる(S101)。そして、算出された評価値と所定の閾値を比較して(S102)、評価値が閾値以上(一致度が低い)場合はユーザにその旨を警告する(S103)。
【0077】
警告が発せられた場合、ユーザは、ウィンドウ1105に表示された画像を参照して所望する画像が得られていれば「OK」ボタン1106を押し、結合処理が終了する。一方、所望する画像が得られていない場合は、警告とともにUIに表示される修正対象画像の選択部1107を操作して修正すべき画像を選択した後、「合成実行」ボタン1104を押す。
【0078】
図12によりUIの一例を示す。ユーザは、結合が良好ではない画像に対応する修正対象画像の選択部1107のチェックボックスをチェックすることで修正対象画像を選択する。
【0079】
制御部306は、ユーザが押したボタンを判定し(S21)、「合成実行」ボタン1104が押された場合は警告を発したか否かに応じて処理を分岐する(S104)。警告を発していない場合は実施例1と同様に処理をステップS19に戻し、警告を発した場合は画像補正部304を制御して修正対象画像を補正し(S105)、その後、処理をステップS19に戻す。
【0080】
画像補正部304は、修正対象画像に例えばガンマ補正、明度補正、コントラスト補正などを施して、評価値算出部308が算出する修正対象画像の間の重複領域の一致度を示す評価値を零に近付ける。つまり、画像補正部304は、重複領域の一致度を示す評価値を零にするような係数を定め、修正対象画像を画像処理する。あるいは、重複領域を複数の小領域に分割し、各小領域において評価値を算出し、これら複数の評価値の和を最小になるような指数を算出して、修正対象画像をガンマ補正してもよい。また、複数の評価値の和を最小にするような行列式を作成し、行列式により修正対象画像を画像処理してもよい。
【0081】
[変形例]
上記では、撮影画像データの画素値からむら補正係数を算出する例を説明した。しかし、sRGBやAdobeRGBなど標準的なRGB空間の画像データであれば、画像データをCIELab値やCIEXYZ値などに変換して、CIELab値やCIEXYZ値などから補正係数を算出してもよい。なお、CIEXYZ値から得たむら補正係数を被写体の画像データに適用する場合、CIEXYZ値に変換した被写体の画像データにむら補正処理を施し、むら補正処理後のCIEXYZ値をRGB値に変換する。
【0082】
[その他の実施例]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステムあるいは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
同一照明下において、被写体を分割撮影した複数の画像データ、および、補正用チャートを撮影した補正用の画像データを入力する入力手段と、
前記補正用の画像データから、前記複数の画像データの輝度むらを補正するための補正係数を算出する補正係数の算出手段と、
前記補正係数により前記複数の画像データの輝度むらを補正する補正手段と、
前記分割撮影に用いた撮影装置が前記複数の画像データそれぞれを撮影した際の撮影方向を示す情報を取得する取得手段と、
前記撮影方向を示す情報に基づき、前記輝度むらを補正した複数の画像データを結合して、前記被写体の全体の画像を表す画像データを生成する生成手段とを有することを特徴とする画像処理装置。
【請求項2】
前記輝度むらには、照明むらおよび周辺減光むらが含まれることを特徴とする請求項1に記載された画像処理装置。
【請求項3】
前記補正用チャートは、前記被写体のサイズ以上のサイズを有し、均一な白色面を有することを特徴とする請求項1または請求項2に記載された画像処理装置。
【請求項4】
前記算出手段は、前記補正用の画像データの全画素の値の平均値に対する前記補正用の画像データの各画素の値の比を前記補正係数にすることを特徴とする請求項3に記載された画像処理装置。
【請求項5】
前記補正用チャートは、前記被写体のサイズよりも小さく、かつ、前記分割撮影に用いる撮影装置の画角よりも大きいサイズを有し、均一な白色面を有し、前記被写体の配置領域の複数の位置に配置されることを特徴とする請求項1または請求項2に記載された画像処理装置。
【請求項6】
前記算出手段は、前記複数の位置に配置された前記補正用チャートを撮影した補正用の画像データの全画素の値の平均値に対する前記補正用の画像データの各画素の値の比を算出し、線形補間によって、前記比から前記被写体の配置領域の全体に対応する前記補正係数を算出することを特徴とする請求項5に記載された画像処理装置。
【請求項7】
前記生成手段は、前記撮影方向を示す情報に基づき、前記複数の画像データが表す画像を仮想三次元空間上に設定した平面に射影する射影手段と、
前記平面に射影した画像の間の重複領域の一致度を示す評価値を算出する評価値の算出手段と、
前記評価値に基づき、前記複数の画像データの撮影方向を推定する推定手段とを有し、
前記射影手段は、前記推定された撮影方向に基づき、前記複数の画像データが表す画像を前記平面に射影して、前記被写体の全体の画像を表す画像データを生成することを特徴とする請求項1から請求項6の何れか一項に記載された画像処理装置。
【請求項8】
入力手段、算出手段、補正手段、取得手段、生成手段を有する画像処理装置の画像処理方法であって、
前記入力手段が、同一照明下において、被写体を分割撮影した複数の画像データ、および、補正用チャートを撮影した補正用の画像データを入力し、
前記算出手段が、前記補正用の画像データから、前記複数の画像データの輝度むらを補正するための補正係数を算出し、
前記補正手段が、前記補正係数により前記複数の画像データの輝度むらを補正し、
前記取得手段が、前記分割撮影に用いた撮影装置が前記複数の画像データそれぞれを撮影した際の撮影方向を示す情報を取得し、
前記生成手段が、前記撮影方向を示す情報に基づき、前記輝度むらを補正した複数の画像データを結合して、前記被写体の全体の画像を表す画像データを生成することを特徴とする画像処理方法。
【請求項9】
コンピュータを請求項1から請求項7の何れか一項に記載された画像処理装置の各手段として機能させることを特徴とするプログラム。
【請求項1】
同一照明下において、被写体を分割撮影した複数の画像データ、および、補正用チャートを撮影した補正用の画像データを入力する入力手段と、
前記補正用の画像データから、前記複数の画像データの輝度むらを補正するための補正係数を算出する補正係数の算出手段と、
前記補正係数により前記複数の画像データの輝度むらを補正する補正手段と、
前記分割撮影に用いた撮影装置が前記複数の画像データそれぞれを撮影した際の撮影方向を示す情報を取得する取得手段と、
前記撮影方向を示す情報に基づき、前記輝度むらを補正した複数の画像データを結合して、前記被写体の全体の画像を表す画像データを生成する生成手段とを有することを特徴とする画像処理装置。
【請求項2】
前記輝度むらには、照明むらおよび周辺減光むらが含まれることを特徴とする請求項1に記載された画像処理装置。
【請求項3】
前記補正用チャートは、前記被写体のサイズ以上のサイズを有し、均一な白色面を有することを特徴とする請求項1または請求項2に記載された画像処理装置。
【請求項4】
前記算出手段は、前記補正用の画像データの全画素の値の平均値に対する前記補正用の画像データの各画素の値の比を前記補正係数にすることを特徴とする請求項3に記載された画像処理装置。
【請求項5】
前記補正用チャートは、前記被写体のサイズよりも小さく、かつ、前記分割撮影に用いる撮影装置の画角よりも大きいサイズを有し、均一な白色面を有し、前記被写体の配置領域の複数の位置に配置されることを特徴とする請求項1または請求項2に記載された画像処理装置。
【請求項6】
前記算出手段は、前記複数の位置に配置された前記補正用チャートを撮影した補正用の画像データの全画素の値の平均値に対する前記補正用の画像データの各画素の値の比を算出し、線形補間によって、前記比から前記被写体の配置領域の全体に対応する前記補正係数を算出することを特徴とする請求項5に記載された画像処理装置。
【請求項7】
前記生成手段は、前記撮影方向を示す情報に基づき、前記複数の画像データが表す画像を仮想三次元空間上に設定した平面に射影する射影手段と、
前記平面に射影した画像の間の重複領域の一致度を示す評価値を算出する評価値の算出手段と、
前記評価値に基づき、前記複数の画像データの撮影方向を推定する推定手段とを有し、
前記射影手段は、前記推定された撮影方向に基づき、前記複数の画像データが表す画像を前記平面に射影して、前記被写体の全体の画像を表す画像データを生成することを特徴とする請求項1から請求項6の何れか一項に記載された画像処理装置。
【請求項8】
入力手段、算出手段、補正手段、取得手段、生成手段を有する画像処理装置の画像処理方法であって、
前記入力手段が、同一照明下において、被写体を分割撮影した複数の画像データ、および、補正用チャートを撮影した補正用の画像データを入力し、
前記算出手段が、前記補正用の画像データから、前記複数の画像データの輝度むらを補正するための補正係数を算出し、
前記補正手段が、前記補正係数により前記複数の画像データの輝度むらを補正し、
前記取得手段が、前記分割撮影に用いた撮影装置が前記複数の画像データそれぞれを撮影した際の撮影方向を示す情報を取得し、
前記生成手段が、前記撮影方向を示す情報に基づき、前記輝度むらを補正した複数の画像データを結合して、前記被写体の全体の画像を表す画像データを生成することを特徴とする画像処理方法。
【請求項9】
コンピュータを請求項1から請求項7の何れか一項に記載された画像処理装置の各手段として機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2012−222669(P2012−222669A)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願番号】特願2011−87702(P2011−87702)
【出願日】平成23年4月11日(2011.4.11)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願日】平成23年4月11日(2011.4.11)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]