"同一の被写体に対する1回の撮像で、視差のある1組のペア画像を取得する撮像部と、前記ペア画像の少なくとも一方の画像に基づく表示画像を表示する表示部と、前記表示画像上における前記被写体上の始点及び終点の指定を受け付ける受付部と、1又は複数組の前記ペア画像に基づいて、前記指定された被写体上の始点及び終点における実空間上のそれぞれの位置を算出し、算出した実空間上の始点及び終点位置に基づいて、前記被写体上の始点から終点までの長さを取得する長さ取得部と、を備える、ことを特徴とする撮像装置。前記長さ取得部は、前記指定された被写体上の始点及び終点が1組の前記ペア画像中に収まる場合、当該1組のペア画像に基づいて、前記指定された被写体上の始点及び終点における実空間上のそれぞれの位置を算出する、ことを特徴とする請求項1に記載の撮像装置。前記長さ取得部は、前記指定された被写体上の始点及び終点が同じ組の前記ペア画像中に収まっていない場合、前記撮像部による複数回の撮像によって得られた複数組の前記ペア画像における前記被写体の画像部分に基づいて、前記始点が収まっているペア画像が撮像された位置に対する前記終点が収まっているペア画像が撮像された位置の相対座標を算出し、算出した相対座標に基づいて、前記指定された被写体上の始点及び終点における実空間上のそれぞれの位置を算出する、ことを特徴とする請求項1又は2に記載の撮像装置。前記長さ取得部は、前記被写体までの距離と奥行きの精度との相対誤差を算出し、算出した相対誤差が所定値よりも大きい場合、前記撮像部による複数回の撮像によって得られた複数組の前記ペア画像における、前記被写体より手前に存在する他の被写体の画像部分に基づいて、前記始点が収まっているペア画像が撮像された位置に対する前記終点が収まっているペア画像が撮像された位置の相対座標を算出し、算出した相対座標に基づいて、前記指定された被写体上の始点及び終点における実空間上のそれぞれの位置を算出する、ことを特徴とする請求項1乃至3の何れか1項に記載の撮像装置。前記相対誤差ΔZ/Zは、p/BZ/fであり、Zは被写体までの距離、ΔZは奥行きの精度、Bは平行移動距離、fは焦点距離、pは撮像素子のピクセルサイズ、である、ことを特徴とする請求項4に記載の撮像装置。前記表示部は、前記受付部によって受け付けられた被写体上の始点及び終点を、前記表示画像上に重畳して表示する、ことを特徴とする請求項1乃至5の何れか1項に記載の撮像装置。同一の被写体に対する1回の撮像で、視差のある1組のペア画像を取得する撮像部を有する撮像装置で前記被写体上における指定された2点間の長さを測定する長さ測定方法であって、前記ペア画像の少なくとも一方の画像に基づく表示画像を表示する表示ステップと、前記表示画像上における前記被写体上の始点及び終点の指定を受け付ける受付ステップと、1又は複数組の前記ペア画像に基づいて、前記指定された被写体上の始点及び終点における実空間上のそれぞれの位置を算出し、算出した実空間上の始点及び終点位置に基づいて、前記被写体上の始点から終点までの長さを取得する長さ取得ステップと、を含む、ことを特徴とする長さ測定方法。同一の被写体に対する1回の撮像で、視差のある1組のペア画像を取得する撮像部を有する撮像装置を制御するコンピュータに、前記ペア画像の少なくとも一方の画像に基づく表示画像を表示する表示機能と、前記表示画像上における前記被写体上の始点及び終点の指定を受け付ける受付機能と、1又は複数組の前記ペア画像に基づいて、前記指定された被写体上の始点及び終点における実空間上のそれぞれの位置を算出し、算出した実空間上の始点及び終点位置に基づいて、前記被写体上の始点から終点までの長さを取得する長さ取得機能と、を実現させる、ことを特徴とするプログラム。しかしながら、ステレオカメラ等の撮像装置を用いて、被写体上のユーザが指定した2点間の長さを精度良く測定する技術について、未だ有益な提案がなされていないのが実情である。本発明は上記実情に鑑みてなされたものであり、被写体上の指定された2点間の長さを精度良く測定する撮像装置と測定方法ならびにこれらをコンピュータ上で実現するためのプログラムを提供することを目的とする。上記目的を達成するために、本発明の第1の観点に係る撮像装置は、同一の被写体に対する1回の撮像で、視差のある1組のペア画像を取得する撮像部と、前記ペア画像の少なくとも一方の画像に基づく表示画像を表示する表示部と、前記表示画像上における前記被写体上の始点及び終点の指定を受け付ける受付部と、1又は複数組の前記ペア画像に基づいて、前記指定された被写体上の始点及び終点における実空間上のそれぞれの位置を算出し、算出した実空間上の始点及び終点位置に基づいて、前記被写体上の始点から終点までの長さを取得する長さ取得部と、を備えることを特徴とする。上記構成の撮像装置において、前記長さ取得部は、前記指定された被写体上の始点及び終点が1組の前記ペア画像中に収まる場合、当該1組のペア画像に基づいて、前記指定された被写体上の始点及び終点における実空間上のそれぞれの位置を算出する、ようにしてもよい。また、上記構成の撮像装置において、前記長さ取得部は、前記指定された被写体上の始点及び終点が同じ組の前記ペア画像中に収まっていない場合、前記撮像部による複数回の撮像によって得られた複数組の前記ペア画像における前記被写体の画像部分に基づいて、前記始点が収まっているペア画像が撮像された位置に対する前記終点が収まっているペア画像が撮像された位置の相対座標を算出し、算出した相対座標に基づいて、前記指定された被写体上の始点及び終点における実空間上のそれぞれの位置を算出する、ようにしてもよい。また、上記構成の撮像装置において、前記長さ取得部は、前記被写体までの距離と奥行きの精度との相対誤差を算出し、算出した相対誤差が所定値よりも大きい場合、前記撮像部による複数回の撮像によって得られた複数組の前記ペア画像における、前記被写体より手前に存在する他の被写体の画像部分に基づいて、前記始点が収まっているペア画像が撮像された位置に対する前記終点が収まっているペア画像が撮像された位置の相対座標を算出し、算出した相対座標に基づいて、前記指定された被写体上の始点及び終点における実空間上のそれぞれの位置を算出する、ようにしてもよい。上記の場合、前記相対誤差ΔZ/Zは、p/BZ/fであり、Zは被写体までの距離、ΔZは奥行きの精度、Bは平行移動距離、fは焦点距離、pは撮像素子のピクセルサイズ、であることが好ましい。また、上記構成の撮像装置において、前記表示部は、前記受付部によって受け付けられた被写体上の始点及び終点を、前記表示画像上に重畳して表示する、ようにしてもよい。上記目的を達成するために、本発明の第2の観点に係る長さ測定方法は、同一の被写体に対する1回の撮像で、視差のある1組のペア画像を取得する撮像部を有する撮像装置で前記被写体上における指定された2点間の長さを測定する長さ測定方法であって、前記ペア画像の少なくとも一方の画像に基づく表示画像を表示する表示ステップと、前記表示画像上における前記被写体上の始点及び終点の指定を受け付ける受付ステップと、1又は複数組の前記ペア画像に基づいて、前記指定された被写体上の始点及び終点における実空間上のそれぞれの位置を算出し、算出した実空間上の始点及び終点位置に基づいて、前記被写体上の始点から終点までの長さを取得する長さ取得ステップと、を含むことを特徴とする。上記目的を達成するために、本発明の第3の観点に係るプログラムは、同一の被写体に対する1回の撮像で、視差のある1組のペア画像を取得する撮像部を有する撮像装置を制御するコンピュータに、前記ペア画像の少なくとも一方の画像に基づく表示画像を表示する表示機能と、前記表示画像上における前記被写体上の始点及び終点の指定を受け付ける受付機能と、1又は複数組の前記ペア画像に基づいて、前記指定された被写体上の始点及び終点における実空間上のそれぞれの位置を算出し、算出した実空間上の始点及び終点位置に基づいて、前記被写体上の始点から終点までの長さを取得する長さ取得機能と、を実現させることを特徴とする。本発明によれば、被写体上の指定された2点間の長さを精度良く測定することが可能となる。本発明にかかる実施形態を、図面を参照して以下に説明する。本実施形態では、本発明をデジタルスチルカメラ以下、デジタルカメラというによって実現した場合を例示する。図1Aに示す本実施形態に係るデジタルカメラ1は、一般的なデジタルカメラが有する機能を備えると共に、撮像にかかる構成を2つ備えた、いわゆる複眼カメラステレオカメラである。デジタルカメラ1は、このようなステレオカメラとしての構成を、いわゆるコンパクトカメラとして実現したものである。デジタルカメラ1は、撮像した画像を用いて三次元モデリング3Dモデリングを行う機能を有している。この3Dモデリング機能において、本実施形態に係るデジタルカメラ1では、3Dモデリングに好適な撮像画像が得られるよう、パターン投影法が採用されている。図2は、デジタルカメラ1の構成を示すブロック図である。デジタルカメラ1は、図示するように、撮像動作部100、データ処理部200、インタフェースI/F部300、などにより構成される。撮像動作部100は、撮像時の動作を行う部分であり、図2に示すように、第1撮像部110、第2撮像部120、などから構成される。上述したように、デジタルカメラ1はステレオカメラ複眼カメラであって、第1撮像部110と第2撮像部120とを有する。第1撮像部110と第2撮像部120の構成は同一である。以下、第1撮像部110についての構成には110番台の参照符号、第2撮像部120についての構成には120番台の参照符号をそれぞれ付す。これらの参照符号において1桁目が同値となるものは同一の構成であることを示す。図2に示すように、第1撮像部110第2撮像部120は、光学装置111121やイメージセンサ部112122などから構成される。光学装置111121は、例えば、レンズ、絞り機構、シャッタ機構、などを含み、撮像にかかる光学的動作を行う。即ち、光学装置111121の動作により、入射光が集光されるとともに、焦点距離、絞り、シャッタスピードなどといった、画角やピント、露出などにかかる光学的要素の調整がなされる。なお、光学装置111121に含まれるシャッタ機構はいわゆるメカニカルシャッタである。しかし、イメージセンサの動作のみでシャッタ動作を行う場合には、光学装置111121にシャッタ機構が含まれていなくてもよい。また、光学装置111121は、後述する制御部210による制御によって動作する。イメージセンサ部112122は、光学装置111121によって集光された入射光に応じた電気信号を生成する。イメージセンサ部112122は、例えば、CCDChargeCoupledDeviceやCMOSComplementallyMetalOxideSemiconductorなどのイメージセンサから構成される。イメージセンサ部112122は、光電変換を行うことで、受光に応じた電気信号を発生してデータ処理部200に出力する。上述したように、第1撮像部110と第2撮像部120は同一の構成である。より詳細には、レンズの焦点距離fやF値、絞り機構の絞り範囲、イメージセンサのサイズや画素数、配列、画素面積などの各仕様がすべて同一である。図1Aに示すように、光学装置111が備えるレンズと光学装置121が備えるレンズは、デジタルカメラ1の外面における同一面上に設けられている。より詳細には、これらのレンズは、シャッタボタンが上になる方向でデジタルカメラ1を水平にした場合に、各々の中心位置が水平方向で同一線上となるように、所定の間隔を隔てて配置されている。つまり、第1撮像部110と第2撮像部120とを同時に動作させた場合、同一被写体についての2つの画像ペア画像が撮像される。この場合、各画像における光軸位置が横方向にずれている画像となる。より詳細には、第1撮像部110と第2撮像部120は、図1Bの透視射影モデルに示すような光学的特性が得られるように配置される。図1Bに示す透視射影モデルは、X、Y、Zからなる三次元直交座標系に基づくものであり、第1撮像部110についてのこの座標系を以下カメラ座標と呼ぶ。図1Bでは、第1撮像部110の光学中心を原点としたカメラ座標を示している。カメラ座標においては、Z軸をカメラの光学方向に一致する方向とし、X軸とY軸はそれぞれ画像の横方向と縦方向に平行する。ここで、光軸と画像座標面の交点を原点即ち、光学中心とし、イメージセンサの画素間隔を換算してカメラ座標と長さの単位を合わせた場合、第1撮像部110についての画像座標面で被写体A1を示す画像座標をu1,v1とし、第2撮像部120についての画像座標面ではu1,v1とする。第1撮像部110と第2撮像部120は、それぞれの光軸が互いに平行即ち、輻輳角が0になり、かつ、第1撮像部110についての画像座標u軸と第2撮像部120についての画像座標u軸が同一線上で同じ方向となるよう配置される即ち、エピポーラ線が一致。また、上述したように、第1撮像部110および第2撮像部120の焦点距離fや画素間隔は同じであり、光軸と画像座標面とが垂直に交わっている。このような構成は平行ステレオと呼ばれ、デジタルカメラ1の第1撮像部110と第2撮像部120は平行ステレオの構成となっている。図2に戻り、デジタルカメラ1の構成説明を続ける。データ処理部200は、第1撮像部110および第2撮像部120による撮像動作によって生成された電気信号を処理し、撮像画像を示すデジタルデータを生成する。さらに、データ処理部200は、撮像画像に対する画像処理などを行う。図2に示すように、データ処理部200は、制御部210、画像処理部220、画像メモリ230、画像出力部240、記憶部250、外部記憶部260、などから構成される。制御部210は、例えば、CPUCentralProcessingUnitなどのプロセッサや、RAMRandomAccessMemoryなどの主記憶装置などから構成される。制御部210は、後述する記憶部250などに格納されているプログラムを実行することで、デジタルカメラ1の各部を制御する。また、本実施形態では、所定のプログラムを実行することで、後述する各処理にかかる機能が制御部210によって実現される。本実施形態では、後述する各処理にかかる動作を制御部210が行うものとするが、制御部210とは独立した専用プロセッサなどが行うように構成してもよい。画像処理部220は、例えば、ADCAnalogDigitalConverter、バッファメモリ、画像処理用のプロセッサいわゆる、画像処理エンジンなどから構成され、イメージセンサ部112および122によって生成された電気信号に基づいて、撮像画像を示すデジタルデータを生成する。即ち、ADCが、イメージセンサ部112122から出力されたアナログ電気信号をデジタル信号に変換して順次バッファメモリに格納する。そして、画像処理エンジンが、バッファされたデジタルデータに対し、いわゆる現像処理などを行う。これにより、画質の調整やデータ圧縮などが行われる。画像メモリ230は、例えば、RAMやフラッシュメモリなどの記憶装置から構成され、画像処理部220によって生成された撮像画像データや、制御部210によって処理される画像データなどを一時的に格納する。画像出力部240は、例えば、RGB信号の生成回路などから構成され、画像メモリ230に展開された画像データをRGB信号などに変換して表示画面後述する表示部310などに出力する。記憶部250は、例えば、ROMReadOnlyMemoryやフラッシュメモリなどの記憶装置から構成され、デジタルカメラ1の動作に必要なプログラムやデータなどを格納する。本実施形態では、制御部210などが実行する動作プログラムや、動作プログラムの実行時に必要となるパラメータや演算式などのデータが記憶部250に格納されている。外部記憶部260は、例えば、メモリカードなどといった、デジタルカメラ1に着脱可能な記憶装置から構成され、デジタルカメラ1で撮像した画像データなどを格納する。I/Fインタフェース部300は、デジタルカメラ1と、ユーザあるいは外部装置との間のインタフェースに係る機能を担う処理部である。I/F部300は、表示部310、外部I/F部320、操作部330などから構成される。表示部310は、例えば、液晶表示装置などから構成され、デジタルカメラ1を操作するために必要な種々の画面や、撮像時のライブビュー画像ファインダ画像、撮像画像、などを表示出力する。本実施形態では、表示部310は、画像出力部240からの画像信号RGB信号などに基づいて撮像画像等の表示出力を行う。外部I/F部320は、例えば、USBUniversalSerialBusコネクタやビデオ出力端子などから構成され、画像データなどを外部のコンピュータ装置へ転送したり、撮像画像などを外部のモニタ装置に表示出力したりする。操作部330は、デジタルカメラ1の外面上に設けられている各種ボタンなどによって構成され、デジタルカメラ1の使用者による操作に応じた入力信号を生成して制御部210に送出する。操作部330を構成するボタンには、例えば、シャッタ動作を指示するためのシャッタボタンや、デジタルカメラ1の動作モードを指定するためのモードボタン、各種の設定操作を行うための十字キーや機能ボタン、などが含まれる。以上、本発明を実現するために必要となるデジタルカメラ1の構成について説明したが、デジタルカメラ1は、このほかにも、一般的なデジタルカメラの機能を実現するための構成を備えているものとする。次に、図3~図9に示すフローチャートを参照して、上記構成のデジタルカメラ1が実行する長さ測定処理について説明する。まず、制御部210は、ユーザにより測定開始位置が指定されたか否かを判別するステップS101。制御部210は、測定開始位置が指定されていないと判別するとステップS101:NO、再度ステップS101の処理を実行する。一方、制御部210は、測定開始位置が指定されたと判別するとステップS101:YES、被写体の撮像を行うステップS102。取得した撮像画像は、例えば、画像メモリ230に記憶される。ここで、測定開始位置及び測定終了位置の指定方法について、図10を参照して説明する。図10aは、表示部310のタッチパネル画面で、被写体400上における測定開始位置と測定終了位置をタッチすることにより指定する方法を示している。また、図10bは、画面上に表示されるポインタをデジタルカメラ1の十字ボタン331により動かして、被写体400上における測定開始位置と測定終了位置を指定する方法を示している。撮像後、制御部210は測定開始位置が一定以上動いたか否かを判別するステップS103。例えば、ライブビュー画像ファインダ画像において、測定開始位置が前回の撮像時から所定ピクセル以上移動したか否かが判別される。なお、測定開始位置がライブビュー画像に含まれていない即ち、測定開始位置がフレーミングアウトしている場合には、ライブビュー画像中の被写体400の位置が前回の撮像時から所定ピクセル以上移動したか否かを判別する。このようにして判別した結果、このようにして判別した結果、測定開始位置が一定以上動いた場合ステップS103:YES、制御部210は、再度撮像を行うステップS104。測定開始位置が一定以上動いていない場合ステップS103:NO又はステップS104の処理後、制御部210は、ユーザにより測定終了位置が指定されたかどうか判別するステップS105。制御部210は、ユーザにより測定終了位置が指定されたと判別するとステップS105:YES、ステップS106の処理を行う。一方、制御部210は、ユーザにより測定終了位置が指定されていないと判別するとステップS105:NO、再度ステップS103の処理を実行する。制御部210は、ステップS105の処理を完了した後、撮像回数が1回であるか否かを判別するステップS106。撮像回数が1回であると判別するとステップS106:YES、測定モード1の処理を行うステップS107。ここで、図4に示すフローチャートを参照して、測定モード1の処理について説明する。本実施形態のデジタルカメラ1は、被写体上における任意の2点間の長さを測定する。また、その際、デジタルカメラ1は、被写体までの距離や被写体の大きさに応じて測定方法測定モードを変えることができる。測定モード1の処理は、撮像位置から被写体までの距離が近く、且つ1組のペア画像中に被写体が収まる場合に対応した処理である。この処理では、1組のペア画像における視差により長さを測定する。まず、制御部210は、三次元モデル生成処理を実行するステップS201。図5に示すフローチャートを参照して、三次元モデル生成処理について説明する。なお、三次元モデル生成処理は、1組のペア画像に基づいて三次元モデルを生成する処理である。つまり、三次元モデル生成処理は、一つのカメラ位置から見た三次元モデルを生成する処理と考えることができる。まず、制御部210は、特徴点の候補を抽出するステップS301。例えば、制御部210は、画像A第1撮像部110による撮像の結果得られた画像に対してコーナー検出を行う。コーナー検出においては、ハリスなどのコーナー特徴量が、所定閾値以上かつ所定半径内で最大になる点がコーナー点として選択される。従って、被写体の先端など、他の点に対して特徴のある点が特徴点として抽出される。制御部210は、ステップS301の処理を完了すると、ステレオマッチングを実行することで、画像Aの特徴点に対応する点対応点を画像B第2撮像部120による撮像の結果得られた画像から探すステップS302。具体的には、制御部210は、テンプレートマッチングにより類似度が所定閾値以上かつ最大のもの相違度が所定閾値以下かつ最小のものを対応点とする。テンプレートマッチングには、例えば、残差絶対値和SAD、残差平方和SSD、正規化相関NCCやZNCC、方向符号相関など、様々な既知の技法が利用可能である。制御部210は、ステップS302の処理を完了すると、ステップS302において見つけられた対応点の視差情報、第1撮像部110および第2撮像部120の画角、基線長などから、特徴点の位置情報を算出するステップS303。生成された特徴点の位置情報は、例えば、記憶部250に記憶される。ここで、位置情報の算出について、詳細に説明する。図13は、テンプレートマッチングを行った際の画像Aおよび画像Bの例を示している。図13において、画像Aの被写体400上の特徴点u1,v1についてのテンプレートマッチングにより画像Bの被写体400上でマッチングがとれた位置がu1,v1であることが示されている。本実施形態に係るデジタルカメラ1は、第1撮像部110と第2撮像部120の光軸が水平方向に異なる平行ステレオカメラであるため、画像Aと画像Bとの間には、マッチングがとれた位置についての視差u’-uが生じている。ここで、テンプレートマッチングによってマッチングのとれた照合された特徴点に対応する実際の位置を、図1Bに示したカメラ座標でA1X1、Y1、Z1とした場合、A1の座標X1、Y1、Z1はそれぞれ、以下の式1~式3で表される。上述したように、u1,v1は、第1撮像部110についての画像座標面即ち、対象画像への射影点を示している。u1,v1は、第2撮像部120についての画像座標面即ち、参照画像への射影点を示している。また、bは、第1撮像部110および第2撮像部120の光軸間の長さ基線長を示す。[数1]X1=bu1/u1-u11[数2]Y1=bv1/u1-u12[数3]Z1=bf/u1-u13この式3は、三角測量の原理によって導かれるものである。三角測量の原理を、図14を参照して説明する。図14は、図1Bに示した平行ステレオ構成におけるカメラ座標を上から見た模式図である。第1撮像部110による視点がカメラ座標となっているので、位置A1のX軸方向の座標はカメラ座標上のX1で与えられ、この数値は図14に示した式Aで求められる。一方、第2撮像部120からの視点におけるA1のX軸方向の座標は、基線長bとカメラ座標のX1との和であり、図14に示した式Bで求められ、式Aと式Bから、上記式3が導き出される。制御部210は、ステップS303の処理を完了すると、ステップS303において算出された特徴点の位置情報を基にドロネー三角形分割を実行し、ポリゴン化を実行するステップS304。生成されたポリゴン情報は、例えば、記憶部250に記憶される。制御部210は、ステップS304の処理を完了すると、三次元モデル生成処理を終了する。なお、特徴点の数が少ない場合、被写体の形状情報が欠損し、被写体の忠実な三次元モデルが得られない。一方、より多くの特徴点が得られるように、特徴点の候補を抽出する条件やステレオマッチングの条件を緩くした場合、次のような不都合が生じる。即ち、不適切な点が特徴点の候補に含まれたり、ステレオマッチングで誤対応が発生したりして、位置精度が低下、つまり、モデリング精度が悪化する。このため、モデリング精度の悪化を防ぎつつ、被写体の忠実な三次元モデルを得ることができるように、適切な数の特徴点が抽出されるようにする必要がある。図4のフローに戻って、制御部210は、相対誤差を計算するステップS202。ここで、相対誤差について説明する。相対誤差は以下の式4を用いて求められる。[数4]ΔZ/Z=p/BZ/f4なお、Zは、被写体までの距離、ΔZは奥行きの精度、ΔZ/Zは相対誤差、Bは平行移動距離、fは焦点距離、pはイメージセンサのピクセルサイズを表す。すると、p/Bが精度となり、これに倍率Z/fを乗算することで、相対誤差ΔZ/Zが求められる。制御部210は、相対誤差が基準値以下であると判別するとステップS203:YES、測定モード1の処理を終了する。図3のフローに戻り、制御部210は、三次元モデル上の測定開始位置及び測定終了位置の座標より求めた長さと相対誤差を表示してステップS109、処理を終了する。ステップS109では、例えば、図12に示すように、相対誤差が20以下の場合、測定した長さとそのときの相対誤差が画面に表示される。なお、相対誤差の値によっては、もう少し近くで撮像することで精度を上げることができるなどのアドバイスをユーザに提示しても良い。図4のフローにおいて、制御部210は、相対誤差が基準値を超えると判別するとステップS203:NO、測定方法を変えた測定を行う。このため、ユーザにその旨を通知し、カメラ位置をずらしてもう1回、被写体を撮像するように促すステップS204。その後、ユーザにより測定終了位置が指定された場合ステップS205:YES、制御部210は、被写体の撮像を行うステップS206。それから、制御部210は、三次元モデル生成処理を行うステップS207。その後、制御部210は、測定モード3の処理を行ってステップS208、測定モード1の処理を終了する。測定モード3の処理については、後で詳述する。図3のフローに戻り、撮像回数が1回でない場合、つまり測定終了位置が記録されるまでに複数回の撮像が行われた場合ステップS106:NO、制御部210は、測定モード2の処理を行うステップS108。ここで、図6のフローチャートを参照して、測定モード2の処理について説明する。測定モード2の処理は、撮像位置から被写体までの距離が近く、且つ被写体が大きくて1組のペア画像中に測定開始位置と測定終了位置が収まらない場合に対応した処理である。例として、1回目で被写体の測定開始位置を撮像し、カメラ位置をずらして2回目で測定終了位置を撮像した場合、撮像された2組のペア画像の中から少なくとも3つの同じ特徴点を検出する。そして、これらの特徴点から、最初のカメラ位置に対する相対的な位置を取得し、それにより測定開始位置と測定終了位置の座標を得て、三角測量の原理により長さを測定する。なお、2回の撮像では始点測定開始位置と終点測定終了位置が収まらない場合には、始点から終点までを追跡するようにして複数回撮像を行い、上記と同じようにして、始点と終点との間の長さを測定する。ここでは、2組のペア画像からカメラ位置を計算する方法について考える。まず、制御部210は、三次元モデル生成処理を行うステップS401。制御部210は、ステップS401の処理を完了すると、カメラ位置推定処理を行うステップS402。ここで、図7のフローチャートを参照して、カメラ位置推定処理について説明する。まず、制御部210は、被合成三次元モデルおよび合成三次元モデルの双方から三次元空間上の特徴点を取得するステップS501。例えば、制御部210は、被合成三次元モデルもしくは、合成三次元モデルの特徴点のうち、コーナー強度が高く、ステレオマッチングの一致度が高いものを選択する。または、制御部210は、ペア画像間でエピ線拘束を考慮した上で、SURFSpeeded-UpRobustFeatures特徴量によるマッチングを実行することで、特徴点を取得するようにしてもよい。ここで、最初の撮像により得られる三次元モデルであって、合成の基礎となる三次元モデルを被合成三次元モデルという。また、2回目以降の撮像により得られる三次元モデルであって、被合成三次元モデルに合成される三次元モデルを合成三次元モデルという。制御部210は、ステップS501の処理を完了すると、被合成三次元モデルから3つの特徴点を選択するステップS502。ここで、選択される3つの特徴点は、以下に示すAおよびBの条件を満たすものが選択される。Aの条件は、3つの特徴点を頂点とする三角形の面積が小さすぎないこと、即ち、予め決められた面積以上であることである。Bの条件は、3つの特徴点を頂点とする三角形が極端に鋭角な角を持たないこと、即ち、予め決められた角度以上であることである。例えば、制御部210は、上記AおよびBの条件を満たす3つの特徴点が選択されるまで、ランダムに3つの特徴点を選択する。制御部210は、ステップS502の処理を完了すると、合成三次元モデルが有する3つの特徴点を3つの頂点とする三角形の中から、ステップS502において選択された3つの特徴点を3つの頂点とする三角形と合同な三角形を探索するステップS503。例えば、3辺の長さがほぼ等しい場合、2つの三角形は合同であると判別される。ステップS503の処理は、合成三次元モデルの特徴点のうち、ステップS502において被合成三次元モデルから選択された3つの特徴点に対応すると考えられる3つの特徴点を探索する処理と考えることもできる。なお、制御部210は、特徴点や周辺の色情報、またはSURF特徴量などで三角形の候補をあらかじめ絞ることで、探索を高速化してもよい。探索された三角形を示す情報典型的には、当該三角形の頂点を構成する3つの特徴点の三次元空間上の座標を示す情報は、例えば、記憶部250に記憶される。合同な三角形が複数ある場合、全ての三角形を示す情報が、記憶部250に記憶される。制御部210は、ステップS503の処理を完了すると、ステップS503において、少なくとも1つの合同な三角形が探索されたか否かを判別するステップS504。なお、探索された合同な三角形が多すぎる場合、合同な三角形が探索されなかったものとみなす仕様にしてもよい。制御部210は、少なくとも1つの合同な三角形が探索されたと判別するとステップS504:YES、合同な三角形を一つ選択するステップS505。一方、制御部210は、合同な三角形が1つも探索されなかったと判別するとステップS504:NO、ステップS502に処理を戻す。制御部210は、ステップS505の処理を終了すると、座標変換パラメータ取得処理を実行するステップS506。座標変換パラメータ取得処理については、図8に示すフローチャートを参照して、詳細に説明する。なお、座標変換パラメータ取得処理は、合成三次元モデルの座標を被合成三次元モデルの座標系の座標に変換するための、座標変換パラメータを取得する処理である。座標変換パラメータ取得処理は、ステップS502において選択された3つの特徴点と、ステップS505において選択された合同な三角形と、の組み合わせ毎に実行される。ここで、座標変換パラメータ取得処理は、以下の式5および式6で与えられる対応点ペア特徴点ペア、頂点ペアに対して、式7を満たす回転行列Rと移動ベクトルtとを求める処理である。式5および式6のpとpとは、各々のカメラ視線から見た三次元空間上の座標を持つ。なお、Nは、対応点ペアのペア数である。まず、制御部210は、以下の式8および式9に示すように、対応点ペアを設定するステップS601。ここで、c1とc2とは、対応する列ベクトルが対応点の座標になる行列である。この行列から回転行列Rと移動ベクトルtとを直接求めることは難しい。しかしながら、pとpとの分布がほぼ等しいことから、対応点の重心を合わせてから回転すれば、対応点を重ね合わせることができる。このことを利用して、回転行列Rと移動ベクトルtとを求める。つまり、制御部210は、以下の式10および式11を用いて、特徴点の重心である重心t1およびt2を求めるステップS602。次に、制御部210は、以下の式12および式13を用いて、特徴点の分布である分布d1およびd2を求めるステップS603。ここで、上述したように、分布d1と分布d2との間には、式14の関係がある。次に、制御部210は、以下の式15および式16を用いて、分布d1およびd2の特異値分解を実行するステップS604。特異値は、降順に並べられているものとする。ここで、記号は複素共役転置を表す。次に、制御部210は、分布d1およびd2が二次元以上であるか否かを判別するステップS605。特異値は、分布の広がり具合に対応している。従って、最大の特異値とそれ以外の特異値との比率や、特異値の大きさを用いて判定がなされる。例えば、2番目に大きい特異値が、所定値以上かつ最大の特異値との比率が所定範囲内である場合に、分布が二次元以上と判定される。制御部210は、分布d1およびd2が二次元以上でないと判別するとステップS605:NO、回転行列Rを求めることができないので、エラー処理を実行しステップS613、座標変換パラメータ取得処理を終了する。一方、制御部210は、分布d1およびd2が二次元以上であると判別するとステップS605:YES、関連付けKを求めるステップS606。式14~16から、回転行列Rは、以下の式17のように表すことができる。ここで、関連付けKを、式18のように定義すると、回転行列Rは、式19のようになる。ここで、固有ベクトルUは、分布d1およびd2の固有ベクトルに相当し、関連付けKにより関連付けられる。関連付けKの要素は、固有ベクトルが対応する場合は1か-1が、そうでない場合は0が与えられる。ところで、分布d1およびd2が等しいことから、特異値も等しい。つまり、Sも等しい。実際には、分布d1と分布d2とには誤差が含まれているので、誤差を丸める。以上を考慮すると、関連付けKは、以下の式20のようになる。つまり、制御部210は、ステップS606において、式20を計算する。制御部210は、ステップS606の処理を完了すると、回転行列Rを計算するステップS607。具体的には、制御部210は、式19と式20とに基づいて、回転行列Rを計算する。計算により得られた回転行列Rを示す情報は、例えば、記憶部250に記憶される。制御部210は、ステップS607の処理を完了すると、分布d1およびd2が二次元であるか否かを判別するステップS608。例えば、最小の特異値が、所定値以下または最大の特異値との比率が所定範囲外である場合、分布d1およびd2は二次元であると判別される。制御部210は、分布d1およびd2が二次元ではないと判別するとステップS608:NO、移動ベクトルtを計算するステップS614。ここで、分布d1およびd2が二次元ではないことは、分布d1およびd2が三次元であることを示す。ここで、pとpは、以下の式21の関係を満たす。式21を変形すると、式22のようになる。式22と式7との対応から、移動ベクトルtは、以下の式23のようになる。一方、制御部210は、分布d1およびd2が二次元であると判別するとステップS608:YES、回転行列Rを検証し、回転行列Rが正常であるか否かを判別するステップS609。分布が二次元の場合、特異値の1つが0になるので、式18から判るように、関連付けが不定になる。つまり、Kの3行3列目の要素が1か-1のどちらかであるが、式20では正しい符号を割り当てる保証がない。そこで、回転行列Rの検証が必要になる。検証は、回転行列Rの外積関係の確認や式14による検算などである。ここでいう外積関係の確認とは、回転行列Rの列ベクトルおよび、行ベクトルが座標系による制約を満たすことの確認である。右手座標系では、1列目のベクトルと2列目のベクトルの外積は、3列目のベクトルに等しくなる。制御部210は、回転行列Rが正常であると判別するとステップS609:YES、移動ベクトルtを計算しステップS614、座標変換パラメータ取得処理を終了する。一方、制御部210は、回転行列Rが正常ではないと判別するとステップS609:NO、関連付けKを修正するステップS610。ここでは、関連付けKの3行3列目の要素の符号を反転する。制御部210は、ステップS610の処理を完了すると、修正された関連付けKを用いて回転行列Rを計算するステップS611。制御部210は、ステップS611の処理を完了すると、念のため、再度、回転行列Rが正常であるか否かを判別するステップS612。制御部210は、回転行列Rが正常であると判別するとステップS612:YES、移動ベクトルtを計算しステップS614、座標変換パラメータ取得処理を終了する。一方、制御部210は、回転行列Rが正常ではないと判別するとステップS612:NO、エラー処理を実行しステップS613、座標変換パラメータ取得処理を終了する。図7のフローに戻り、制御部210は、座標変換パラメータ取得処理ステップS506を終了すると、取得された座標変換パラメータを用いて、座標系を合わせるステップS507。具体的には、式7を用いて、合成三次元モデルの特徴点の座標を、被合成三次元モデルの座標系の座標に変換する。次に、制御部210は、ステップS507の処理を終了すると、特徴点ペアを記憶するステップS508。ここで、特徴点ペアは、被合成三次元モデルの特徴点と、座標変換後の合成三次元モデルの特徴点のうち、当該被合成三次元モデルの特徴点との距離が所定値以下かつ最近傍である特徴点と、から構成される。ここで、特徴点ペアの数が多いほど、ステップS502における3つの特徴点の選択、ならびに、ステップS505における合同な三角形の選択が適切であったと推定される。なお、特徴点ペアは、座標変換パラメータの取得条件ステップS502における3つの特徴点の選択、ならびに、ステップS505における合同な三角形の選択とともに、記憶部250などに記憶される。制御部210は、ステップS508の処理を終了すると、ステップS503において探索された全ての合同な三角形が、ステップS505において選択されたか否かを判別するステップS509。制御部210は、いずれかの合同な三角形が選択されていないと判別するとステップS509:NO、ステップS505に処理を戻す。一方、制御部210は、全ての合同な三角形が選択されたと判別するとステップS509:YES、終了条件を満たすか否かを判別するステップS510。本実施形態では、終了条件は、所定個数以上の条件について座標変換パラメータを取得したこととする。制御部210は、終了条件を満たしていないと判別するとステップS510:NO、ステップS502に処理を戻す。一方、制御部210は、終了条件を満たしていると判別するとステップS510:YES、最適な座標変換パラメータを特定するステップS511。具体的には、特徴点ペアが最も多く取得された座標変換パラメータが特定される。言い換えれば、ステップS502における3つの特徴点の選択、ならびに、ステップS505における合同な三角形の選択が最適であるものが特定される。なお、座標変換パラメータには、回転行列Rと移動ベクトルtとが含まれる。制御部210は、ステップS511の処理を終了すると、カメラ位置推定処理を終了する。図6のフローに戻り、制御部210は、相対誤差を計算するステップS403。制御部210は、相対誤差が基準値以下であると判別するとステップS404:YES、測定モード2の処理を終了する。そして、図3のフローに戻り、制御部210は、三次元モデル上の測定開始位置及び測定終了位置の座標より求めた長さと相対誤差を表示して、長さ測定処理を終了するステップS109。一方、制御部210は、相対誤差が基準値を超えると判別するとステップS404:NO、測定モード3の処理を行ってステップS405、測定モード2の処理を終了する。続いて、図9に示すフローチャートを参照して、測定モード3の処理について説明する。測定モード3の処理は、撮像位置から測定対象の被写体までの距離が遠い場合に対応した処理である。図11に示すように、測定モード3の処理では、制御部210は、測定対象の被写体400よりもデジタルカメラ1の近くにある被写体基準被写体410を用いてカメラ位置を求める。そして、その結果に基づいて、制御部210は、測定対象の被写体400における指定された長さを測定する。まず、制御部210は、基準被写体410に基づいて、カメラ位置推定処理を実行するステップS701。図11を参照して説明する。制御部210は、最初のカメラ位置A、移動後のカメラ位置Bでのそれぞれの撮像において、デジタルカメラ1までの距離が近く、各々の位置で、デジタルカメラ1の2つのレンズの画角内に収まる被写体を基準被写体410として決定する。そして、制御部210は、撮像された2組のペア画像の中から、基準被写体410において、少なくとも3点の共通する特徴点を取得する。これにより、カメラ位置Aとカメラ位置Bの相対的な位置関係が取得できる。つまり、カメラ位置Aにおけるaレンズと、カメラ位置Bにおけるbレンズの主点位置関係を取得できる。次に、レンズ主点位置関係、つまりカメラ位置Aにおけるaレンズからの回転行列、並進ベクトルからなる運動パラメータより、カメラ射影パラメータを生成する。そして、以下の式24より、画像Aのカメラ射影パラメータP、画像Bのカメラ射影パラメータPを求め、例えば、以下の式25及び式26から最小二乗法にて三次元情報X1,Y1、Z1を求める。[数25]transu1,v1,1~PtransX1,Y1,Z1,125[数26]transu1,v1,1~PtransX1,Y1,Z1,126なお、式25、式26において、画像座標、世界座標ともに同次座標で表しており、記号~は、その両辺が定数倍の違いを許して等しいことを表す。これにより測定開始位置始点と測定終了位置終点の座標が得られ、測定対象の被写体400における指定された長さが求められる。なお、2回の撮像では、始点と終点が収まらない場合には始点から終点までを追跡するようにして複数回撮像を行い、上記と同じようにして、始点と終点との間の長さを測定する。制御部210は、カメラ位置推定処理を完了した後、そのときの相対誤差を計算しステップS702、測定モード3の処理を終了する。制御部210は、測定モード3の処理を終了すると、図3のフローに戻って、三次元モデル上の測定開始位置及び測定終了位置の座標より求めた長さと相対誤差を表示してステップS109、長さ測定処理を終了する。変形例本発明は、上記実施形態に開示したものに限られない。上記実施形態では、制御部210は、相対誤差が基準値を超えている場合には測定モード3への移行を自動的に行った。しかし、直ちにモード移行するのではなく、制御部210は、使用者に対して、被写体400との撮像間距離を短くすることを促す旨のメッセージを表示部310を介して表示しても良い。即ち、使用者が被写体400に近づけば、デジタルカメラ1と被写体400との距離が短くなることによって測定精度が向上するからである。そして、メッセージを表示してから一定時間経過しても、相対誤差が基準値を超えている場合には、制御部210は、測定モード3の処理を行うようにすればよい。以上説明したように、本発明の上記実施形態に係るデジタルカメラ1は、ユーザがそれぞれ指定した被写体上の2点始点及び終点間の長さを、3Dモデリングによって得られた座標位置に基づいて求めることがきる。その際、デジタルカメラ1は、3つの測定モードから何れかの測定モードを適宜選択して、長さ測定処理を実行する。例えば、デジタルカメラ1から測定対象の被写体までの距離が短く、且つ、第1撮像部110及び第2撮像部120の同時撮像により得られた1組のペア画像中に始点及び終点が収まっている場合、測定モード1が選択される。測定モード1の処理では、1回の撮像結果に基づく被写体の3Dモデリングによって、上記2点間の長さが求まる。また、デジタルカメラ1から測定対象の被写体までの距離が短いが、被写体が大きく、上記の同時撮像により得られた1組のペア画像中に始点及び終点が収まらない場合、測定モード2が選択される。測定モード2の処理では、複数のカメラ位置での複数回の撮像結果に基づく被写体の3Dモデリングによって、上記2点間の長さが求まる。また、デジタルカメラ1から測定対象の被写体までの距離が長く、上記の同時撮像により得られた1組のペア画像中に始点及び終点が収まっているものの、被写体までの距離と奥行きの精度との相対誤差が所定値よりも大きい場合、測定モード3が選択される。測定モード3の処理では、複数のカメラ位置での複数回の撮像結果から、測定対象の被写体よりも手前に存在する他の被写体の画像部分に基づいて、カメラ位置移動ベクトル、回転ベクトルを算出する。これにより、デジタルカメラ1から測定対象の被写体までの距離が長い場合でも、上記2点間の長さを精度良く算出することができる。また、使用者によって指定された被写体上の始点及び終点を表示画像上に重畳して表示するので、使用者は、被写体上の始点及び終点の位置を容易に認識することができる。なお、本発明に係る撮像装置は、既存のステレオカメラ等を用いても実現可能である。即ち、上述した制御部210が実行したようなプログラムを既存のステレオカメラ等に適用し、そのステレオカメラ等のCPU等コンピュータが当該プログラムを実行することで、当該ステレオカメラ等を本発明に係る撮像装置として機能させることができる。このようなプログラムの配布方法は任意であり、例えば、フレキシブルディスク、CD-ROMCompactDiskRead-OnlyMemory、DVDDigitalVersatileDisk、MOMagnetoOpticalDisk、メモリカードなどのコンピュータ読み取り可能な記録媒体に格納して配布してもよい。あるいは、インターネット等の通信ネットワーク上のサーバ装置が有するディスク装置等に上記プログラムを格納しておき、かかるサーバ装置から、当該通信ネットワークを介して、上記プログラムを搬送波に重畳させて配信してもよい。この場合、上述した本発明に係る機能を、OSオペレーティングシステムとアプリケーションプログラムの分担、またはOSとアプリケーションプログラムとの協働により実現する場合などでは、アプリケーションプログラム部分のみを記録媒体等に格納してもよい。本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。以下に本願の当初の特許請求の範囲に記載された発明を付記する。付記1同一の被写体に対する1回の撮像で、視差のある1組のペア画像を取得する撮像部と、前記ペア画像の少なくとも一方の画像に基づく表示画像を表示する表示部と、前記表示画像上における前記被写体上の始点及び終点の指定を受け付ける受付部と、1又は複数組の前記ペア画像に基づいて、前記指定された被写体上の始点及び終点における実空間上のそれぞれの位置を算出し、算出した実空間上の始点及び終点位置に基づいて、前記被写体上の始点から終点までの長さを取得する長さ取得部と、を備えることを特徴とする撮像装置。付記2前記長さ取得部は、前記指定された被写体上の始点及び終点が1組の前記ペア画像中に収まる場合、当該1組のペア画像に基づいて、前記指定された被写体上の始点及び終点における実空間上のそれぞれの位置を算出する、ことを特徴とする付記1に記載の撮像装置。付記3前記長さ取得部は、前記指定された被写体上の始点及び終点が同じ組の前記ペア画像中に収まっていない場合、前記撮像部による複数回の撮像によって得られた複数組の前記ペア画像における前記被写体の画像部分に基づいて、前記始点が収まっているペア画像が撮像された位置に対する前記終点が収まっているペア画像が撮像された位置の相対座標を算出し、算出した相対座標に基づいて、前記指定された被写体上の始点及び終点における実空間上のそれぞれの位置を算出する、ことを特徴とする付記1又は2に記載の撮像装置。付記4前記長さ取得部は、前記被写体までの距離と奥行きの精度との相対誤差を算出し、算出した相対誤差が所定値よりも大きい場合、前記撮像部による複数回の撮像によって得られた複数組の前記ペア画像における、前記被写体より手前に存在する他の被写体の画像部分に基づいて、前記始点が収まっているペア画像が撮像された位置に対する前記終点が収まっているペア画像が撮像された位置の相対座標を算出し、算出した相対座標に基づいて、前記指定された被写体上の始点及び終点における実空間上のそれぞれの位置を算出する、ことを特徴とする付記1乃至3の何れかに記載の撮像装置。付記5前記相対誤差ΔZ/Zは、p/BZ/fであり、Zは被写体までの距離、ΔZは奥行きの精度、Bは平行移動距離、fは焦点距離、pは撮像素子のピクセルサイズ、である、ことを特徴とする付記4に記載の撮像装置。付記6前記表示部は、前記受付部によって受け付けられた被写体上の始点及び終点を、前記表示画像上に重畳して表示する、ことを特徴とする付記1乃至5の何れかに記載の撮像装置。付記7同一の被写体に対する1回の撮像で、視差のある1組のペア画像を取得する撮像部を有する撮像装置で前記被写体上における指定された2点間の長さを測定する長さ測定方法であって、前記ペア画像の少なくとも一方の画像に基づく表示画像を表示する表示ステップと、前記表示画像上における前記被写体上の始点及び終点の指定を受け付ける受付ステップと、1又は複数組の前記ペア画像に基づいて、前記指定された被写体上の始点及び終点における実空間上のそれぞれの位置を算出し、算出した実空間上の始点及び終点位置に基づいて、前記被写体上の始点から終点までの長さを取得する長さ取得ステップと、を含むことを特徴とする長さ測定方法。付記8同一の被写体に対する1回の撮像で、視差のある1組のペア画像を取得する撮像部を有する撮像装置を制御するコンピュータに、前記ペア画像の少なくとも一方の画像に基づく表示画像を表示する表示機能と、前記表示画像上における前記被写体上の始点及び終点の指定を受け付ける受付機能と、1又は複数組の前記ペア画像に基づいて、前記指定された被写体上の始点及び終点における実空間上のそれぞれの位置を算出し、算出した実空間上の始点及び終点位置に基づいて、前記被写体上の始点から終点までの長さを取得する長さ取得機能と、を実現させることを特徴とするプログラム。"