以下、図面に基づいて、実施形態を説明する。
図1は、画像補正装置の一実施形態を示す。図1に示した画像補正装置10は、算出部11と生成部12と補完部13とを含んでおり、カメラCAM1及びカメラCAM2のそれぞれにより被写体Sa及び被写体Sbを撮像した画像IMG1、IMG2を受ける。
図1の例では、被写体Saは球状の物体であり、被写体Sbは角柱状の物体である。なお、図1に示した被写体Sbは、側面を平面PLfから傾けて、被写体SaよりもカメラCAM1、CAM2から離れた位置に配置されている。
図1に示したカメラCAM1、CAM2は、例えば、同じ焦点距離を持つ結像光学系を搭載している。そして、カメラCAM1、CAM2は、カメラCAM1の結像光学系の光軸Z1とカメラCAM2の結像光学系の光軸Z2とが互いに平行となる位置に配置されている。即ち、カメラCAM1,CAM2は、互いに平行な光軸を持つ第1撮像部及び第2撮像部の一例である。
また、図1に示したカメラCAM1の結像光学系の焦点Fp1及びカメラCAM2の結像光学系の焦点Fp2は、光軸Z1、Z2に垂直な平面PLf上に位置する。以下の説明において、焦点Fp1,Fp2を含む平面PLfと被写体Sa,Sbの表面上の各点を含む平面PLfに平行な平面のそれぞれとの間の距離は、カメラCAM1、CAM2と被写体Sa,Sbの表面上の各点との間の距離と称される。例えば、図1に示した距離La、Lbは、被写体Sa、Sbの平面PLfの側の端Pa,Pbと平面PLfとの距離であり、算出部11により算出される被写体距離の一例である。
図1に示した算出部11は、画像IMG1、IMG2のそれぞれに含まれる被写体の相互に対応する部位の視差に基づいて、画像IMG1,IMG2において被写体を示す領域内の画素毎に、各画素が示す被写体の部位と平面PLfとの間の被写体距離を算出する。また、算出部11は、カメラCAM1、CAM2の結像光学系の焦点距離から特定される仮想の像面PLtと平面PLfとの間の距離Ltを背景までの距離とする。
画像IMG1、IMG2の各画素で示される被写体の部位までの距離として算出部11により算出された被写体距離と画像IMG1、IMG2の各画素とを対応付ける情報は、生成部12及び補完部13に渡される。なお、画像IMG1,IMG2において背景を示す領域に含まれる各画素には、算出部11により、図1に示した仮想の像面PLtと平面PLfとの間の距離Ltが対応付けられる。
生成部12は、画像IMG1の各画素を、各画素の位置と各画素に対応付けられた被写体距離とカメラCAM1の歪特性とで決定される第1関数により写像することで、画像IMG1で示される被写体を含む正射画像IMGtを生成する。ここで、正射画像IMGtは、例えば、被写体Sa,Sbを含む領域Srを図1に示した仮想の像面PLtに無限遠から投影することで得られる画像である。また、第1関数は、画像IMG1の各画素の位置と各画素に対応付けられた被写体距離とに対して、画像IMG1の各画素で示される前記被写体の部位が正射投影される位置を与える関数であり、図2及び図3を用いて説明される。
生成部12は、例えば、画像IMG1において被写体Saを示す領域Sa1に含まれる画素のそれぞれを第1関数で示される位置に写像することにより、被写体Saの正射投影による投影像Satを正射画像IMGt上に生成する。同様に、生成部12は画像IMG1において被写体Sbを示す領域Sb1に含まれる画素のそれぞれを、第1関数で示される位置に写像することにより、被写体Sbの正射投影による投影像Sbtを正射画像IMGt上に生成する。更に、生成部12は、画像IMG1において背景を示す領域の各画素を第1関数で示される位置に写像することで、被写体Sa,Sbの背景の正射投影による投影像を正射画像IMGt上に生成する。
ここで、図1の正射画像IMGtにおいて網掛けで示した領域A1は、生成部12により画像IMG1の画素が写像されなかった第1領域の一例である。図1に示した第1領域A1は、被写体Sa,Sbを含む領域Srのうち、画像IMG1において被写体像Sa1の陰となる領域に含まれる被写体または背景が正射投影される領域である。なお、図1の例では、正射画像IMGtに示した第1領域A1は、被写体Saの背景のうち、画像IMG1において被写体像Sa1の陰となる領域を示す。一方、図1に示した画像IMG2は、画像IMG1において被写体像Sa1の陰となる領域を、例えば、画像IMG2において網掛けで示した領域A2として含んでいる。即ち、正射画像IMGtの第1領域A1は、画像IMG2中の領域A2を用いて補完することが可能である。そして、画像IMG2中の領域A2は、図2及び図3で説明するように、第1領域A1の各画素の位置と背景までの距離LtとカメラCAM2の歪特性とに基づいて特定することができる。
そこで、補完部13は、図2及び図3で説明する第2関数により、生成部12により画像IMG1の画素が写像されなかった正射画像IMGt中の第1領域A1に正射投影される被写体または背景を表す画像IMG2の領域A2を、第2領域として特定する。そして、補完部13は、例えば、画像IMG2において特定した第2領域A2を、正射画像IMGtの第1領域A1に複写することで、正射画像IMGtを補完する。ここで、第2関数は、図2及び図3を用いて後述するように、第1領域A1の各画素の位置と第1領域A1に正射投影される被写体または背景に対応する被写体距離とカメラCAM2の歪特性とで決定される関数である。なお、図1の例では、第1領域A1は、画像IMG1において被写体像Sa1の陰となる背景の一部に相当するため、被写体距離として距離Ltを設定した第2関数により、画像IMG2中の第2領域A2を特定することができる。同様に、画像IMG1において、ある被写体の陰により別の被写体が隠されている場合にも、隠された被写体を示す領域が画像IMG2に含まれていれば、画像IMG2を用いて正射画像IMGtを補完することが可能である。なお、画像IMG1において、ある被写体の陰により別の被写体が隠されている場合に、画像IMG2を用いて正射画像IMGtを補完する手法は、図9〜図14を用いて後述される。
画像IMG1はカメラCAM1の光軸Z1を基準とする像高に応じた歪曲収差を含んでおり、同様に、画像IMG2はカメラCAM2の光軸Z2を基準とする像高に応じた歪曲収差を含んでいる。つまり、画像IMG1、IMG2のそれぞれに含まれる被写体Sa,Sbの像は、像高が大きくなるほど大きく歪んでいる。これに対して、正射画像IMGtに含まれる被写体Sa,Sbのそれぞれの正射投影像Sat,Sbtは、無限遠からの投影像であるので、正射投影像Sat,Sbtの正射画像IMGtにおける位置にかかわらず歪むことはない。
即ち、図1に示した画像補正装置10は、それぞれ歪曲収差を含む画像IMG1、IMG2から、歪みのない正射画像IMGtを生成することができる。
次に、図2及び図3を用いて、図1に示した生成部12で用いる第1関数および補完部13で用いる第2関数が説明される。図2及び図3では、説明の簡単のため、例えば、図1に示した球状の被写体Saを光軸Z1,Z2を含む平面で切った断面に相当する2次元の物体を撮像することで、画像IMG1、IMG2として1次元の画像を生成する場合が説明される。
図2は、図1に示したカメラCAM1,CAM2で撮像された画像IMG1、IMG2と正射画像IMGtの例を示す。なお、図2に示す要素のうち、図1に示した要素と同等のものは、同一の符号で示すとともに要素の説明を省略する場合がある。また、図2においては、図の見易さのために、画像IMG1,IMG2及び正射画像IMGtは、仮想の像面PLtと離れた位置に示されている。しかしながら、画像IMG1,IMG2及び正射画像IMGtが結像される像面と平面PLfとの距離は、仮想の像面PLtと平面PLfとの距離と同等である。
図2に円形で示した被写体Saは、図1に示した球状の被写体Saを光軸Z1,Z2を含む平面で切った断面に相当する。また、図2に点線で示した画像IMG1において、点Q1Lと点Q1Rとを結ぶ線分は、画像IMG1において被写体Saを示す画素が含まれる領域Sa1である。ここで、点Q1Lは、カメラCAM1の焦点Fp1を通る被写体Saの接線T1Lと被写体Saを示す円との接点C1Lの像に相当する。そして、点Q1Rは、カメラCAM1の焦点Fp1を通る被写体Saの接線T1Rと被写体Saを示す円との接点C1Rの像に相当する。
また、図2において一点鎖線で示した画像IMG2において、点Q2Lと点Q2Rとを結ぶ線分は、画像IMG2において被写体Saを示す画素が含まれる領域Sa2である。なお、図2に示した画像IMG1において、領域Sa1を除く範囲に含まれる各画素は被写体Saの背景を示す。同様に、図2に示した画像IMG2において、領域Sa2を除く範囲に含まれる各画素は被写体Saの背景を示す。
また、図2において実線で示した仮想の像面PLt上に線幅を変えて示した線分Satは、被写体Saの正射投影像を示す。そして、正射画像IMGtにおいて点QtLと点QtRとを結ぶ線分で示した領域は、仮想の像面PLt上の正射投影像Satに対応する領域である。ここで、例えば、点Q1Lの画像IMG1上の位置と点QtLの正射画像IMGt上の位置との差δは、画像IMG1において点Q1Lの像高Dでの歪みを示しており、差δの大きさは、接点C1Lと平面PLfとの間の距離Lと像高Dとに依存する。そして、カメラCAM1に搭載された結像光学系の特性を考慮すれば、図3で説明するようにして、画像IMG1の各画素の像高と各画素で示される被写体までの距離との組み合わせ毎に、歪みの大きさを示す第1関数を予め求めておくことが可能である。
つまり、図1に示した生成部12は、第1関数を用いて、図2に示した領域Sa1の各画素を、正射画像IMGt上に点QtLと点QtRとを結ぶ線分で示した領域の各画素に写像することで、仮想の像面PLt上の正射投影像Satに相当する画像を生成できる。
図3は、第1関数および第2関数の例を示す。なお、図3に示す要素のうち、図1または図2に示した要素と同等のものは、同一の符号で示すとともに要素の説明を省略する場合がある。
図3では、説明の簡単のため、カメラCAM1及びカメラCAM2のそれぞれに搭載された結像光学系が厚みを持たない理想光学系である場合に、図1に示した生成部12で用いる第1関数および補完部13で用いる第2関数を求める手法が説明される。
図3において仮想の像面PLt上に示した点Q1は、図1に示したカメラCAM1による、点状の被写体Spの像を示し、同様に、図3に示した点Q2は、図1に示したカメラCAM2による被写体Spの像を示す。即ち、点Q1は、図2に示した画像IMG1において被写体Spを示す画素の位置を示す、点Q2は、同じく図2に示した画像IMG2において被写体Spを示す画素の位置を示す。
図3の例では、被写体Spと光軸Z1との距離Dt1は、仮想の像面PLtと平面PLfとの距離を示す定数Ltと、被写体Spと平面PLfとの距離Lsと、点Q1で示される画像IMG1における像高D1とを用いて、式(1)で示される。
ここで、式(1)で示される距離Dt1は、正射画像IMGtにおける被写体Spの正射投影像の像高を示す。即ち、式(1)は、画像IMG1において被写体Spを示す画素と、正射画像IMGtにおける被写体Spの正射投影像の位置との対応関係を、被写体Spまでの距離Lsと画像IMG1における像高D1との関数として示す。つまり、式(1)は、図1に示した生成部12で用いられる第1関数の一例である。
また、同様に、被写体Spと光軸Z2との距離Dt2は、仮想の像面PLtと平面PLfとの距離を示す定数Ltと、被写体Spと平面PLfとの距離Lsと、点Q2で示される画像IMG2における像高D2とを用いて、式(2)で示される。
式(1)と同様に、式(2)で示される距離Dt2は、光軸Z2を像高の基準とした場合の、正射画像IMGtにおける被写体Spの正射投影像の像高を示す。即ち、式(2)は、画像IMG2において被写体Spを示す画素と、正射画像IMGtにおける被写体Spの正射投影像の位置との対応関係を示す。したがって、正射画像IMGtにおける被写体Spの正射投影像の位置に対応付けられる画像IMG2の画素は、式(2)の逆関数を示す式(3)により求められる。即ち、式(3)は、正射画像IMGtにおける被写体Spの正射投影像の位置に無限遠から投影される画像IMG2の画素を、被写体Spまでの距離Lsと正射画像IMGtにおける像高D2との関数で示す。つまり、式(3)は、図1に示した補完部13で用いられる第2関数の一例である。
ところで、図2に示した画像IMG1において、点U1Lと点Q1Lとを結ぶ線分で示した領域及び点Q1Rと点R1Rとを結ぶ線分で示した領域に含まれる各画素は被写体Saの背景を示す。したがって、図1に示した算出部11により、点U1Lと点Q1Lとを結ぶ線分で示した領域及び点Q1Rと点R1Rとを結ぶ線分で示した領域に含まれる各画素に対応して算出される被写体までの距離は、仮想の像面PLtまでの距離Ltと同等である。
ここで、式(1)において、被写体Spまでの距離Lsを距離Ltとすると、画像IMG1において背景を示す画素が写像される正射画像IMGtの画素の像高Dtは、第1画像における像高D1と同等であることが示される。
したがって、図2に示した画像IMG1において点R1Lと点R1Rとを結ぶ線分で示した領域の各画素は、第1関数により、正射画像IMGtにおいて、点QtRと点RtRとを結ぶ線分で示した領域の各画素に写像される。同様に、図2に示した画像IMG1において点U1Lと点Q1Lとを結ぶ線分で示した領域の各画素は、第1関数により、正射画像IMGtにおいて点UtLと点UtRとを結ぶ線分で示した領域の各画素に写像される。つまり、生成部12により、図2に示した画像IMG1の各画素を第1関数により写像することで、図2において点UtRと点QtLとを結ぶ線分で示した領域を除く正射画像IMGtが生成される。正射画像IMGtにおいて点UtRと点QtLとを結ぶ線分で示した領域は、被写体Saの背景のうち焦点Fp1から見て被写体Saによって隠される領域であり、生成部12により画像IMG1の画素が写像されない第1領域の一例である。
一方、図2に示した画像IMG2は、被写体Saの背景のうち焦点Fp1から見て被写体Saによって隠される領域を、点U2Lと点U2Rとを結ぶ線分で示される領域として含んでいる。したがって、画像IMG2の点U2Lと点U2Rとを結ぶ線分で示される領域に含まれる各画素を、正射画像IMGtの点UtRと点QtLとを結ぶ線分で示した領域の各画素に写像することにより、正射画像IMGtを補完することができる。
式(3)において、被写体Spまでの距離Lsを距離Ltとすると、正射画像IMGtにおいて背景を示す画素に無限遠から投影される被写体を示す画像IMG2の画素の像高D2は、正射画像IMGtにおける像高Dtと同等であることが示される。
したがって、画像IMG2の点U2Lと点U2Rとを結ぶ線分で示される領域に含まれる各画素は、第2関数により、正射画像IMGtにおいて点UtRと点QtLとを結ぶ線分で示した領域の各画素に正射投影される画素として特定される。そして、補完部13は、第2関数を用いて特定された画像IMG2の各画素を、生成部12により画像IMG1の画素が写像されない第1領域の各画素に写像することで、正射画像IMGtを補完する。
即ち、生成部12及び補完部13により画像IMG1及び画像IMG2の各画素を写像することで、焦点Fp1から見て被写体Saによって隠される領域を含めて、正射画像IMGtを完成させることができる。
なお、図1に示したカメラCAM1及びカメラCAM2のそれぞれに実際に搭載される結像光学系は、それぞれに固有の厚みを持っているため、実際に搭載される結像光学系のそれぞれの特性は、図3に示した理想光学系の特性とは異なっている。このため、図1に示した生成部12は、正射画像IMGtへの写像のための第1関数として、式(1)で示した関係にカメラCAM1に搭載される結像光学系の歪特性を反映した関数を用いる。同様に、図1に示した補完部13は、正射画像IMGt上の任意の画素に対応付けられる画像IMG2の画素を示す第2関数として、式(3)で示した関係にカメラCAM2に搭載される結像光学系の歪特性を反映した関数を用いる。ここで、カメラCAM1、CAM2のそれぞれに搭載される結像光学系は、同じ像高においては同等の特性を示す。したがって、生成部12で用いる第1関数および補完部13で用いる第2関数において、画像IMG1、IMG2及び正射画像IMGtにおける画素の位置は、光学中心を原点とする極座標で示されることが望ましい。なお、光学中心は、カメラCAM1の光軸Z1と仮想の像面PLtとの交点に設定されることが望ましい。
生成部12は、例えば、画像IMG1上で注目する画素の位置を示す像高h及び偏角θと注目する画素が示す被写体までの距離Lsとを引数とし、式(1)の関係に結像光学系の歪特性を反映した関数F(h,θ,Ls)を第1関数として用いる。そして、生成部12は、関数F(h,θ,Ls)によって得られた極座標を直交座標に変換することで、正射画像IMGtにおける画素を特定し、特定した画素に画像IMG1の注目する画素の画素値を複写する。
同様に、補完部13は、正射画像IMGt上で注目する画素の位置を示す像高D及び偏角θを引数とし、図1に示したカメラCAM2の結像光学系の特性を式(3)の関係に反映した関数G(D,θ)を第2関数として用いる。補完部13は、図1に示した第1領域A1に含まれる各画素を順次に注目する画素として選択し、注目する画素に正射投影される被写体または背景の部位を示す画像IMG2の画素を、関数G(D,θ)を用いて特定する。
ここで、画像IMG1において、画像IMG1に含まれる被写体の陰となる領域に他の被写体が含まれない場合に、正射画像IMGtにおいて画像IMG1の画素が写像されない第1領域A1は、被写体に隠された背景部分を示す。したがって、この場合に、補完部13は、被写体までの距離Lsとして、仮想の像面PLtまでの距離Ltを設定した関数G(D,θ)を第2関数として用いて、第1領域A1内の注目する画素の位置から画像IMG2の画素を特定することができる。
そして、補完部13は、第2関数で特定された画像IMG2の画素が示す被写体までの距離として算出部11で算出した値が距離Ltを示す場合に、特定された画像IMG2の画素は、第1領域A1に対応する画像IMG2内の第2領域A2に含まれると判断する。この場合に、補完部13は、第2関数を用いて特定した画像IMG2の画素の画素値を、正射画像IMGtで注目した画素に複写する。
例えば、図1に示した第1領域A1に含まれる各画素を注目する画素として、以上に説明した処理を繰り返すことにより、補完部13は、正射像IMGt内の第1領域A1を、画像IMG2内の第2領域A2を用いて補完することができる。
図4は、図1に示した画像補正装置10の動作を示す。図4に示したステップS301〜ステップS303の処理は、図1に示した画像補正装置10の動作を示すとともに、画像補正方法および画像補正プログラムの例を示す。図4に示す処理は、画像補正装置10に搭載されたプロセッサが画像補正プログラムを実行することで実現されてもよいし、画像補正装置10に搭載されるハードウェアによって実行されてもよい。
ステップS301において、図1に示した算出部11は、画像IMG1、IMG2に含まれる被写体の各部位の視差に基づいて、画像IMG1、IMG2において被写体を示す画素毎に、各画素で示される被写体の部位までの被写体距離を算出する。
ステップS302において、図1に示した生成部12は、ステップS301の処理で算出された距離を用いた第1関数により画像IMG1の各画素を写像することで、画像IMG1に含まれる被写体の正射投影像を含む正射画像IMGtを生成する。
ステップS303において、図1に示した補完部13は、ステップS302の処理で画像IMG1の画素が写像されなかった領域の各画素に、第2関数で示される画像IMG2の画素を写像することで正射画像IMGtを補完する。
以上に説明したように、図1に示した画像補正装置10の生成部12は、画像IMG1の各画素を第1関数により写像することで、例えば、図1に示した被写体Sa,Sbの形状を歪みなく示す正射投影像Sat,Sbtを含む正射画像IMGtを生成する。また、補完部13は、正射画像IMGtにおいて、カメラCAM1の焦点Fp1から見て被写体Sa,Sbの陰となる部分に、第2関数を用いて特定された画像IMG2の画素を写像することで、正射画像IMGtを補完する。したがって、図1に示した画像補正装置10によって生成される正射画像IMGtは、焦点Fp1から見て被写体Sa,Sbの陰となる部分を含めて、被写体Sa,Sb及び被写体Sa,Sbの背景を無限遠から見た画像となる。ここで、正射画像IMGtに含まれる正射投影像Sat,Sbtのそれぞれは、画像IMG1及び画像IMG2のそれぞれに含まれる被写体Sa,Sbの形状を歪なく表す。したがって、図1に示した画像補正装置10は、被写体Sa,Sbとの距離La,Lbの違いや被写体Sa,Sbのそれぞれの奥行きにかかわらず、被写体Sa,Sbの形状を歪みなく示す正射投影像Sat,Sbtを含む正射画像IMGtを生成することができる。
即ち、図1に示した画像補正装置10は、距離の異なる複数の被写体や奥行きのある被写体を撮像した場合でも、カメラで撮像された画像IMG1、IMG2から正射画像IMGtを生成することで、画像IMG1及び画像IMG2に含まれる歪みを補正できる。
また、図1に示した生成部12及び補完部13のそれぞれは、画像IMG1及び画像IMG2のそれぞれに含まれる画素の画素値を第1関数および第2関数のそれぞれに基づいて写像することで、正射画像IMGtを生成する。生成部12及び補完部13により画像IMG1及び画像IMG2に含まれる画素を写像する処理は、例えば、撮像された画像に含まれる歪みを被写体Sa,Sb及び背景を示す3次元データ等に基づいて補正する従来技術の処理に比べて簡易な処理である。同様に、画像IMG1及び画像IMG2に含まれる画素を写像する処理は、例えば、被写体Sa,Sbを表す頂点モデル等に基づくレンダリングにより所望の視点から見た画像を生成する従来技術の処理に比べて簡易な処理である。
つまり、図1に示した画像補正装置10は、距離の異なる複数の被写体や奥行きのある被写体を撮像した画像の歪みが補正された画像を、3次元データ等に基づいて撮像した画像を補正する従来技術やレンダリングを用いる技術よりも簡易な処理で生成できる。そして、3次元データ等に基づいて撮像した画像を補正する従来技術やレンダリングを用いる技術よりも簡易な処理により、歪みのない画像を生成可能であるという特徴は、図1に示した画像補正装置10をデジタルカメラ等に搭載する場合に有用である。なお、画像補正装置10を搭載する装置は、デジタルカメラに限らず、画像を撮像する機能を有する端末装置であればスマートホンや携帯電話等でもよいし、画像を受ける機能を有するコンピュータ装置でもよい。画像補正装置10を搭載したデジタルカメラの例は、図13及び図14を用いて後述される。
ところで、複数のカメラでカメラから有限の距離にある被写体を撮像した場合には、図5に示すように、被写体の背景の一部が、複数のカメラの両方から見て被写体の影となることがある。
図5は、図1に示したカメラCAM1,CAM2で撮像された画像IMG1,IMG2と正射画像IMGtの別例を示す。なお、図5に示す要素のうち、図2に示した要素と同等のものは、同一の符号で示すとともに要素の説明を省略する場合がある。
図5に円形で示した被写体Scは、図1に示した球状の被写体Sa及び角柱状の被写体Sbとは別の被写体を示す。また、図5に点線で示した画像IMG1において、点Q1aLと点Q1aRとを結ぶ線分は、画像IMG1において被写体Saを示す画素が含まれる領域Sa1を示す。同様に、図5に点線で示した画像IMG1において、点Q1cLと点Q1cRとを結ぶ線分は、画像IMG1において被写体Scを示す画素が含まれる領域Sc1を示す。また、図5に一点鎖線で示した画像IMG2において、点Q2aLと点Q2aRとを結ぶ線分は、画像IMG2において被写体Saを示す画素が含まれる領域Sa2を示す。同様に、図5に一点鎖線で示した画像IMG2において、点Q2cLと点Q2cRとを結ぶ線分は、画像IMG2において被写体Scを示す画素が含まれる領域Sc2を示す。
また、図5において実線で示した仮想の像面PLt上に線幅を変えて示した線分Sat及び線分Sctのそれぞれは、被写体Sa、Scのそれぞれの正射投影像を示す。そして、正射画像IMGtにおいて点QtaLと点QtaRとを結ぶ線分で示した領域は、正射投影像Satに対応する領域を示し、点QtcLと点QtcRとを結ぶ線分で示した領域は、正射投影像Sctに対応する領域を示す。
図5の正射画像IMGtにおいて正射投影像Sat,Sctに対応する領域は、図1に示した生成部12により、画像IMG1の領域Sa1、Sc1に含まれる各画素を写像することで生成される。また、図5の正射画像IMGtにおいて点UtLと点UtRとを結ぶ線分で示した領域は、生成部12により、画像IMG1において点U1Lと点Q1aLとを結ぶ線分で示した領域に含まれる各画素を写像することで生成される。同様に、図5の正射画像IMGtにおいて点QtaRと点QtcLとを結ぶ線分で示した領域は、生成部12により、画像IMG1において点V1Lと点V1Rとを結ぶ線分で示した領域に含まれる各画素を写像することで生成される。そして、図5の正射画像IMGtにおいて点RtLと点RtRとを結ぶ線分で示した領域は、生成部12により、画像IMG1において点Q1cRと点R1Rとを結ぶ線分で示した領域に含まれる各画素を写像することで生成される。また、図5の正射画像IMGtにおいて点UtRと点QtaLとを結ぶ線分で示した領域は、補完部13により、画像IMG2において点Q1cRと点R1Rとを結ぶ線分で示した領域に含まれる各画素を写像することで生成される。
しかしながら、図5の正射画像IMGtにおいて点QtcRと点RtLとを結ぶ線分で示した領域は、図5に示した画像IMG2の画素を写像する処理の後にも、画素値が設定されずに残ってしまう。なぜなら、図5において点QtcRと点RtLとを結ぶ線分で示した領域は、画像IMG1及び画像IMG2の双方において、被写体Scによって隠された背景部分に相当するからである。
以下では、図6から図8を用いて、カメラCAM1、CAM2の双方から見て被写体の陰となる領域に対応する正射画像IMGtの領域を生成する手法が説明される。
図6は、画像補正装置の別実施形態を示す。なお、図6に示す構成要素のうち、図1に示した構成要素と同等のものは、同一の符号で示すとともに構成要素の説明を省略する場合がある。
図6に示した画像補正装置10aは、図1に示した算出部11に相当する算出部11aと、生成部12aと、補完部13aと、フレームメモリ14とを含む。図6に示した生成部12aは、図1に示した生成部12に相当する構成要素であり、第1変換部121と第1書込部122とを含む。また、図6に示した補完部13aは、図1に示した補完部13に相当する構成要素であり、検出部131と、第2変換部132と、第2書込部133と、補間部134とを含む。
フレームメモリ14は、第1画像格納部141と、第2画像格納部142と、正射画像格納部143とを含む。フレームメモリ14は、カメラCAM1、CAM2のそれぞれから画像IMG1、IMG2を受け、受けた画像IMG1を第1画像格納部141に保持し、受けた画像IMG2を第2画像格納部142に保持する。第1画像格納部141は、画像IMG1の各画素に対応して画素値を含む情報を格納する容量を有する、算出部11a及び生成部12aからアクセス可能な記憶領域である。第2画像格納部142は、画像IMG2の各画素に対応して画素値を含む情報を格納する容量を有する、算出部11a及び補完部13aからアクセス可能な記憶領域である。また、正射画像格納部143は、正射画像IMGtの各画素に対応して画素値を含む情報を格納する容量を有する、生成部12a及び補完部13aからアクセス可能な記憶領域である。
図6に示した算出部11aは、図1で説明した算出部11と同様にして、画像IMG1、IMG2に含まれる被写体の各部位までの被写体距離を画素毎に算出する。算出部11aにより、画像IMG1の各画素で示される被写体の部位を対象として算出された被写体距離は、第1画像格納部141に、画像IMG1の各画素に対応して格納される。同様に、算出部11aにより、画像IMG2の各画素で示される被写体の部位を対象として算出された被写体距離は、第2画像格納部142に、画像IMG2の各画素に対応して格納される。
図6に示した生成部12aに含まれる第1変換部121は、第1画像格納部141に保持された画像IMG1の各画素を注目画素として順次に選択する。そして、第1変換部121は、注目画素に対応して保持された被写体距離Lsと注目画素の位置を示す像高h及び偏角θとを引数とする関数F(h,θ,Ls)を第1関数として用い、注目画素の写像となる正射画像IMGtの画素を特定する。ここで、関数F(h,θ,Ls)は、図2及び図3で説明したように、カメラCAM1の結像光学系の歪特性を式(1)に反映することで得られる関数である。なお、第1変換部121において、画像IMG1の各画素が写像される正射画像IMGtの画素を特定するために用いる手法は、関数(h,θ,Ls)を第1関数として用いる手法に限られない。例えば、第1変換部121は、被写体距離Lsとして想定される距離のそれぞれでの結像光学系の歪特性に基づき、画像IMG1の各画素と各画素で示される被写体が正射投影される位置との対応関係を示すテーブルを予め作成してもよい。そして、第1変換部121は、予め作成したテーブルを第1関数として用いることで、注目画素が写像される正射画像IMGtの画素を特定してもよい。
図6に示した生成部12aに含まれる第1書込部122は、第1変換部121によって特定された画素を示す情報を受け、また、第1画像格納部141から、注目画素の画素値を読み出す。そして、第1書込部122は、図7で説明するようにして、受けた情報で示される正射画像IMGtの画素の画素値として、画像IMG1から選択された画素の画素値を書き込む。
なお、図6に示した生成部12aに含まれる第1変換部121及び第1書込部122の動作は、図7を用いて後述される。
また、図6に示した補完部13aに含まれる検出部131は、正射画像格納部143に格納された正射画像IMGtを参照し、正射画像IMGtの画素の中で、まだ画素値が書き込まれていない画素を検出する。検出部131で検出された正射画像IMGtの画素を示す情報は、第2変換部132に渡される。
第2変換部132は、検出部131から渡された情報と図2及び図3で説明した第2関数とを用いて、検出部131で検出された正射画像IMGtの画素に対応する画像IMG2の画素を特定する。例えば、第2変換部132は、検出された画素の位置を示す像高D及び偏角θを引数とし、カメラCAM2の結像光学系の歪特性を式(3)に反映することで得られる関数G(D,θ)を第2関数として用いる。第2変換部132は、図1で説明した補完部13と同様に、被写体までの距離Lsとして仮想の像面PLtまでの距離Ltを設定した第2関数を用いて、検出された画素に対応する画像IMG2の画素を特定する。
第2書込部133は、第2変換部132で特定された画像IMG2の画素に対応して保持された被写体距離及び特定された画素の画素値を、第2画像格納部142から読み出す。また、第2書込部133は、第2画像格納部142から読み出した被写体距離が、仮想の像面PLtまでの距離Ltと同等である場合に、第2変換部132で特定された画素は、画像IMG2において第1領域A1に対応する第2領域A2に含まれると判断する。そして、この場合に、第2書込部133は、読み出した画素値を、検出部131により正射画像IMGtから検出された画素に書き込む。
一方、第2画像格納部142から読み出した被写体距離が距離Ltを示さない場合に、第2書込部133は、検出部131で検出された画素は、画像IMG1,IMG2の双方において被写体の陰となる背景部分を示すと判断する。この場合に、第2書込部133は、補間部134に対して、次に述べる補間処理の実行を指示する。
補間部134は、第2書込部133からの指示を受けた場合に、例えば、正射画像格納部143に保持された画素値を用いて、検出部131によって検出された画素の画素値を補間する。補完部134によって画素値の補間に用いられる画素値は、検出部131で検出された画素に正射画像IMGtにおいて所定の閾値よりも近接する画素に対応して正射画像格納部143に保持された画素値である。
なお、図6に示した補完部13aに含まれる検出部131、第2変換部132、第2書込み部133及び補間部134の動作は、図8を用いて後述される。
ここで、補完部13aの動作の説明に先立って、図7を用いて、図6に示した生成部12aの動作が説明される。
図7は、図6に示した生成部12aの動作を示す。図7に示したステップS311〜ステップS316の処理は、図4においてステップS302として示した正射画像IMGtを生成する処理の一例である。
ステップS311において、第1変換部121は、画像IMG1の画素の一つを順次に選択し、選択した画素を注目画素とする。また、第1変換部121は、選択した注目画素に対応して保持された被写体距離を第1画像格納部141から読み出す。
ステップS312において、第1変換部121は、図2及び図3で説明した第1関数により、注目画素で示される被写体の正射投影像を示す画素として注目画素に対応付けられる正射画像IMGtの画素を特定する。第1変換部121は、注目画素に対応する正射画像IMGtの画素を特定する処理において、ステップS311の処理で第1画像格納部141から読み出した被写体距離と注目画素の画像IMG1における位置を示す像高h及び偏角θを用いる。
ステップS313において、第1書込部122は、ステップS312で特定された正射画像IMGtの画素に、既に画素値が設定されているか否かを判定する。
ステップS312で特定された正射画像IMGtの画素の画素値が未設定である場合に(ステップS313の否定判定(NO))、第1書込部122による処理は、ステップS314に移行する。
ステップS314において、第1書込部122は、ステップS311で選択された注目画素の画素値を第1画像格納部141から読み出し、ステップS312で特定された正射画像IMGtの画素に対応して、読み出した画素値を正射画像格納部143に書き込む。また、第1書込部122は、ステップS314において、ステップS312で特定された正射画像IMGtの画素に対応して、注目画素の画素値を正射画像格納部143に書き込むとともに、ステップS311の処理で読みだした被写体距離を書き込む。
一方、ステップS312で特定された正射画像IMGtの画素に既に設定された画素値がある場合に(ステップS313の肯定判定(YES))、第1書込部122による処理は、ステップS315に移行する。
ステップS315において、第1書込部122は、ステップS312で特定された正射画像IMGtの画素に書き込まれた被写体距離と注目画素に対応する被写体距離との比較により、注目画素が書き込み済みの画素よりも手前の被写体を示すか否かを判定する。ここで、手前とは、画像IMG1を撮像したカメラCAM1に近い側である。
ステップS312で特定された正射画像IMGtの画素に書き込まれた被写体距離よりも注目画素に対応する被写体距離が小さい場合に、第1書込部122は、注目画素で示される被写体は書き込み済みの画素で示される被写体よりも手前にあると判定する。この場合に、第1書込部122は、ステップS315の肯定判定(YES)ルートに従ってステップS314の処理を実行し、注目画素の画素値により、ステップ312で特定された正射画像IMGtの画素に設定された画素値を上書きする。
一方、ステップS312で特定された正射画像IMGtの画素に書き込まれた被写体距離が注目画素に対応する被写体距離以下である場合に、第1書込部122は、注目画素で示される被写体は書き込み済みの画素で示される被写体よりも手前にないと判定する。この場合に、第1書込部122は、ステップS315の否定判定(NO)ルートに従ってステップS314の処理をスキップし、ステップS316の処理に進む。
これにより、画像IMG1の複数の画素が正射画像IMGtの一つの画素に対応付けられた場合に、複数の画素のうち、カメラCAM1に近い被写体を示す画素の画素値を正射画像IMGtの画素値として残すことができる。
ステップS316において、第1変換部121は、画像IMG1に含まれる全ての画素を注目画素として選択したか否かに基づいて、画像IMG1に含まれる全ての画素を正射画像IMGtに写像したか否かを判定する。
まだ注目画素として選択されていない画像IMG1の画素がある場合に、第1変換部121は、画像IMG1の画素を正射画像に写像する処理は完了していないと判定する(ステップS316の否定判定(NO))。この場合に、処理は、ステップS311に戻り、第1変換部121により、新たな注目画素が選択される。そして、新たに選択された注目画素について、ステップS312からステップS316の処理が繰り返される。
一方、まだ注目画素として選択されていない画像IMG1の画素がない場合に、第1変換部121は、画像IMG1の画素を正射画像に写像する処理は完了したと判定する(ステップS316の肯定判定(YES))。この場合に、生成部12aの処理は終了し、図6に示した補完部13aにより、図4に示したステップS303の処理として、図8に示す処理が開始される。
図8は、図6に示した補完部13aの動作を示す。図8に示したステップS321〜ステップS327の処理は、図4においてステップS303として示した正射画像IMGtを補完する処理の一例である。
ステップS321において、検出部131は、正射画像格納部143に格納された正射画像IMGtから、まだ画素値が書き込まれていない正射画像IMGtの画素を検出し、検出した画素の正射画像IMGtにおける位置を示す情報を第2変換部に渡す。
ステップS322において、第2変換部132は、図6で説明したように、図2及び図3で説明した第2関数を用いて、ステップS321で検出された画素に対応する画像IMG2の画素を特定する。
ステップS323において、第2書込部133は、ステップS322の処理で特定された画素に対応して第2画像格納部142に保持された被写体距離が距離Ltを示す否かにより、特定された画像IMG2の画素が背景部分を示す否かを判定する。
ステップS322で特定された画素に対応して第2画像格納部142に保持された被写体距離が距離Ltを示す場合に、第2書込部133は、特定された画素は、画像IMG1において被写体に隠された背景部分を示す画像IMG2の領域に含まれると判断する。この場合に、第2書込部133は、ステップS323の肯定判定(YES)ルートに従ってステップS324の処理を実行する。
ステップS324において、第2書込部133は、ステップS322で特定された画像IMG2の画素の画素値を、ステップS321で正射画像IMGtから検出された画素の画素値として正射画像格納部142に書き込む。また、第2書込部133は、ステップS324において、ステップS321で検出された正射画像IMGtの画素で示される被写体の部位までの距離を示す情報を、検出された画素に対応して正射画像格納部143に書き込む。第2書込部133により、ステップS321で検出された正射画像IMGtの画素に対応して正射画像格納部143に書き込まれる情報は、ステップS322で特定された画像IMG2の画素に対応付けられた距離Ltを示す情報である。
一方、特定された画素に対応して第2画像格納部142に保持された被写体距離が距離Ltを示さない場合に、第2書込部133は、特定された画素は、画像IMG1において被写体に隠された背景部分を示さないと判定する。この場合に、処理は、ステップS323の否定判定(NO)ルートに進み、第2書込部133により、補間部134に対して、ステップS325及びステップS326で示される補間処理の実行が指示される。
ステップS325において、補間部134は、ステップS321で検出された画素の周囲の画素に対応して正射画像格納部143に保持された画素値に基づいて、検出された画素の画素値を推定する。ここで、補間部134による補間処理の対象となる正射画像IMGtの画素は、図5に点QtcRと点RtLとを結ぶ線分で示す領域のように、画像IMG1及び画像IMG2において被写体Scの影となる背景または被写体Scより遠方の被写体を示す。そこで、補間部134は、ステップS321で検出された画素に正射画像IMGtにおいて所定値よりも近接する画素の中で、次に述べる条件を満たす画素の画素値を用いて、検出された画素の画素値を推定する。補間部134により、ステップS321で検出された画素の画素値の補間に用いられる画素の条件は、画素に対応して正射画像格納部143に保持された被写体の部位までの距離が他の画素よりも大きいことである。例えば、補間部134は、検出された画素に正射画像IMGtにおいて近接する画素の中に、図3に示した距離Ltに相当する距離が対応付けられた画素がある場合に、距離Ltが対応付けられた画素の画素値を用いて、検出された画素の画素値を推定する。
ステップS326において、補間部134は、ステップS325の処理で推定した画素値を、ステップS321で検出された画素の画素値として正射画像格納部143に書き込む。また、補間部134は、ステップS325の処理で画素値の推定に用いられた画素に対応して正射画像格納部143に保持された距離と同等の距離を示す情報を、ステップS321で検出された画素に対応して正射画像格納部143に書き込む。これにより、ステップS321で検出された画素で示される被写体の部位までの距離と、ステップS325の処理で画素値の推定に用いられた画素で示される被写体の部位までの距離とが同等であることが示される。
ステップS323の肯定(YES)ルートの処理と否定判定(NO)ルートの処理は、ステップS327において合流する。
ステップS327において、検出部131は、正射画像格納部143に格納された正射画像IMGtの中に画素値が未定の画素があるか否かを判定する。
正射画像格納部143に格納された正射画像IMGtの中に画素値が未定の画素がある場合に(ステップS327の肯定判定(YES))、検出部131の処理は、ステップS321に戻り、正射画像IMGtから新たな画素を検出する。そして、新たに検出された画素について、ステップS322からステップS327の処理が繰り返される。
一方、正射画像IMGtに含まれる全ての画素に画素値が設定されたことにより、画素値が未定の画素がなくなった場合に(ステップS327の否定判定(NO))、補完部13aは、処理を終了する。
図6及び図8を用いて説明したように、図6に示した補完部13aを含む画像補正装置10aは、カメラCAM1及びカメラCAM2の双方から見て被写体の陰となる背景部分を示す領域を含めて、正射画像IMGtに含まれる画素の画素値をもれなく生成できる。
ところで、図1及び図6に示したカメラCAM2は、1つに限られず、例えば、図9に示すように、カメラCAM1と複数のカメラCAM2とが一つの装置に配置されてもよい。
図9は、複数のカメラCAM1、CAM2の配置例を示す。図9(A)及び図9(B)のそれぞれは、カメラCAM1と複数のカメラCAM2とをデジタルカメラなどの撮像装置に搭載する場合の配置例を示す。
図9(A)の例は、カメラCAM1とほぼ同等の性能を持つ2つのカメラCAM2a,CAM2bが搭載された撮像装置EQ1を示す。図9(A)の例では、カメラCAM1で撮像された画像IMG1と2つのカメラCAM2a,CAM2bのそれぞれで撮像された2つの第2画像IMGは、ほぼ同等の解像度を持つことになる。
図9(B)の例は、カメラCAM1よりも小さい開口を持つ4つのカメラCAM2a,CAM2b,CAM2c,CAM2dが搭載された撮像装置EQ2を示す。図9(B)の例では、カメラCAM2a〜CAM2dのそれぞれで撮像された画像IMG2のそれぞれは、カメラCAM1で撮像された画像IMG1よりも解像度の低い画像となる。一方、図9(B)の例では、4つのカメラCAM2a〜CAM2dのそれぞれの開口が小さいため、カメラCAM1とカメラCAM2とが同等の開口を持つ場合に比べて、カメラCAM2a〜CAM2dのそれぞれを配置する場合の自由度が大きい。したがって、カメラCAM1とカメラCAM2a〜CAM2dのそれぞれとの間及び4つのカメラCAM2a〜CAM2dの相互で被写体を見た場合の視差が、図9(A)の例よりも大きくなる位置にカメラCAM2a〜CAM2dを配置することが可能である。
以下では、図9(B)に示した撮像装置EQ2に搭載されたカメラCAM1及びカメラCAM2a〜CAM2dが図6に示した画像補正装置10aと同等の機能を有する画像補正装置10bに接続される場合が説明される。
図10は、画像補正装置の別実施形態を示す。なお、図10に示す構成要素のうち、図6に示した構成要素と同等のものは、同一の符号で示すとともに構成要素の説明を省略する場合がある。
図10に示した画像補正装置10bは、生成部12aと、図6に示した算出部11aに相当する算出部11bと、図6に示した補完部13aに相当する補完部13bと、図6に示したフレームメモリ14に相当するフレームメモリ14bとを含む。
フレームメモリ14bは、第1画像格納部141及び正射画像格納部143とともに、図9(B)に示した4つのカメラCAM2a〜CAM2dのそれぞれに対応して設けられた第2画像格納部142a,142b,142c,142dを含む。
算出部11bは、図6に示した算出部11aと同様にして、第1画像格納部141に格納された画像IMG1と第2画像格納部142a〜142dに格納された画像IMG2a〜IMG2dとに含まれる各画素が示す被写体の部位までの距離を算出する。更に、算出部11bは、例えば、画像IMG2a〜IMG2dの相互における被写体の視差に基づいて、画像IMG2a〜IMG2dに含まれる各画素が示す被写体の部位までの距離を算出する。ここで、画像IMG2a〜IMG2dの相互における被写体の視差に基づく計算を行うことで、算出部11bは、図11で説明するように、画像IMG1において別の被写体で隠された被写体の部位までの距離を算出することができる。
補完部13bは、検出部131と、図6に示した第2変換部132に相当する第2変換部132a,132b,132c,132dと、抽出部135a,135b,135c,135dと、補完制御部136と、補間部134とを含む。
第2変換部132a〜132dのそれぞれは、検出部131から、検出部131により検出された正射画像IMGtの画素の正射画像IMGtにおける位置を示す情報を受ける。また、第2変換部132a〜132dのそれぞれは、検出部131から受けた情報に基づいて、検出部131で検出された画素に正射投影される被写体を示す可能性のある画像IMG2a〜IMG2dの候補画素を特定する。第2変換部132a〜132dのそれぞれは、候補画素の特定に、カメラCAM2a〜CAM2dのそれぞれの歪特性が反映された第2関数を用いる。
ここで、画像IMG1において複数の被写体が互いに重なり合っている場合に、画像IMG1の画素が写像されなかった正射画像IMGtの領域である第1領域は、画像IMG1において被写体に隠された他の被写体に対応することがある。言い換えれば、画像IMG1において被写体に隠された他の被写体の部位が、第1領域に正射投影される場合がある。そして、画像IMG1において被写体に隠された他の被写体が第1領域に正射投影される場合に、隠された被写体とカメラCAM2a〜CAM2dとの間の距離に応じて、第1領域に対応する画像IMG2a〜IMG2dの領域は異なる。また、第1領域の中に、隠された被写体が正射投影される領域と背景が正射投影される領域とが混在している場合もある。
そこで、第2変換部132a〜132dは、カメラCAM2a〜CAM2dのそれぞれにつき、カメラからn(nは2以上の整数)通りの異なる距離に隠された被写体が存在する場合を想定する。そして、第2変換部132a〜132dは、想定されるn通りの各場合について、第1領域に対応する画像IMG2a〜IMG2dの領域を、検出部131によって第1領域から検出された画素のそれぞれに対応する候補画素の集合として特定する。第2変換部132a〜132dは、画像IMG2a〜IMG2d中の候補画素の特定に、隠された被写体までの距離が異なるn通りの場合のそれぞれに対応して、カメラCAM2a〜CAM2dの各距離における特性が反映された第2関数を用いる。なお、n個の距離は、図3に示した距離Ltと、カメラCAM1,CAM2a〜CAM2dで撮像される被写体の距離として想定される範囲を分割した複数の区間のそれぞれに対応する距離を含むことが望ましい。
第2変換部132a〜132dのそれぞれにより特定された、第1領域から検出された画素に対応する候補画素の画像IMG2a〜IMG2dにおける位置を示す情報は、抽出部135a,135b,135c,135dのそれぞれに渡される。候補画素の画像IMG2a〜IMG2dにおける位置を示す情報は、想定されるn通りの場合に対応して、それぞれn個の情報が抽出部135a,135b,135c,135dに渡される。また、各第2変換部132a〜132dのそれぞれにより各候補画素を特定する際に第2関数に設定されたカメラCAM2a〜CAM2dからの距離と特定された候補画素との対応関係を示す情報は、補完制御部136に渡される。
抽出部135a〜135dのそれぞれは、第2変換部132a〜132dのそれぞれから受けた情報で示される候補画素の画素値及び各候補画素に対応して保持された被写体距離を第2画像格納部142a〜142dのそれぞれから抽出する。抽出部135a〜135dにより抽出された画素値及び被写体距離は、補完制御部136に渡される。
補完制御部136は、図11及び図12で説明するようにして、第2変換部132a〜132dのそれぞれによりn個の距離ごとに特定された候補画素の中から、検出部131で検出された正射画像IMGtの画素に写像される画素として適切な画素を判別する。そして、補完制御部136は、適切な画素として判別した候補画素の画素値を、検出部131で検出された画素の画素値として正射画像格納部143に書き込む。一方、候補画素の中に、検出部131で検出された正射画像IMGtの画素に写像される画素として適切な画素が含まれない場合に、補完制御部136は、補間部134に対して図6及び図8で説明した補間処理を実行させる。
次に、図11及び図12を用いて、画像IMG1に含まれる被写体の一つが、画像IMG1に含まれる別の被写体の一部を覆い隠している場合に、隠された被写体の一部の画像を複数の画像IMG2を用いて補完する手法が説明される。
図11は、撮像された画像IMG1において被写体の一つが他の被写体を覆い隠している例を示す。図11(A)は、図9(A)に示したカメラCAM1及びカメラCAM2a,CAM2bにより、二つの被写体Sd,Seを撮像することで得られた画像IMG1及び画像IMG2a,IMG2bの例を示す。図11(B)は、図10に示した生成部12aにより、図11(A)に示した画像IMG1の各画素を写像することで生成される正射画像IMGtの例を示す。また、図11(C)は、図10に示した補完部13bにより、図11(A)に示した画像IMG2a,IMG2bを用いて、図11(B)に示した正射画像IMGtを補完することで得られる正射画像IMGtの例を示す。
図11(A)に示した画像IMG1において、被写体Seの一部は、被写体SeよりもカメラCAM1に近い位置にある被写体Sdによって隠されている。
一方、図11(A)に示した画像IMG2a,IMG2bのそれぞれに含まれる被写体Seは、いずれも被写体Sdによって隠されていない。したがって、図10に示した算出部11bは、2つの画像IMG2a,IMG2bにおける被写体Seの視差に基づいて、2つの画像IMG2a,IMG2bにおいて被写体Seを示す領域内の画素毎に、図2及び図3で説明した被写体距離を算出することができる。
図11(B)において斜線で示した領域Hdは、図11(A)に示した画像IMG1に含まれる被写体Sdによって隠された第1領域の例である。図11(B)に示した領域Hdは、画像IMG1に含まれる被写体Sdによって隠された被写体Seを示す部分と背景を示す部分とを含んでいる。しかしながら、領域Hdに含まれる画素の位置に基づいて、領域Hdに含まれる画素が被写体Seの部位を示すか背景を示すかを判別することは困難である。また、領域Hdの正射画像IMGtにおける位置は、領域Hdに正射投影される被写体Seの部位とカメラCAM2a,CAM2bとの距離にかかわらず、カメラCAM1の光軸と被写体Seの部位との位置関係を示す。このため、領域Hdの正射画像IMGtにおける位置に基づいて、領域Hdに正射投影される被写体Seの部位とカメラCAM2a,CAM2bとの距離を判別することはできない。一方、領域Hdに正射投影される被写体Seの部位とカメラCAM2a,CAM2bとの距離に応じて、画像IMG2a,IMG2bにおいて領域Hdに正射投影される被写体Seの部位を示す領域の位置は異なる。
このため、図10に示した第2変換部132a,132bは、領域Hd内の各画素に正射投影される被写体Seの部位が、カメラCAM2a,CAM2bからn個の異なる距離が離れている場合の各々につき、画像IMG2a,IMG2b中の候補画素を特定する。第2変換部132a,132bは、各場合の候補画素の特定に、n個の距離のそれぞれに被写体がある場合のカメラCAM2a,CAM2bの歪特性が反映された第2関数を用いる。
ここで、ある候補画素の特定の際に、領域Hdに正射投影される被写体Seの部位からカメラCAM2a,CAM2bまでの間に想定された距離と、特定された候補画素に対応して第2画像格納部142a,142bに保持された被写体距離との比較を考える。
例えば、背景までの距離Ltを想定して特定された画像IMG2a,IMG2bのそれぞれにおける候補画素に対応して、第2画像格納部142a,142bに距離Ltと同等の被写体距離が格納されている場合がある。この場合に、特定された候補画素は領域Hdに正射投影される背景を示す。また、背景までの距離Ltよりも小さい距離を想定して特定された画像IMG2a,IMG2bのそれぞれにおける候補画素に対応して、想定された距離と同等の被写体距離が第2画像格納部142a,142bに格納されている場合がある。この場合に、各候補画素が画像IMG2a,IMG2bのそれぞれにおいて示す被写体は、カメラCAM2a,CAM2bから想定された距離が離れた被写体Seである。これらの場合のように、特定された候補画素に対応する被写体距離が候補画素の特定の際に想定された距離と同等である場合に、候補画素は、領域Hdに正射投影される被写体Seまたは背景を画像IMG2a,IMG2bのそれぞれにおいて示す。即ち、候補画素に対応する被写体距離が候補画素の特定の際に想定された距離と同等であるとされた候補画素は、正射画像IMGtにおいて領域Hdに含まれる画素に写像される画素として適切である。
一方、例えば、背景までの距離Ltを想定して特定された画像IMG2a,IMG2bのそれぞれにおける候補画素に対応して、第2画像格納部142a,142bに距離Ltよりも小さい被写体距離が格納されている場合がある。また、背景までの距離Ltよりも小さい距離を想定して特定された画像IMG2a,IMG2bのそれぞれにおける候補画素に対応して、第2画像格納部142a,142bに距離Ltを示す被写体距離が格納されている場合がある。これらの場合のように、特定された候補画素に対応する被写体距離と、候補画素を特定する際に想定された距離とが異なる場合に、特定された候補画素は、領域Hdに正射投影される被写体Seあるいは背景を示さない。
そこで、補完制御部136は、第2変換部132a,132bで特定された候補画素に対応して第2画像格納部142a、142bに保持された被写体距離と候補画素を特定する際に用いられた第2関数において想定された距離とを比較する。そして、補完制御部136は、候補画素に対応付けられた被写体距離と候補画素を特定する際に想定された距離とが同等である場合に、候補画素は、検出部131で検出された領域Hd内の画素に正射投影される被写体または背景を示すと判断する。この場合に、補完制御部136は、領域Hd内の画素に正射投影される被写体または背景を示すと判断した候補画素を、検出部131によって検出された正射画像IMGtの画素に写像される画素として適切な画素であると判別する。なお、補完制御部136は、候補画素に対応付けられた被写体距離と候補画素の特定で想定された距離との差が、例えば、図10で説明したn個の距離相互の差の最小値程度に設定される閾値以下である場合に、両者が同等であるとしてもよい。
そして、補完制御部136により判別された候補画素を正射画像IMGt中の領域Hd内の画素に写像することで、図11(C)に示すように、画像IMG2a,IMG2bを用いて領域Hdが補完された正射画像IMGtを生成することができる。
図12は、図10に示した補完部13bの動作を示す。なお、図12に示すステップのうち、図8に示したステップと同等のものは、同一の符号で示すとともにステップの説明を省略する場合がある。図12に示したステップS321及びステップS325〜ステップS327とステップS331〜ステップS336の処理は、図4においてステップS303として示した正射画像IMGtを補完する処理の別例である。
図12の例では、図8に示したステップS322からステップS324の処理に代えて、ステップS331からステップS336の処理が、第2変換部132a〜132d、抽出部135a〜135d及び補完制御部136によって実行される。
ステップS331において、第2変換部132a〜132dのそれぞれは、ステップS321で検出された正射画像IMGtの画素に正射投影される被写体を示す可能性のある候補画素を、画像IMG2a〜IMG2dのそれぞれにおいて特定する。ステップS331で、各第2変換部132a〜132dは、画像IMG2a〜IMG2d中の候補画素の特定に、図10で説明したように、n個の距離の各々が被写体までの距離である場合のカメラCAM2a〜CAM2dの歪特性が反映された第2関数を用いる。つまり、各第2変換部132a〜132dは、正射画像IMGtから検出された画素に正射投影される被写体を示す候補画素として、被写体までの距離として互いに異なる距離を想定した第2関数により、画像IMG2a〜IMG2dの各々のn個の画素を特定する。これにより、正射画像IMGtの1画素に対し、画像IMG2a〜IMG2dの各画像についてそれぞれn個の画素が候補画素として特定される。
ステップS332において、抽出部135a〜135dのそれぞれは、ステップS331の処理で特定されたn個の候補画素のそれぞれに対応して第2画像格納部142a〜142dのそれぞれに保持された画素値及び被写体距離を抽出する。
ステップS333において、補完制御部136は、ステップS332の処理で各候補画素に対応して抽出された被写体距離のそれぞれと、候補画素を特定する際に想定された被写体または背景までの距離とを照合する。例えば、補完制御部136は、背景までの距離Ltを想定した第2関数により特定された画像IMG2a〜IMG2dの候補画素に対応して、ステップS332で第2画像格納部142a〜142dのそれぞれから抽出された被写体距離と、距離Ltとを照合する。同様に、補完制御部136は、他の距離を想定した第2関数により特定された画像IMG2a〜IMG2dの候補画素に対応して、ステップS332の処理で抽出された被写体距離と、候補画素を特定する際に想定された距離とを照合する。
ステップS334において、補完制御部136は、ステップS333の照合結果に基づいて、ステップS331で画像IMG2a〜IMG2d毎に特定されたn個の候補画素の中に、被写体距離に関する条件を満たす候補画素があるか否かを判定する。補完制御部136は、例えば、各候補画素の特定に用いられた距離と当該候補画素に対応付けられた被写体距離との差が閾値以下である場合に、候補画素に対応する被写体距離は条件を満たすと判定する。ここで、補完制御部136で用いる被写体距離に関する条件は、図11で説明したように、候補画素で示される被写体の部位または背景の一部が、ステップS321で検出された正射画像IMGtの画素の位置に正射投影される条件を示す。
ステップS333の照合処理により、被写体距離に関する条件を満たす候補画素があることが示された場合に(ステップS334の肯定判定(YES))、補完制御部136は、条件を満たすとされた候補画素について、ステップ335、S336の処理を実行する。
ステップS335において、補完制御部136は、条件を満たすとされた候補画素のそれぞれに対応する被写体距離を互いに比較し、条件を満たすとされた候補画素の中から、他の候補画素よりも小さい被写体距離が対応付けられた候補画素を選択する。例えば、被写体距離に関する条件を満たす画像IMG2aの候補画素が背景の一部を示し、被写体距離に関する条件を満たす画像IMG2bの候補画素が距離LtよりもカメラCAM2bに近い被写体を示す場合がある。この場合に、条件を満たすとされた候補画素の中で、他の候補画素よりも小さい被写体距離が対応付けられた候補画素を選択することにより、背景よりもカメラCAM2a,CAM2bに近い位置にある被写体を示す候補画素を選択することができる。
ステップS336において、補完制御部136は、ステップS335の処理で選択した候補画素の画素値を、ステップS321の処理で検出された正射画像IMGtの画素の画素値として正射画像格納部143に書き込む。
以上に説明したステップS335及びステップS336の処理を補完制御部136により実行することで、図11(B)に示した領域Hdに含まれる各画素を、図11(A)に示した画像IMG2a,IMG2bの画素を用いて補完することができる。
一方、ステップS333の照合処理により、被写体距離に関する条件を満たす候補画素がないことが示された場合に、処理は、ステップS334の否定判定(NO)ルートに従ってステップS325及びステップS326に移行する。そして、ステップS325,S326において、図10に示した補間部134により、ステップS321の処理で正射画像IMGtから検出された画素の周囲の画素に基づいて、検出された画素の画素値を補間する処理が行われる。
なお、ステップS331〜ステップS336の処理は、画像IMG2a〜IMG2dについて並列に実行する場合に限らず、例えば、画像IMG2a〜IMG2dのそれぞれについて順次に行ってもよい。そして、画像IMG2a〜IMG2dの何れにも、被写体距離に関する条件を満たす候補画素が含まれていないとされた場合に、ステップS325及びステップS326の処理が行われてもよい。
また、ステップS331の処理は、画像IMG2a〜IMG2dのそれぞれにおいて、検出された画素に正射投影される被写体を示す候補画素の特定に、被写体までの距離としてn個の互いに異なる距離を想定した第2関数を用いる処理に限られない。例えば、画像IMG2a〜IMG2dに含まれる各画素で示される被写体が正射投影される正射画像IMGtの画素を特定することで生成される、正射画像IMGtの各画素と画像IMG2の画素との対応関係を示す対応情報を第2関数として用いてもよい。この場合に、補完制御部136は、検出部131によって検出された正射画像IMGtの画素に対して、対応情報により対応付けられる画像IMG2の画素があるか否かにより、正射画像IMGtに写像される画素として適切な画素の有無を判定してもよい。
図9から図12で説明したように、図10に示した算出部11bは、複数の画像IMG2a〜IMG2dを用いることで、図11(A)に示した画像IMG1において隠された被写体Seについても被写体距離を算出することができる。そして、画像IMG1において隠された被写体Seを示す画像IMG2a〜IMG2dの画素毎に算出された被写体距離を用いることで、図10〜図12で説明したように、補完部13bは、画像IMG2a〜IMG2dを用いて領域Hdを補完することができる。即ち、図10に示した画像補正装置10bは、図11(A)のように画像IMG1において一方の被写体Seの一部が他方の被写体Sdに隠されていても、図11(C)に示すように、被写体Sd,Seの双方の形状を歪みなく示す正射画像IMGtを生成できる。
しかも、画像IMG1と画像IMG2a〜IMG2dのそれぞれとの比較により、算出部11bは、画像IMG1に含まれる各画素で示される被写体までの距離を、画像IMG2が一つである場合よりも高い精度で算出することが可能である。ここで、画像IMG2a〜IMG2dのそれぞれの解像度が画像IMG1に比べて低い場合にも、例えば、超解像技術などを用いることで、画像IMG2a〜IMG2dの解像度を向上させることが可能である。したがって、画像IMG2a〜IMG2dを用いる場合も、画像IMG1と同等の解像度を持つ画像IMG2a,IMG2bを用いる場合と同様の精度で、算出部11bは、画像IMG1に含まれる各画素で示される被写体までの距離を算出できる。
以上に説明した本件開示の画像補正装置10,10a,10bは、例えば、デジタルカメラやスマートホンなどに搭載されたプロセッサ及びメモリなどのハードウェアを用いて実現することができる。以下では、図13及び図14を用いて、図10に示した画像補正装置10bを搭載したデジタルカメラの例が説明される。なお、図10に示した画像補正装置10bは、デジタルカメラに限らず、画像を撮像する機能を有する装置であれば、スマートホンや携帯電話などの端末装置やタブレット型の端末装置に搭載されてもよい。また、図10に示した画像補正装置10bは、図9に示したカメラCAM1及びカメラCAM2a〜CAM2dに接続されたコンピュータ装置に搭載されてもよい。
図13は、図10に示した画像補正装置10bを搭載したデジタルカメラのハードウェア構成の一例を示している。なお、図13に示した構成要素のうち、図10に示した構成要素と同等のものは同一の符号で示され、構成要素の説明は省略される場合がある。
デジタルカメラDSCは、プロセッサ21と、メモリ22と、フレームメモリ14bと、物体認識エンジン23と、信号処理部24と、操作パネル25と、液晶表示部26と、メモリカードインタフェース27とを含んでいる。また、メモリカードインタフェース27には、SD(Secure Digital)メモリカードなどの着脱可能なメモリカードMCが装着されている。
また、デジタルカメラDSCは、図9(B)に示したカメラCAM1に相当する主撮像部28と、同じく図9(B)に示したカメラCAM2a〜CAM2dのそれぞれに相当する副撮像部29a〜29dとを含んでいる。なお、図13においては、副撮像部29b、29cの図示は省略されている。図13に示したプロセッサ21、メモリ22、フレームメモリ14b、物体認識エンジン23、信号処理部24、操作パネル25、液晶表示部26及びメモリカードインタフェース27は、バスを介して互いに接続されている。そして、プロセッサ21とメモリ22とフレームメモリ14bは、画像補正装置10bに含まれる。また、プロセッサ21に接続されたバスは、主撮像部28及び副撮像部29a〜29dのそれぞれに接続されている。そして、主撮像部28及び副撮像部29a〜29dのそれぞれから出力される信号は、信号処理部24により、画像IMG1及び画像IMG2a〜IMG2dに変換される。信号処理部24による変換で生成された画像IMG1及び画像IMG2a〜IMG2dは、バスを介して、画像補正装置10bに渡され、フレームメモリ14bに格納される。
メモリ22は、デジタルカメラDSCの動作を制御するための制御プログラムを保持するとともに、プロセッサ21に、図4に示した画像補正処理を実行させるためのアプリケーションプログラムを保持する。プロセッサ21は、メモリ22に保持された制御プログラムを実行することで、撮像部23、信号処理部24、操作パネル25及び液晶表示部26の動作を制御する。また、プロセッサ21は、メモリ22に保持された画像補正処理のためのアプリケーションプログラムを実行することにより、図10に示した算出部11b、生成部12a及び補間部13bの機能を果たす。
つまり、図10に示した画像補正装置10bは、例えば、図13に示したデジタルカメラDSCに搭載されたプロセッサ21と、メモリ22と、フレームメモリ14bとの協働によって実現することができる。
また、図13に示した操作パネル25は、デジタルカメラDSCの利用者からの指示を受けるための入力装置であり、例えば、主撮像部28及び副撮像部29a〜29dに対して撮像を実行させる指示を入力するためのレリーズボタンなどを含んでいる。また、液晶表示部26は、メモリ22あるいはフレームメモリ14bに保持された画像データ及びデジタルカメラDSCの制御に用いる情報を表示する表示装置である。
また、デジタルカメラDSCに含まれる物体認識エンジン23は、画像補正装置10bによって歪が補正された後の画像である正射画像IMGtを受け、正射画像IMGtに含まれる被写体を認識するための処理を行う。
図14は、図13に示したデジタルカメラDSCの動作を示す。図14に示したステップS301〜ステップS303の各処理は、図4において同じ符号で示したステップに相当する処理であり、画像補正処理のためのアプリケーションプログラムに含まれる処理の一例である。また、図14に示したステップS341からステップS344の各処理は、デジタルカメラDSCの動作を制御するための制御プログラムに含まれる処理の一例である。図14に示したステップのうち、ステップS342の処理は、図13に示した物体認識エンジン23によって実行され、他のステップの処理は、プロセッサ21によって実行される。
プロセッサ21及び物体認識エンジン23は、例えば、操作パネル25からレリーズボタンにより撮像の実行が指示されたことが通知される毎に、図14に示した各処理を実行する。
ステップS341において、プロセッサ21は、主撮像部28及び副撮像部29a〜29dに対して撮像の実行を指示し、主撮像部28及び副撮像部29a〜29dで撮像された画像IMG1及び画像IMG2a〜IMG2dを受ける。
ステップS301において、プロセッサ21は、図9から図11で説明したようにして、画像IMG1及び画像IMG2a〜IMG2dに含まれる各画素で示される被写体と主撮像部28及び副撮像部29a〜29dとの間の被写体距離を算出する。
ステップS302において、プロセッサ21は、図7で説明したようにして、画像IMG1の各画素を、各画素が示す被写体までの距離における主撮像部28の特性が反映された第1関数を用いて写像することで、正射画像IMGtを生成する。
ステップS303において、プロセッサ21は、図12で説明したようにして、副撮像部29a〜29dのそれぞれの特性が反映された第2関数で示される画像IMG2a〜IMG2dの画素を写像することで、正射画像IMGtを補完する。
ステップS342において、物体認識エンジン23は、ステップS303の処理で補完された正射画像IMGtにおいて被写体を示す領域のそれぞれの特徴を解析することで、正射画像IMGtに含まれる個々の被写体についての物体認識を行う。ここで、図10〜図12で説明したように、フレームメモリ14bに設けられた正射画像格納部143は、正射画像IMGtの各画素の画素値とともに、各画素で示される被写体までの距離を示す情報を保持している。したがって、物体認識エンジン23は、正射画像IMGtにおいて個々の被写体を示す領域を特定する処理に、各画素の画素値に基づいて特定されるエッジとともに、被写体までの距離の変化に基づいて特定される被写体の輪郭を用いることができる。これにより、物体認識エンジン23は、被写体までの距離の変化を考慮しない場合に比べて、正射画像IMGtにおいて個々の被写体を示す領域を高い精度で特定することが可能である。しかも、図1〜図12で説明したように、ステップS303の処理によって補完された正射画像IMGtにおいて、個々の被写体は歪みのない形状で示される。したがって、補完された正射画像IMGtに基づく物体認識を行うことにより、物体認識エンジン23は、例えば、画像IMG1及び画像IMG2a〜IMG2dのそれぞれに基づいて物体認識を行った場合よりも精度の高い認識結果を得ることができる。
ステップS343において、プロセッサ21は、ステップS342の処理で得られた認識結果を含むタグ情報を作成し、作成したタグ情報を正射画像IMGt、画像IMG1及び画像IMG2a〜IMG2dのそれぞれに付加する。
ステップS344において、プロセッサ21は、タグ情報が付加された正射画像IMGt、画像IMG1及び画像IMG2a〜IMG2dのそれぞれをメモリカードインタフェース27に渡し、メモリカードMCに記録させる。
以上に説明したように、図13に示したデジタルカメラDSCは、画像IMG1及び画像IMG2a〜IMG2dのそれぞれに基づいて物体認識を行った場合よりも精度の高い認識結果を示すタグ情報が付加された画像を記録することができる。
図1〜図14を用いて説明した画像補正装置10,10a,10bによって歪が補正された画像である正射画像IMGtは、図1に示したように、被写体Sa,Sb相互の位置関係及び被写体Sa,Sbそれぞれの奥行にかかわらず、被写体の形状を歪みなく示す。したがって、図1〜図14を用いて説明した画像補正装置10,10a,10bによって生成される正射画像IMGtは、立体的な文化財などの画像を保存するデジタルアーカイブに蓄積する画像としても有用である。
以上の詳細な説明により、実施形態の特徴点及び利点は明らかになるであろう。これは、特許請求の範囲が、その精神および権利範囲を逸脱しない範囲で、前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更を容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
以上の説明に関して、更に、以下の各項を開示する。
(付記1)互いに平行な光軸を持つ第1撮像部及び第2撮像部のそれぞれで撮像された第1画像と第2画像との視差に基づいて、被写体と前記第1撮像部及び前記第2撮像部との間の距離である被写体距離を画素毎に求め、
前記第1画像に含まれる画素を、前記画素の位置と前記画素に対応して求めた被写体距離と前記第1撮像部の歪特定とで決定される第1関数により、前記画素で示される前記被写体の部位が正射投影される位置に写像することで、前記被写体を含む正射画像を生成し、
前記第1関数により前記第1画像の画素が写像されなかった前記正射画像の領域である第1領域に正射投影される被写体または背景を表す前記第2画像の第2領域を、前記第1領域の各画素の位置と前記第1領域に正射投影される被写体または背景に対応する被写体距離と前記第2撮像部の歪特性とで決定される第2関数により特定し、特定した前記第2領域により前記正射画像を補完する
ことを特徴とする画像補正方法。
(付記2)互いに平行な光軸を持つ第1撮像部及び第2撮像部で撮像された第1画像と第2画像との視差に基づいて、被写体と前記第1撮像部及び前記第2撮像部との間の距離である被写体距離を画素毎に求め、
前記画素の位置と前記被写体距離とに応じた前記第1撮像部の歪特性に基づいて、前記第1画像中の被写体を正射投影される位置に写像することで正射画像を生成し、
前記正射画像における画素の位置と前記被写体距離と前記第2撮像部の歪特性とに基づいて、前記第1画像中の被写体が写像されなかった前記正射画像の領域に対応する前記第2画像の領域を特定し、特定した領域により前記正射画像を補完する
ことを特徴とする画像補正方法。
(付記3)付記1または付記2に記載の画像補正方法において、
前記正射画像を補完する処理は、
前記第1領域に、前記第2画像の画素が写像されていない第1画素が残された場合に、前記第1画像または前記第2画像の画素が写像された前記正射画像の画素のうち、他の画素よりも前記第1画素に近接する画素であって、前記他の画素よりも大きい被写体距離が算出された前記第1画像または前記第2画像の画素が写像された画素の画素値を用いて前記第1画素の画素値を補間することで行われる
ことを特徴とする画像補正方法。
(付記4)付記1乃至付記3のいずれか1に記載の画像補正方法において、
前記正射画像を生成する処理は、
前記第1画像に含まれる複数の被写体のそれぞれを示す画素が前記第1関数により前記正射画像の同一の位置に写像される場合に、前記画素のうち、他の被写体よりも前記第1撮像部に近い被写体を示す画素を前記正射画像に写像することで行われる
ことを特徴とする画像補正方法。
(付記5)付記1乃至付記4のいずれか1に記載の画像補正方法において、
前記被写体距離を求める処理は、
前記第1画像と複数の第2撮像部のそれぞれによる撮像で得られた複数の第2画像とを受けた場合に、前記第1画像と前記複数の第2画像のそれぞれとにおける視差に基づいて、前記第1画像と前記第2画像のそれぞれに共通して含まれる被写体を対象として前記被写体距離を前記被写体を示す画素毎に求め、
前記複数の第2画像相互における視差に基づいて、前記第2画像相互に共通して含まれる被写体を対象として前記被写体距離を前記被写体を示す画素毎に求めることで実行され、
前記正射画像を補完する処理は、
前記複数の第2撮像部のそれぞれの歪特性を用いて決定された前記第2関数により、前記第1領域に含まれる画素に対応する可能性のある前記第2画像の複数の候補画素が示される場合に、前記複数の候補画素のうち、前記被写体距離が他の画素よりも小さい候補画素を写像することで実行される
ことを特徴とする画像補正方法。
(付記6)互いに平行な光軸を持つ第1撮像部及び第2撮像部のそれぞれで撮像された第1画像と第2画像との視差に基づいて、被写体と前記第1撮像部及び前記第2撮像部との間の距離である被写体距離を画素毎に求める算出部と、
前記第1画像に含まれる画素を、前記画素の位置と前記画素に対応して求めた被写体距離と前記第1撮像部の歪特定とで決定される第1関数により、前記画素で示される前記被写体の部位が正射投影される位置に写像することで、前記被写体を含む正射画像を生成する生成部と、
前記第1関数により前記第1画像の画素が写像されなかった前記正射画像の領域である第1領域に正射投影される被写体または背景を表す前記第2画像の第2領域を、前記第1領域の各画素の位置と前記第1領域に正射投影される被写体または背景に対応する被写体距離と前記第2撮像部の歪特性とで決定される第2関数により特定し、特定した前記第2領域により前記正射画像を補完する補間部と、
を有することを特徴とする画像補正装置。
(付記7)付記6に記載の画像補正装置において、
前記補完部は、
前記第1領域に、前記第2画像の画素が写像されていない第1画素が残された場合に、前記第1画像または前記第2画像の画素が写像された前記正射画像の画素のうち、他の画素よりも前記第1画素に近接する画素であって、前記他の画素よりも大きい被写体距離が算出された前記第1画像または前記第2画像の画素が写像された画素の画素値を用いて前記第1画素の画素値を補間する補間部を有する
ことを特徴とする画像補正装置。
(付記8)付記6または付記7に記載の画像補正装置において、
前記生成部は、
前記第1画像に含まれる複数の被写体のそれぞれを示す画素が前記第1関数により前記正射画像の同一の位置に写像される場合に、前記画素のうち、他の被写体よりも前記第1撮像部に近い被写体を示す画素を前記正射画像に写像する
ことを特徴とする画像補正装置。
(付記9)互いに平行な光軸を持つ第1撮像部及び第2撮像部のそれぞれで撮像された第1画像と第2画像との視差に基づいて、被写体と前記第1撮像部及び前記第2撮像部との間の距離である被写体距離を画素毎に求め、
前記第1画像に含まれる画素を、前記画素の位置と前記画素に対応して求めた被写体距離と前記第1撮像部の歪特定とで決定される第1関数により、前記画素で示される前記被写体の部位が正射投影される位置に写像することで、前記被写体を含む正射画像を生成し、
前記第1関数により前記第1画像の画素が写像されなかった前記正射画像の領域である第1領域に正射投影される被写体または背景を表す前記第2画像の第2領域を、前記第1領域の各画素の位置と前記第1領域に正射投影される被写体または背景に対応する被写体距離と前記第2撮像部の歪特性とで決定される第2関数により特定し、特定した前記第2領域により前記正射画像を補完する、
処理をコンピュータに実行させることを特徴とする画像補正プログラム。