(58)【調査した分野】(Int.Cl.,DB名)
前記画像補正部は、前記複数の球体投影画像を、さらに仮想の円柱周面上にそれぞれ投影して複数の円柱投影画像を取得することによって、前記撮像した複数の画像を補正するものであることを特徴とする請求項1に記載の射出瞳位置測定装置。
前記画像補正部は、補正前の前記複数の画像の座標と、これに対応する補正後の前記複数の画像の座標とを保持する座標変換テーブルを用いて、前記複数の画像を補正するものであることを特徴とする請求項1又は請求項2に記載の射出瞳位置測定装置。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、球体投影による補正を行う際には、仮想球体を適切なサイズに設定しないと、隣り合う画像の端部同士が整合せず、画像を滑らかに連結できなくなってしまう。複数の画像を補正して連結する場合、仮想球体の半径を画像を撮像した撮像部の射出瞳から撮像素子までの光軸上の距離(以下、「射出瞳距離」という。)と等しくすることによって、画像を滑らかに連結させることができる。但し、実機における射出瞳距離を正確に測定することは容易ではない。レンズの射出瞳位置は合焦点調整などで設計値から移動してしまう。したがって、合焦調整後の実機における実際の射出瞳距離は、設計値からは求められない場合がある。また、使用するレンズによっては、射出瞳位置がレンズメーカーから公開されていなかったり、射出瞳位置の正確な測定値が分からなかったりする場合もある。
【0005】
上記に鑑みて本発明は、実機における実際の射出瞳位置を測定可能にすることを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明に係る射出瞳位置測定装置は、撮像光学系及び撮像素子によって撮像した複数の画像を入力する画像入力部と、画像入力部が入力した複数の画像を仮想球体の球面上にそれぞれ投影して複数の球体投影画像を取得することによって複数の画像を補正する画像補正部と、画像補正部が補正した複数の画像の一部を連結領域として互いに重ね合わせて、複数の画像を連結する画像連結部と、補正された複数の画像が、画像連結部によって滑らかに連結されたときの仮想球体の半径値を記憶する仮想球体半径値記憶部と、仮想球体半径値記憶部から半径値を読み出すことによって撮像光学系の射出瞳から撮像素子までの光軸上の距離を取得する射出瞳位置取得部とを備える。
【0007】
「射出瞳位置」とは、射出瞳の位置をいい、一般的に、射出瞳から撮像素子までの光軸上の距離(前述の「射出瞳距離」)によって表されるものである。したがって、本願明細書及び特許請求の範囲の記載において、「射出瞳位置」とは、「射出瞳距離」によって示される位置である。
【0008】
本発明に係る射出瞳位置測定装置によれば、補正された複数の画像が、画像連結部によって滑らかに連結されたときの仮想球体の半径値を記憶する仮想球体半径値記憶部を備えていることにより、球体投影による補正を行って画像を連結する際の仮想球体の適切な半径値を記憶することができる。前述のように、仮想球体の適切な半径値は、実機の射出瞳距離と等しい。したがって、記憶された仮想球体の半径値を読み出すことによって実機の射出瞳距離を知ることができる。このように、本発明に係る射出瞳位置測定装置によれば、実機における実際の射出瞳位置を測定することができる。
【0009】
一例として、画像補正部は、複数の球体投影画像を、さらに仮想の円柱周面上にそれぞれ投影して複数の円柱投影画像を取得することによって、撮像した複数の画像を補正するものである。これにより、球体投影画像を平面展開することができる。
【0010】
画像補正部は、補正前の複数の画像の座標と、これに対応する補正後の複数の画像の座標とを保持する座標変換テーブルを用いて、複数の画像を補正するものであってもよい。これにより、画像補正部による画像補正を高速に実行することができる。
【0011】
本発明に係る撮像装置は、撮像光学系及び撮像素子によって撮像した複数の画像を入力する画像入力部と、画像入力部が入力した複数の画像を仮想球体の球面上にそれぞれ投影して複数の球体投影画像を取得することによって複数の画像を補正する画像補正部と、画像補正部が補正した複数の画像の一部を連結領域として互いに重ね合わせて、複数の画像を連結する画像連結部と、補正された複数の画像が、画像連結部によって滑らかに連結されたときの仮想球体の半径値を記憶する仮想球体半径値記憶部とを備え、画像補正部は、仮想球体の半径を仮想球体半径値記憶部が記憶した半径値に設定することによって、仮想球体の半径を撮像光学系の射出瞳から撮像素子までの光軸上の距離と等しくさせる仮想球体設定部を備える。
【0012】
このように、本発明に係る撮像装置によれば、補正された複数の画像が、画像連結部によって滑らかに連結されたときの仮想球体の半径値を記憶する仮想球体半径値記憶部を備えていることにより、前述の射出瞳位置測定装置と同様に、実機における実際の射出瞳位置を測定することができる。加えて、仮想球体の半径を仮想球体半径値記憶部が記憶した半径値に設定することによって、仮想球体の半径を撮像光学系の射出瞳から撮像素子までの光軸上の距離と等しくさせる仮想球体設定部を備えることから、仮想球体の半径値設定が完了した後の撮影において、滑らかに連結した画像を得ることができる。
【0013】
本発明に係る射出瞳位置測定方法は、撮像光学系及び撮像素子によって撮像した複数の画像を入力する画像入力ステップと、画像入力ステップにおいて入力した複数の画像を仮想球体の球面上にそれぞれ投影して複数の球体投影画像を取得することによって複数の画像を補正する画像補正ステップと、画像補正ステップにおいて補正した複数の画像の一部を連結領域として互いに重ね合わせて、複数の画像を連結する画像連結ステップと、画像補正ステップにおいて補正された複数の画像が、画像連結ステップにおいて滑らかに連結されたときの仮想球体の半径値を記憶する仮想球体半径値記憶ステップと、仮想球体半径値記
憶ステップにおいて記憶した半径値を読み出すことによって撮像光学系の射出瞳から撮像素子までの光軸上の距離を取得する射出瞳位置取得ステップとを含む。本発明に係る射出瞳位置測定方法によれば、前述の射出瞳位置測定装置と同様に、実機における実際の射出瞳位置を測定することができる。
【0014】
本発明に係る撮像方法は、撮像光学系及び撮像素子によって撮像した複数の画像を入力する画像入力ステップと、画像入力ステップにおいて入力した複数の画像を仮想球体の球面上にそれぞれ投影して複数の球体投影画像を取得することによって複数の画像を補正する画像補正ステップと、画像補正ステップにおいて補正した複数の画像の一部を連結領域として互いに重ね合わせて、複数の画像を連結する画像連結ステップと、画像補正ステップにおいて補正された複数の画像が、画像連結ステップにおいて滑らかに連結されたときの仮想球体の半径値を記憶する仮想球体半径値記憶ステップと、仮想球体の半径を仮想球体半径値記憶ステップにおいて記憶した半径値に設定することによって、仮想球体の半径を撮像光学系の射出瞳から撮像素子までの光軸上の距離と等しくさせる仮想球体設定ステップとを含む。本発明に係る撮像方法によれば、前述の撮像装置と同様に、実機における実際の射出瞳位置を測定することができる。加えて、仮想球体の半径値設定が完了した後の撮影において、滑らかに連結した画像を得ることができる。
【0015】
本発明に係る射出瞳位置測定プログラムは、コンピュータに、撮像光学系及び撮像素子によって撮像した複数の画像を入力する画像入力ステップと、画像入力ステップにおいて入力した複数の画像を仮想球体の球面上にそれぞれ投影して複数の球体投影画像を取得することによって複数の画像を補正する画像補正ステップと、画像補正ステップにおいて補正した複数の画像の一部を連結領域として互いに重ね合わせて、複数の画像を連結する画像連結ステップと、画像補正ステップにおいて補正された複数の画像が、画像連結ステップにおいて滑らかに連結されたときの仮想球体の半径値を記憶する仮想球体半径値記憶ステップと、仮想球体半径値記
憶ステップにおいて記憶した半径値を読み出すことによって撮像光学系の射出瞳から撮像素子までの光軸上の距離を取得する射出瞳位置取得ステップとを実行させる。本発明に係る射出瞳位置測定プログラムによれば、前述の射出瞳位置測定装置と同様に、実機における実際の射出瞳位置を測定することができる。
【0016】
本発明に係る撮像プログラムは、コンピュータに、撮像光学系及び撮像素子によって撮像した複数の画像を入力する画像入力ステップと、画像入力ステップにおいて入力した複数の画像を仮想球体の球面上にそれぞれ投影して複数の球体投影画像を取得することによって複数の画像を補正する画像補正ステップと、画像補正ステップにおいて補正した複数の画像の一部を連結領域として互いに重ね合わせて、複数の画像を連結する画像連結ステップと、画像補正ステップにおいて補正された複数の画像が、画像連結ステップにおいて滑らかに連結されたときの仮想球体の半径値を記憶する仮想球体半径値記憶ステップと、仮想球体の半径を仮想球体半径値記憶ステップにおいて記憶した半径値に設定することによって、仮想球体の半径を撮像光学系の射出瞳から撮像素子までの光軸上の距離と等しくさせる仮想球体設定ステップとを実行させる。本発明に係る撮像プログラムによれば、前述の撮像装置と同様に、実機における実際の射出瞳位置を測定することができる。加えて、仮想球体の半径値設定が完了した後の撮影において、滑らかに連結した画像を得ることができる。
【発明の効果】
【0017】
本発明に係る射出瞳位置測定装置によれば、補正された複数の画像が、画像連結部によって滑らかに連結されたときの仮想球体の半径値を記憶する仮想球体半径値記憶部を備えていることにより、球体投影による補正を行って画像を連結する際の仮想球体の適切な半径値を記憶することができる。前述のように、仮想球体の適切な半径値は、実機の射出瞳距離と等しい。したがって、記憶された仮想球体の半径値を読み出すことによって実機の射出瞳距離を知ることができる。このように、本発明に係る射出瞳位置測定装置によれば、実機における実際の射出瞳位置を測定することができる。
【発明を実施するための形態】
【0019】
以下、本発明の実施の形態を添付の図により説明する。
<構成>
図1に本実施形態に係る撮像装置1の構成図を示す。撮像装置1は、一例として、撮影した複数の画像を連結してパノラマ画像を生成する多眼カメラである。撮像装置1は、撮像部2と、画像入力部3と、制御部4と、射出瞳位置取得部21と、画像補正部22と、画像連結部6と、記憶部7と、出力部10と、入力部11とを備えている。
【0020】
撮像部2は、パノラマ画像を構成する複数の画像を撮像するものである。撮像部2は、レンズや絞り等を備える撮像光学系14と撮像素子15を備えている。本実施形態では、撮像部2において、撮像光学系14と撮像素子15を備える撮像機構が3組(第1の撮像部2A,第2の撮像部2B,第3の撮像部2C)設けられている。
図2に第1の撮像部2Aの構成を示す。レンズ14aを有する撮像光学系14は、撮像素子15と所定の距離離れて配置されている。射出瞳距離Lは、射出瞳38から撮像素子15までの光軸39上の距離である。
【0021】
撮像素子15は、CCDやCMOS等のイメージセンサである。撮像素子15は、カラーフィルタ、アンプ、及びA/Dコンバータ等を備え、撮像光学系14によって捉えられた像を光電変換し、デジタル画像信号を画像入力部3に出力する。
【0022】
第2の撮像部2Bと第3の撮像部2Cの構成は、
図2に示した第1の撮像部2Aの構成と同じであり、第1の撮像部2Aから第3の撮像部2Cのそれぞれにおいて、各射出瞳距離Lは同一距離である。
【0023】
図3に、撮像部2の位置関係を表すイメージ図を示す。第1の撮像部2Aと第2の撮像部2Bと第3の撮像部2Cは、中心軸2Xを基準として左右回転方向Rに回転し、且つ上下方向Hにずれて設置されている。第1の撮像部2Aは、第2の撮像部2Bに対して角度a1分、反時計回りに回転し、高さh1分、低い位置に設置されている。第3の撮像部2Cは、第2の撮像部2Bに対して角度a2分、時計回りに回転し、第2の撮像部2Bに対して高さh2分、高い位置に設置されている。
【0024】
したがって、第1の撮像部2Aは、第2の撮像部2Bの撮影領域から角度a1分回転した位置を撮影し、第3の撮像部2Cは、第2の撮像部2Bの撮影領域から角度a2分回転した位置を撮影する。上下のズレ分(高さh1,h2)は、実際には左右のズレ分(角度a1,a2)と比較して僅かである。第1の撮像部2Aと第2の撮像部2Bと第3の撮像部2Cが撮像した各画像を左右回転方向Rに連結することによって、第1の撮像部2Aの撮影領域から第3の撮像部2Cの撮影領域までが連続したパノラマ画像が生成される。
【0025】
なお、第1の撮像部2Aの撮像光学系14と、第2の撮像部2Bの撮像光学系14と、第3の撮像部2Cの撮像光学系14は、入射瞳の位置で位置合わせされている。すなわち、上下にずれて設置された第1の撮像部2Aの撮像光学系14と、第2の撮像部2Bの撮像光学系14と、第3の撮像部2Cの撮像光学系14の入射瞳位置は一致している。
【0026】
第1の撮像部2Aと第2の撮像部2Bと第3の撮像部2Cの位置関係は相対的に固定されているため、上下のズレ分(高さh1,h2)と左右のズレ分(角度a1,a2)は、撮影時に変動しない。
【0027】
画像入力部3は、複数の画像を制御部4に入力するものであり、撮像部2から入力されたデジタル画像信号を制御部4に出力する。制御部4は、撮像装置1の各処理を制御する。射出瞳位置取得部21は、射出瞳距離Lを取得する。画像補正部22は、撮像部2が撮像した画像を補正し、画像連結部6は、補正された画像を連結する。画像入力部3と、制御部4と、射出瞳位置取得部21と、画像補正部22と、画像連結部6は、CPU等の演算手段によって実現し、メインメモリ、フラッシュメモリ、ハードディスク等の記憶手段と協働して機能する。
【0028】
画像補正部22は、球体投影による補正を実行する。球体投影による補正とは、撮像した画像の遠近感異常(遠近感が正確に表現されない現象)及び歪みを解消するために、複数の画像を仮想球体の球面上に投影することによって行う補正である。画像補正部22は、さらに、球体投影した画像を平面展開するために、円柱投影による補正を実行する。以下の記載において、球体投影と円柱投影を組み合わせた上記補正を「球体円柱投影による補正」と呼ぶ。画像補正部22は、通常の撮影時に撮像画像を補正するように機能すると共に、射出瞳位置測定及び仮想球体設定用の画像を補正する際にも機能する。
【0029】
画像補正部22は、仮想球体設定部23を備える。仮想球体設定部23は、仮想球体の半径値を設定して、座標変換テーブルの更新を実行する。また、仮想球体設定部23は、半径値設定用画像が滑らかに連結されたときの仮想球体の半径値を、その後の処理に用いる仮想球体の半径の設定値として設定することによって、仮想球体の半径を実際の射出瞳距離Lと等しくする。
射出瞳位置取得部21は、仮想球体の半径値から射出瞳距離Lの値を取得し、実機における実際の射出瞳の実際の位置を得る。
【0030】
画像連結部6は、ブレンディング処理部24を備えている。ブレンディング処理部24は、連結領域決定部25とブレンディング実行部26を備えている。連結領域決定部25は、各画像の連結領域を決定する。ブレンディング実行部26は、連結領域において重なる画像をブレンドして画像を連結する。
【0031】
記憶部7は、メインメモリ、フラッシュメモリ、ハードディスク等の記憶手段によって構成されている。記憶部7は、撮像画像記憶部32と、画像補正用データ記憶部33と、補正済み画像記憶部34と、ブレンディング処理済み画像記憶部35とを備えている。
【0032】
撮像画像記憶部32は、撮像部2によって撮像され、画像入力部3と制御部4を介して入力された複数の画像を記憶する。画像補正用データ記憶部33は、画像補正部22によって画像を補正する際に用いるデータを記憶するものであり、座標変換テーブルを保持し、各種パラメータ及び各種設定値を記憶する。また、画像補正用データ記憶部33は、後述するように、補正された複数の画像が、画像連結部によって滑らかに連結されたときの仮想球体の半径値を記憶するため、仮想球体半径値記憶部としても機能するものである。補正済み画像記憶部34は、画像補正部22によって補正された補正済み画像を記憶する。ブレンディング処理済み画像記憶部35は、ブレンディング処理部24によって処理された画像を記憶する。
【0033】
出力部10は、撮像装置1からの信号を外部へ出力するものである。出力部10には、ディスプレイ等の表示装置、プリンタ等の印刷装置、他のコンピュータ等への送信装置等が含まれる。本実施形態において、出力部10は、ディスプレイ等の表示装置を備えている。入力部11は、外部からの信号を撮像装置1に入力するものである。入力部11には、タッチパネル、シャッターボタン、各種入力ボタン、キーボード等の入力手段が含まれる。本実施形態において、入力部11は、動画撮影開始指示及び動画撮影停止指示ボタンと、静止画撮影用シャッターボタンとを兼用する撮影指示入力ボタンを備えている。
【0034】
<処理の流れ>
次に、撮像装置1によって実行される画像処理の流れについて説明する。まず、撮像装置1の初期設定として、画像補正部22によって使用される仮想球体のサイズを設定する。
図4に、仮想球体の半径値設定シーケンスを示す。
【0035】
図4のステップS1において、入力部11の撮影指示入力ボタンを押すと、撮像部2が複数の静止画像を撮像する。ここで撮影される画像は、仮想球体の半径値を設定するために用いられる半径値設定用画像である。本実施形態においては、撮像部2が、第1の撮像部2A,第2の撮像部2B,第3の撮像部2Cという3組の撮像機構を備えているため、各撮像機構によって撮影領域の異なる3枚の画像が撮影される。撮像画像記憶部32が撮像された画像を記憶する。
【0036】
次に、
図4のステップS2において、画像補正部22は、撮像画像記憶部32から、撮像された3枚の静止画像を読み出して画像補正する。画像補正部22は座標変換テーブルを用いて球体円柱投影による補正を実行する。ここで、球体円柱投影による補正について、以下に説明する。
【0037】
現在用いられているレンズは、2次元のものを2次元に投影する性質を有している。したがって、通常の写真撮影に使われる平面投影では、立体物の被写体の場合、撮像画像の端部の遠近感異常及び歪みが発生し、平面的な被写体の場合、撮像画像の端部の遠近感異常が発生する。このため、個々の画像の遠近感異常及び歪みという問題に加えて、画像を一致させて連結することができなくなるという問題が生じ得る。
【0038】
図5に、立体物を撮影したときの遠近感異常及び歪みついての説明図を示す。
図5には、球の被写体69と、射出瞳距離Lと等しい半径を有する仮想球体70と、補正前の画像が投影されるイメージ平面81とが例示されている。被写体69の第1の領域69aは、イメージ平面81上の領域81aに投影され、被写体69の第2の領域69bは、イメージ平面81上の領域81bに投影される。
図5に図示したように、イメージ平面81上に投影された被写体69の像は、投影面の端部にいくほど遠近感異常及び歪みが大きくなる。これに対して、仮想球体70上に投影された被写体69の像は、領域69aに対応する領域70a及び領域69bに対応する領域70bに示されるように、遠近感異常及び歪みを生じていない。そこで、画像を仮想球体70に球体投影することによって、個々の画像の遠近感異常及び歪みを補正し、画像を一致させて滑らかに連結できるようにする。また、球体投影した球面画像を円柱投影によって平面画像に展開する。
【0039】
図6に、球体円柱投影のイメージ図を示す。仮想球体70の外側に第1の球面75,第2の球面76,第3の球面77と接して表現されている第1の平面71、第2の平面72及び第3の平面73は、撮像された画像が投影されるイメージ平面81(
図5に示す)を示している。
【0040】
補正前の画像が、球体投影されると、第1の撮像部2Aによって撮像された第1の画像は第1の球面75に投影され、第2の撮像部2Bによって撮像された第2の画像は第2の球面76に投影され、第3の撮像部2Cによって撮像された第3の画像は第3の球面77に投影される。すなわち、補正前の第1の画像を構成する画素の画素78は、球面75上の対応する画素79に変換される。球体投影による補正だけでは画像の四隅が上手く連結できないため、球面75,76,77に投影することによって得られた球体投影画像を円柱投影によって平面展開する。これにより、画素79は、円柱投影によってさらに画素80に座標変換される。画素80は第1の平面71上に位置している。
【0041】
球体円柱投影による座標変換についてさらに以下に説明する。
図7に球体円柱投影による座標変換のイメージ図を示す。(a)図に仮想球体70の正面図を示し、(b)図に仮想球体70の右側面図を示す。平面投影面(イメージ平面)81は、
図6における第1の平面71から第3の平面73に対応している。
【0042】
以下に、「球体投影演算ステップ」について説明する。イメージ平面81上の点Pnと仮想球体70の中心点Cとの間に直線を引き、仮想球体70と直線の交点Snを定める。この交点Sn、すなわち、
図7における点S1,S2,S3がイメージ平面81から仮想球体70の球面上にマッピングされた画素79(
図6に示す)に対応し、
図7におけるP1,P2,P3が補正前の画素78(
図6に示す)に対応している。
【0043】
点C(0,0,L)を中心とした仮想球体70の方程式は
【数1】
上記式(1)におけるパラメータLは、仮想球体70の半径を示す。
【0044】
一方、任意の仮想球体70の球面上の点S(x
2,y
2,z
2)(仮想球体70と直線の交点)と中心点Cを結ぶ直線の方程式は
【数2】
から、
【数3】
となる。
直線の式をtとおき、
【数4】
イメージ平面81上では、z=0となり、その条件でtは、式(6)から以下のように定まる。
【数5】
式(7)と式(4),式(5),及び式(6)を用いて、イメージ平面81上の点P(x,y,z(=0))と点Pから点Cに向かって伸びる直線が仮想球体70と交わる点座標S(x
2,y
2,z
2)の関係が求められる。
【0045】
次に、「円柱投影演算ステップ」について説明する。交点Snと、この交点Snによって表される球体投影画像を仮想円柱の周面上に投影して平面展開した時のイメージ平面81上の点Pn´との関係を求める。点Pn´、すなわち、
図7における点P1´,P2´,P3´が補正後の画素80(
図6に示す)に対応している。
【0046】
仮想円柱の中心線上の点Q(0,y
c,L)とイメージ平面81上の点P(x
p,y
p,0)を結ぶ直線の方程式は、
【数6】
となる。
【数7】
これらを仮想球体70の方程式
【数8】
に代入し
【数9】
から
【数10】
となる。
式(9),式(10)及び式(11)より、交点Sn(イメージ平面81上の座標Pn´とy軸への円柱投影座標Qnを結ぶ直線と、仮想球体70との交点)が求められる。
【0047】
逆トレーシング又は逆追跡方式を採用して、前述の円柱投影演算ステップを実行後に前述の球体投影演算ステップを実行することにより、補正後の座標Pn´から、補正前の座標Pnを特定して対応付けることができる。
【0048】
まず、円柱投影演算ステップを実行して、円柱投影した時のイメージ平面81上の各点Pn´の座標に対応する仮想球体70上の点Snの座標を特定して、互いに対応付ける。次に、球体投影演算ステップを実行して、円柱投影演算ステップによって求めた点Snの座標から補正前のイメージ平面81上の点Pnの座標を特定して対応付ける。これにより、補正後の画素の座標(点Pn´の座標)と補正前の画素の座標(点Pnの座標)を対応付けることができる。
【0049】
画像補正用データ記憶部33に保持された座標変換テーブルには、この補正後の画素の座標と補正前の画素の座標の対応関係が格納されている。座標変換テーブルを用いて座標を変換することにより、球体円柱投影による補正を高速に実行することができる。なお、画像補正用データ記憶部33は、パラメータLに代入される値と、撮像素子15の画素数及び1画素のサイズを記憶している。撮像素子15の画素数及び1画素のサイズは、x,yの値を決定するために用いられる。
【0050】
例えば、撮像素子15の画素数が640×480ピクセルの場合、座標変換テーブルを、TABLE[640][480]のような2次元配列で整数値のx,yをメンバーに持つテーブルとして表現してもよい。この場合、座標変換後(補正後)の画像の座標(X,Y)と座標変換前(補正前)の画像の座標(a,b)との対応関係は、TABLE[X][Y].x=a(座標値),TABLE[X][Y].y=b(座標値)と示すことができる。このように、座標変換テーブルを用いることによって、補正後の画像の座標(X,Y)を高速に決定することができる。
【0051】
図4のステップS2において、画像補正部22は、画像補正用データ記憶部33から座標変換テーブルを読み出して、球体円柱投影による画像補正を実行する。初めてステップS2を実行する際に読み出される座標変換テーブルには、パラメータLに所定の初期値を代入して算出した補正前及び補正後の座標の対応関係が格納されている。本実施形態においては、所定の初期値として、設定値として与えられている射出瞳距離Lの値を用いている。
【0052】
ステップS2において、撮像装置1の射出瞳距離Lの正確な値は不明である。レンズ設計は合焦点を無限遠で行うことが一般的である。そのため、有限長で合焦調整したレンズは設計値よりも繰り出した状態となっている。本実施形態において、撮像光学系14のレンズ14aは、有限長で合焦されている。したがって、実際の射出瞳距離Lの値は、設計値によって与えられる射出瞳距離Lの値と同一ではなく、設計値によって与えられる射出瞳距離Lは実際の射出瞳距離Lよりも短い。
【0053】
ステップS3において、画像連結部6はステップS2において補正された複数の画像を連結する。複数の画像は、隣合う画像の端部が重ね合わされて、重ね合わされた部分が画像合成されることにより連結する。連結領域決定部25は、各画像の端部において、隣り合う画像同士を重ね合わせる領域(連結領域)を決定する。ブレンディング実行部は、連結領域において重ね合わされた一方の画像と他方の画像をブレンドして合成する。これにより、複数の画像(本実施形態においては、3枚の画像)が連結領域において連結し、単一画像が生成される。生成された単一画像はブレンディング処理済み画像記憶部35に記憶される。
【0054】
ステップS4において、出力部10の表示装置は、ステップS3において連結した単一画像をブレンディング処理済み画像記憶部35から読み出して表示する。表示される単一画像の例を
図8及び
図9に示す。
図8に示す単一画像100と
図9に示す単一画像200は、共に、第1の画像101と第2の画像102と第3の画像103を連結した画像である。第1の画像101と第2の画像102と第3の画像103には、調整用直線状被写体105が、全ての画像に連続して撮像されている。
図8に示す単一画像100は、撮像装置1における実際の射出瞳距離Lの値を半径値とした仮想球体70を用いて、第1の画像101から第3の画像103を画像補正した場合に得られる連結画像である。単一画像100においては、第1の画像101と第2の画像102とが、また、第2の画像102と第3の画像103とが、それぞれ滑らかに連結しているため、画像同士のつなぎ目が目立たない自然な一枚のパノラマ写真となっている。
【0055】
これに対して、
図9に示す単一画像200は、設計値として与えられた射出瞳距離Lの値を半径値とした仮想球体70を用いて、第1の画像101から第3の画像103を画像補正した場合に得られる連結画像である。単一画像200においては、第1の画像101と第2の画像102との連結、また、第2の画像102と第3の画像103との連結が滑らかではなく、第1の画像101と第2の画像102とのつなぎ目201と、第2の画像102と第3の画像103とのつなぎ目202において、調整用直線状被写体105の輪郭が内側に入り込んでしまっている。したがって、調整用直線状被写体105が波打ったような形状として表れ、画像同士のつなぎ目201,202が目立つ不自然な写真となっている。
【0056】
初めてステップS4を実行する場合は、前述のように、ステップS2において使用される仮想球体70の半径値が、設定値として与えられている射出瞳距離Lの値となっている。したがって、初めてステップS4を実行すると、
図9に示すような画像の連結が滑らかではない不自然な単一画像200が表示されることになる。前述のように、本実施形態においては、設計値によって与えられる射出瞳距離Lは実際の射出瞳距離Lよりも短いため、
図8に示す単一画像100を得るために使用された仮想球体70よりも半径の小さい仮想球体70によって画像補正したことになる。
【0057】
一方、仮に、実際の射出瞳距離Lよりも長い半径の仮想球体70を用いて、第1の画像101から第3の画像103を画像補正して連結した場合には、第1の画像101と第2の画像102とのつなぎ目201と、第2の画像102と第3の画像103とのつなぎ目202において、調整用直線状被写体105の輪郭は外側に張り出す角を形成してしまう。したがって、
図9に示す単一画像200と同様に、画像の連結が滑らかではなく、画像同士のつなぎ目が目立つ不自然な写真となってしまう。
【0058】
ステップS4において表示された画像が
図9に示す単一画像200のように、滑らかに連結していないときには、仮想球体70の半径値を変更する(ステップS5)。なお、画像の連結状態を確認するには、画像のつなぎ目における形状変化が分かりやすい被写体を採用することが望ましい。例えば、
図8及び
図9に示す調整用直線状被写体105のように、画像の中心からずれた位置、すなわち、画像の上辺又は下辺に近い位置において、連結するすべての画像を横切る直線状の被写体が写っていることが望ましい。
図8及び
図9において、他の直線状被写体205は画像の中心付近に配置されているため、画像のつなぎ目において形状の変化が表れにくい。したがって、他の直線状被写体205は、画像の連結状態の確認に適さない。
【0059】
図4のステップS5において、仮想球体70の半径値を変更する場合には、入力部11によって、パラメータLに新しい半径値を入力する。例えば、ステップS4において、
図9に示す単一画像200が表示された場合には、現在のパラメータLの値が実際の射出瞳距離Lよりも短いことを示しているため、現在のパラメータLの値よりも大きい値を仮想球体70の半径値として入力する。パラメータLの値として新しい半径値が入力されると、画像補正用データ記憶部33は、入力された新しい半径値を記憶し、仮想球体設定部23は、パラメータLに入力された新しい半径値に基づいて、座標変換テーブルを更新する。
【0060】
座標変換テーブルが更新されると、再びステップS2に戻って更新された座標変換テーブルを用いて画像を補正する。補正された画像はステップS3を経てステップS4において再び表示される。
図8に示すような滑らかに連結された単一画像100が表示されるまで、新しい半径値の入力、座標変換テーブルの更新を繰り返す(ステップS2からステップS6をループ処理する)。ステップS4において、
図8に示すような滑らかに連結された単一画像100が表示されると、現在の半径値は、実際の射出瞳距離Lと一致している適切な値ということになるため、さらなる半径値変更は行わずにステップS7に進む。
【0061】
ステップS7において、射出瞳位置取得部21は、画像補正用データ記憶部33から現在の半径値を読み出すことによって射出瞳距離Lを取得し、これにより、実際の射出瞳の位置を得る。
【0062】
図4に示すステップS1〜ステップS7(仮想球体70半径値設定シーケンス)を実行することによって、仮想球体70の半径を、滑らかな連結画像が得られる適切な値に設定することができる。加えて、撮像装置1における実際の射出瞳の位置を知ることができる。
【0063】
図4に示すステップS1〜ステップS7によって、仮想球体70の半径値が設定された後、撮像装置1は
図4に示すステップS1からステップS3を実行することによってパノラマ画像を生成する。前述のように、ステップS3において、画像連結部6によって複数の画像が連結されて、単一画像が生成される。生成された単一画像は、ブレンディング処理済み画像記憶部35に記憶される。記憶された単一画像は、出力部10を介して出力することができる。なお、動画の場合は、動画撮影が終了するまで、ステップS1からステップS3の処理が連続的に繰り返される。生成した単一画像を例えば、AVI形式等で記憶し、動画撮影中又は動画撮影後に、出力部10を介して出力することもできる。
【0064】
本実施形態に係る撮像装置1によれば、補正された複数の画像が、画像連結部6によって滑らかに連結されたときの仮想球体70の半径値を記憶する画像補正用データ記憶部33(仮想球体半径値記憶部)を備えているため、球体投影による補正を行って画像を連結する際の仮想球体70の適切な半径値を記憶することができる。前述のように、仮想球体70の適切な半径値は、実機の射出瞳距離Lと等しい。したがって、記憶された仮想球体70の半径値を読み出すことによって実機の射出瞳距離Lを知ることができる。このように、撮像装置1によれば、実機における実際の射出瞳位置を測定することができる。
【0065】
加えて、仮想球体70の半径を画像補正用データ記憶部33(仮想球体70半径値記憶部)が記憶した半径値に設定することによって、仮想球体70の半径を射出瞳距離Lと等しくさせる仮想球体設定部23を備えることから、仮想球体70の半径値設定が完了した後の撮影において、滑らかに連結した画像を得ることができる。
【0066】
また、画像補正部22は、複数の球体投影画像を、さらに仮想の円柱周面上にそれぞれ投影して複数の円柱投影画像を取得することによって、撮像した複数の画像を補正している。これにより、球体投影画像を平面展開することができる。
【0067】
画像補正部22は、補正前の複数の画像の座標と、これに対応する補正後の複数の画像の座標とを保持する座標変換テーブルを用いて、複数の画像を補正している。これにより、画像補正部22による画像補正を高速に実行することができる。
【0068】
<他の実施形態>
以上、本発明の実施形態について述べたが、本発明は既述の実施形態に限定されるものではなく、本発明の技術的思想に基づいて各種の変形及び変更が可能である。例えば、前述の撮像装置1は、パノラマ画像を撮影する多眼カメラとして実現され得るが、これに限定されない。複数の画像を連結してパノラマ画像以外の単一画像を生成してもよい。
【0069】
また、本発明をパノラマ画像又は他の画像の撮影を目的としない射出瞳位置測定装置として実現してもよい。この場合、例えば、撮像光学系14と撮像素子15を備える様々な他の実機によって撮像した画像から、射出瞳位置測定装置によって、それぞれの実機における実際の射出瞳位置を導くことができる。各実機における実際の射出瞳位置が測定されることにより、各実機における実際の射出瞳位置を用いた設計開発等を行うことができるようになる。
【0070】
前述の実施形態において、パラメータLの初期値に、設定値として与えられている射出瞳距離Lの値を用いているがこれに限定されず、他の値を用いてもよい。また、
図4に示すステップS2を初めて実行する際に、座標変換テーブルを新規に作成してもよい。
【0071】
前述の実施形態において、撮像装置1は第1の撮像部2Aから第3の撮像部2Cを備え、3枚の画像を連結しているが、これに限定されない。例えば、2個の撮像部2又は4個以上の撮像部2を備え、2枚又は4枚以上の画像を連結するように構成してもよい。
【0072】
画像連結部6は、生成した単一画像を整形する画像整形部を備えていてもよい。前述のように、撮像装置1において第1の撮像部2Aから第3の撮像部2Cは上下にずれて配置されているため、撮像した画像の上下の位置が厳密には整合しない。したがって、画像整形部によって、上下の不揃いな端部をカットし、単一画像を長方形に整形してもよい。