(57)【要約】【課題】  被写体の立体データを精度良く生成する。【解決手段】  カメラユニット１０４は、被写体を撮像する。距離情報取得部１１２は、被写体までの距離情報を取得する。ポリゴン変換部１２０は、距離情報を参照し、撮像画像をポリゴンに変換する。距離情報判定部１１３は、距離情報取得部１１２により距離情報が取得できなかった距離未定領域を判定する。ＣＰＵ１０６は、距離未定領域を液晶パネル１１７上に表示し、ユーザに再撮影を促す。【選択図】  図１
2017227608.tif 000002
【特許請求の範囲】
【請求項１】
被写体を撮像して前記被写体の立体データを生成する立体データ生成装置であって、
前記被写体を撮像する撮像手段と、
前記被写体までの距離情報を取得する距離情報取得手段と、
前記被写体の、前記距離情報を取得できていない距離未定領域を判定する判定手段と、
前記距離未定領域をユーザに通知する通知手段
とを有することを特徴とする立体データ生成装置。
【請求項２】
前記距離情報取得手段は、前記撮像手段による撮像画像から撮像面位相差ＡＦ方式により前記距離情報を取得することを特徴とする請求項１に記載の立体データ生成装置。
【請求項３】
前記判定手段は、前記距離未定領域を前記撮像画像の輝度値により判定することを特徴とする請求項２に記載の立体データ生成装置。
【請求項４】
前記通知手段は、前記距離未定領域に対してユーザに再撮影を促すことを特徴とする請求項１から３のいずれか１項に記載の立体データ生成装置。
【請求項５】
更に、前記距離情報取得手段により取得される前記距離情報を参照し、前記撮像手段の撮像画像から前記被写体のポリゴンデータを生成するポリゴン変換手段を有し、
前記通知手段は、前記ポリゴンデータのうち、面積が所定値以上のものに対してユーザに再撮影を促す
ことを特徴とする請求項１から４のいずれか１項に記載の立体データ生成装置。
【請求項６】
前記撮像手段はズーム手段を有することを特徴とする請求項１から５のいずれか１項に記載の立体データ生成装置。
【請求項７】
更に、
前記被写体に対する前記撮像手段の位置と撮影方向を保持する撮影位置テーブルと、
前記撮影位置テーブルに保持される前記位置と撮影方向の撮像画像に対し前記判定手段が前記距離未定領域を判定する場合に、前記撮影位置テーブルに保持されない撮影方向での撮影をユーザに促す手段
を有することを特徴とする請求項１から６のいずれか１項に記載の立体データ生成装置。
【請求項８】
被写体の立体データを生成するために前記被写体を撮像する撮像装置であって、
前記被写体を撮像する撮像手段と、
前記被写体までの距離情報を取得する距離情報取得手段と、
前記被写体の、前記距離情報を取得できていない距離未定領域を判定する判定手段と、
前記距離未定領域をユーザに通知する通知手段
とを有することを特徴とする撮像装置。
【請求項９】
前記距離情報取得手段は、前記撮像手段による撮像画像から撮像面位相差ＡＦ方式により前記距離情報を取得することを特徴とする請求項８に記載の撮像装置。
【請求項１０】
前記判定手段は、前記距離未定領域を前記撮像画像の輝度値により判定することを特徴とする請求項９に記載の撮像装置。
【請求項１１】
前記通知手段は、前記距離未定領域に対してユーザに再撮影を促すことを特徴とする請求項８から１０のいずれか１項に記載の撮像装置。
【請求項１２】
更に、前記距離情報取得手段により取得される前記距離情報を参照し、前記撮像手段の撮像画像から前記被写体のポリゴンデータを生成するポリゴン変換手段を有し、
前記通知手段は、前記ポリゴンデータのうち、面積が所定値以上のものに対してユーザに再撮影を促す
ことを特徴とする請求項８から１１のいずれか１項に記載の撮像装置。
【請求項１３】
前記撮像手段はズーム手段を有することを特徴とする請求項８から１２のいずれか１項に記載の撮像装置。
【請求項１４】
更に、
前記被写体に対する前記撮像手段の位置と撮影方向を保持する撮影位置テーブルと、
前記撮影位置テーブルに保持される前記位置と撮影方向の撮像画像に対し前記判定手段が前記距離未定領域を判定する場合に、前記撮影位置テーブルに保持されない撮影方向での撮影をユーザに促す手段
を有することを特徴とする請求項８から１３のいずれか１項に記載の撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、立体データ生成装置及び撮像装置に関し、より具体的には、立体物を撮影し、その立体データを生成する立体データ生成装置及びこれに使用する撮像装置を提示することを目的とする。
【背景技術】
【０００２】
立体的な被写体を異なる複数の方向から撮影し、写真測量技術に基づいてその被写体の立体データを生成する技術が知られている。例えば、両眼と同様の２つの撮像画像を使うことで、被写体の３次元形状を決定できる。このようにして得られた立体データを３Ｄプリンタに入力することで、被写体を再現する立体物を手軽に製造することができる。
【０００３】
被写体形状を全体的に三次元計測するには、未撮影領域を無くすことが必要である。特許文献１には、写真測量技術により被写体を三次元計測する装置において、ポリゴン化したエリアの撮影回数が所定回数以上か否かを判定して、撮影不足領域を確認可能とする技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２５６２５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来例では、では、ポリゴン化したエリアの撮影回数で撮影不足領域を判定しているので、当該領域に対して実際に被写体の三次元座標値を取得できているかどうかが分からない。
【０００６】
本発明は、被写体の３次元データの取得状況を容易に確認できる立体データ生成装置及び撮像装置を提示することを目的とする。
【課題を解決するための手段】
【０００７】
前述の目的を達成するために、本発明に係る立体データ生成装置は、被写体を撮像して前記被写体の立体データを生成する立体データ生成装置であって、前記被写体を撮像する撮像手段と、前記被写体までの距離情報を取得する距離情報取得手段と、前記被写体の、前記距離情報を取得できていない距離未定領域を判定する判定手段と、前記距離未定領域をユーザに通知する通知手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、被写体情報を正しく取得出来ていない領域を通知することで、ユーザに再撮影を促すことができる。これにより、正確な立体データを生成できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施例の概略構成ブロック図である。
【図２】本実施例の動作フローチャートである。
【図３】本実施例の動作説明図である。
【図４】本実施例の別の動作フローチャートである。
【図５】図４に示す動作の説明図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【実施例１】
【００１１】
図１は、本発明に係る立体データ生成装置の一実施例の概略構成ブロック図を示す。
【００１２】
立体データ生成装置１００は立体形状の被写体を撮像する少なくとも１つの撮像装置を有する。１０１は、その撮像装置のレンズユニットである。レンズユニット１０１は、集光のための固定レンズ群、変倍レンズ群、絞り、及び、変倍レンズ群の動きで移動した結像位置を補正する機能と焦点調節を行なう機能とを兼ね備える補正レンズ群からなる。１０２は、ＣＣＤ（ｃｈａｒｇｅ  ｃｏｕｐｌｅｄ  ｄｅｖｉｃｅ）式またはＣＭＯＳ式等の撮像素子であり、光強度の分布を電荷の分布に変換することで被写体光学像を画像信号に変換する。１０３は、撮像素子１０２から出力されるアナログ画像信号をデジタル化するＡ／Ｄ処理部である。レンズユニット１０１、撮像素子１０２及びＡ／Ｄ処理部１０３が、カメラユニット１０４を構成する。
【００１３】
カメラユニット１０４は、レンズユニット１０１の変倍レンズ群及び絞りなどをそれぞれ駆動するアクチュエータ、手ぶれを検出するセンサ（例えば角速度センサ）及び手ぶれ補正手段（シフトレンズなど）を有するが、図１では省略してある。
【００１４】
１０５は、カメラ制御ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、ＣＰＵ１０６の制御に従いカメラユニット１０４の各要素を制御する。また、カメラ制御ＣＰＵ１０５は、カメラユニット１０４の合焦情報及び手ぶれ情報などのカメラユニット１０４で得られる情報をＣＰＵ１０６に伝達する。
【００１５】
１０６は、マイクロコンピュータからなるＣＰＵであり、システム全体を制御する。ＣＰＵ１０６は、プログラムを格納する不揮発性メモリ（ＲＯＭ）、作業領域となる揮発性メモリ（ＲＡＭ）、他のハードウエアとデータの受け渡しと制御用レジスタへのアクセスのための外部バス及び時間を計測するタイマを有する。１０７はバスである。バス１０７には各ブロックが接続されており、ＣＰＵ１０６の制御に従ってデータの受け渡しを行なう伝送路である。
【００１６】
１０８は、Ａ／Ｄ処理部１０３から出力されるデジタル画像信号または画像データから所定映像形式の撮像画像データを生成する生成する信号処理部である。
【００１７】
１０９は、ＣＰＵ１０６の制御に従い、入力画像データを３Ｄデータにエンコードするエンコーダと、静止画をＪＰＥＧ方式で圧縮符号化するＪＰＥＧエンコーダとを備えるエンコーダ部である。
【００１８】
１１０は撮影で得られた動画を記録するメモリカードであり、不揮発性半導体メモリ、当該不揮発性メモリへのデータ読み書きを制御するメモリ制御回路、及びバス１０７に接続するインターフェースを有する。ＣＰＵ１０６は、バス１０７を介してメモリカード１１０のメモリ制御回路の制御レジスタにアクセスできる。ＣＰＵ１０６は、メモリカード１１０の不揮発性メモリのファイルシステムを扱うソフトウエアを搭載し、このファイルシステムに従ってメモリカード１１０へのデータの読み書きを管理する。
【００１９】
１１１は、エンコーダ部１０９に対応するデコーダ部であり、３Ｄエンコーダに対応する３Ｄデコーダと、ＪＰＥＧエンコーダに対応するＪＰＥＧデコーダとを備える。
【００２０】
１１２は、カメラユニット１０４から被写体までの距離情報を取得する距離情報取得部である。距離情報取得部１１２は、例えば位相差方式の外側センサにより、被写体までの距離を検出する。１１３は、距離情報取得部１１２により被写体までの距離情報を正確に取得出来たか否かを判定する距離情報判定部である。
【００２１】
１１４は、オンスクリーンディスプレイ（ＯＳＤ）部であり、各種設定を行うためのメニュー画面並びにタイトル及び時間などの情報をビデオ画像に重畳し、液晶パネル１１７に印加する。液晶パネル１１７は、カメラユニット１０４の撮影視野内の被写体を表示するモニタとしても使用される。
【００２２】
１１５は、複数の操作スイッチを有するスイッチ操作部であり、ユーザのスイッチ操作をＣＰＵ１０６に入力する。スイッチ操作部１１５は、画像の撮影を維持するスイッチ、及び、各種パラメータを変更するボタン等を備えている。
【００２３】
１１６はタッチパネル操作部であり、そのタッチパネルは液晶パネル１１７の画面に重ねて配置される。液晶パネル１１７により表示されるサムネイル画像お及び仮想ボタン等を指示するようにユーザがタッチパネル操作部１１６にタッチすることで、直感的で多様な操作を可能にする。１１８は、画面制御部であり、タッチパネル操作部１１６に対する操作入力を演算して、仮想ボタンを押されたことを判断する。画面制御部１１８はさらに、液晶パネル１１７に出力する仮想ボタンも制御する。
【００２４】
１１９は、立体データを生成しようとする被写体を複数の角度から撮影する際の、カメラユニット１０４の位置、被写体を撮影する輻輳角及び撮影枚数を保持する撮影位置テーブルである。
【００２５】
１２０は、３Ｄ表現されたモデルを三角形等の多角形平面要素（ポリゴン）からなるポリゴンモデルに変換するポリゴン変換部である。ポリゴンは、曲面を構成する最小単位であり、三角形の面積が小さいほど滑らかな面を構成でき、三角形の面積が大きいほど平らに見える面が目立つようになる。
【００２６】
１２１は、ＧＰＳ受信機と電子コンパスを有し、カメラユニット１０４の位置、すなわち、撮影位置を検出する撮影位置検出部である。ＧＰＳ受信機により、全地球測位システムにより地球座標系上での三次元位置（緯度、経度及び標高）を計測でき、電子コンパスによりカメラユニットの向き、則ち撮影方向を検出できる。
【００２７】
図２は、未撮影領域を解消できるようにした本実施例の動作フローチャートを示し、図３は、その撮影例を示す。図３（ａ）はカメラユニット１０４と被写体（図示例ではリンゴ）の位置関係を示し、図３（ｂ）〜図３（ｅ）は、図２に示すフローの各過程での液晶パネル１１７での表示例を示す。
【００２８】
Ｓ２０１で、ＣＰＵ１０６は、ユーザがスイッチ操作部１１５又はタッチパネル操作部１１６でシャッタボタンを押下するのを待つ。シャッタボタンが押下されると、Ｓ２０２で、ＣＰＵ１０６は、カメラユニット１０４から被写体までの距離を距離情報取得部１１２より取得する。距離情報取得部１１２は、本実施例では、撮像面位相差ＡＦ方式により、撮影画像（撮像素子１０２の撮像面での輝度分布でも良い）での輝度レベルから距離情報を決定する。また、ＣＰＵ１０６は、カメラユニット１０４から入力された画像を信号処理部１０８にデジタル化させ、エンコーダ部１０９に圧縮させる。エンコーダ部１０９は、圧縮した画像データを、必要により距離情報とともにメモリカード１１０に記録する。ＣＰＵ１０６は、信号処理部１０８から出力される画像データを液晶パネル１１７にも供給し、液晶パネル１１７にカメラユニット１０４の画角内の被写体画像を表示させる。
【００２９】
Ｓ２０３で、距離情報判定部１１３が、被写体に対し距離情報を正確に取得出来たか否かを判定する。具体的には、距離情報判定部１１３は、距離情報を撮像面位相差ＡＦ方式で取得しており、被写体の輝度値が所定レンジ以内かを判定する事により距離情報を正確に取得できたかどうかを判定する。例えば、輝度値のスケールを０から２５５とした場合で、輝度値が１以上２５４以下のレンジに入っているとき、正確に取得できたと判定する。ＣＰＵ１０６は、距離情報判定部１１３の判定結果に従い、距離情報を正確に取得できている領域に対してＳ２０６に進み、距離情報を正確に取得できていない領域（距離未定領域）に対してＳ２０４に進む。
【００３０】
図３（ｂ）は、初期の撮影画像例を示す。領域Ａは輝度値がレンジ以内であり、距離情報を取得出来ている。他方、領域Ｂは、輝度値が２５５と飽和しており、距離情報を取得できていない距離未定領域である。この例では、ＣＰＵ１０６は、領域Ａに対してＳ２０６に進み、領域Ｂに対してＳ２０４に進む。
【００３１】
Ｓ２０４で、ＣＰＵ１０６は、距離情報を取得出来ていなかった領域をユーザに通知する。ＣＰＵ１０６は、距離情報を正確には取得できていない距離未定領域（図３（ｂ）の領域Ｂ）を、図３（ｃ）に示すように、液晶パネル１１７の画面上で例えば特定色で塗りつぶして表示することで、ユーザに通知する。このために、ＯＳＤ１１４が、領域Ｂに特定の色を付けて、液晶パネル１１７に供給する。併せて、ＣＰＵ１０６は、液晶パネル１１７の画面上に、領域Ｂの再撮影をユーザに促すメッセージ、例えば、「再撮影するエリアを指定してください」といったメッセージを表示する。この通知により、ユーザが立体データを取得できていない領域を知ることが出来る。
【００３２】
Ｓ２０５で、ユーザは、Ｓ２０４で指示された領域Ｂにズームして撮影する。このとき、ＣＰＵ１０６は、ユーザの指示によりまたは自動処理により、カメラユニット１０４のレンズユニット１０１または撮像素子１０２のゲインを、距離情報を正確に取得できるような範囲に調整する。検出した輝度値に応じて、輝度ゲインを設定する。例えば、輝度値が大きい場合には、輝度ゲインを１／２に調整する。
【００３３】
Ｓ２０５でのズーム撮影の具体的な手順を説明すると、ユーザはまず、Ｓ２０４で指示された領域Ｂを含む範囲をタッチパネル操作部１１６を使って指定する。画面制御部１１８はタッチパネル操作部１１６で指定された範囲の座標をＣＰＵ１０６に通知する。ＣＰＵ１０６は、指示された範囲を撮影する画角及び撮影方向となるようにカメラ制御ＣＰＵ１０５を介してカメラユニット１０４のズームと撮影方向を制御する。ＣＰＵ１０６は、カメラ制御ＣＰＵ１０５に指示した画角及び撮影方向になると、ユーザの確認を得て、または自動的に、シャッタ動作を起動する。これにより、Ｓ２０４で指示された領域がズームした状態で撮影される。Ｓ２０５の撮影後、ＣＰＵ１０６は、Ｓ２０２に戻り、ズーム撮影された部分についてＳ２０２以降を繰り返す。これにより、Ｓ２０４でユーザに通知された領域に対してポリゴン化に必要な距離情報を取得できる。ズーム撮影により、得られるポリゴンが細かくなるが、その必要性が無い場合には、ズーム無しで、ゲインを調整しただけでもよい。
【００３４】
Ｓ２０６で、ＣＰＵ１０６は、取得できた距離情報を使いエンコーダ部１０９の３Ｄエンコーダに立体データを生成させ、ポリゴン変換部１２０に立体データからＴＩＮモデルによるポリゴンデータを生成させる。ＣＰＵ１０６は、生成されたポリゴンデータの各ポリゴンを被写体の画像に重ねて、液晶パネル１１７に表示する。ポリゴン変換部１２０は、撮影画像からハリスのコーナー検出関数等により特徴点を抽出し、その特徴点の位置情報に基づいてドロネー三角形分割処理を実行し、距離情報から特徴点の距離情報を求め、ポリゴン化処理を実行する。
【００３５】
図３（ｄ）は、被写体のポリゴン化の表示例を示す。ポリゴン化した際の三角形の面積が小さい領域では被写体の特徴点を細かく取得できており、他方、面積が大きい領域では特徴点を荒く取得できている。領域Ｃは、ポリゴンの三角形の面積が小さいので、特徴点を細かく取得できている。領域Ｄは、ポリゴンの三角形の面積が大きいので、特徴点が荒く取得できている。
【００３６】
Ｓ２０７で、ＣＰＵ１０６は、生成された各ポリゴンの面積が所定値以上か否かを判定する。いずれかのポリゴンの面積が所定値以上の場合、Ｓ２０８で、ＣＰＵ１０６は、面積の大きいポリゴンの領域を、液晶パネル１１７の画面上で例えば特定色で塗りつぶして表示することで、ユーザに通知する。例えば、図３（ｄ）に示す領域Ｄを、図３（ｅ）に示すように特定色で塗りつぶして表示する。面積が一番大きいポリゴンを色付けしてユーザに通知してもよいし、被写体の１／６サイズ以上のポリゴンを色付けしてユーザに通知しても良い。ＯＳＤ１１４が、ポリゴンの三角形の面積が大きい領域に特定の色を付けて、液晶パネル１１７に供給する。併せて、ＣＰＵ１０６は、液晶パネル１１７の画面上に、その面積の大きいポリゴンの領域の再撮影をユーザに促すメッセージ、例えば、「再撮影するエリアを指定してください」といったメッセージを表示する。
【００３７】
Ｓ２０５で、ユーザは、Ｓ２０８で指示された領域Ｄにズームして撮影する。具体的には、ユーザは、Ｓ２０６で指示された領域Ｄを含む範囲をタッチパネル操作部１１６を使って指定する。画面制御部１１８はタッチパネル操作部１１６で指定された範囲の座標をＣＰＵ１０６に通知する。ＣＰＵ１０６は、指示された範囲を撮影する画角及び撮影方向となるようにカメラ制御ＣＰＵ１０５を介してカメラユニット１０４のズームと撮影方向を制御する。ＣＰＵ１０６は、カメラ制御ＣＰＵ１０５に指示した画角及び撮影方向になると、ユーザの確認を得て、または自動的に、シャッタ動作を起動する。これにより、撮像素子１０２は、Ｓ２０８で指示された領域Ｄをズームした状態で撮像できる。Ｓ２０５の撮影後、ＣＰＵ１０６は、Ｓ２０２に戻り、ズーム撮影された部分についてＳ２０２以降を繰り返す。これにより、Ｓ２０８でユーザに通知された領域Ｄを更に細かい三角形に分解することができる。
【００３８】
得られた三角形の面積がいずれも所定値未満の場合（Ｓ２０７）、ＣＰＵ１０６は、図２に示すフローを終了する。もちろん、ユーザの終了指示があったときに図２に示す処理を終了し、撮影範囲を指定しての再撮影の指示にある限り、Ｓ２０２以降を繰り返すようにしてもよい。
【００３９】
図１では、理解を容易にするために、距離情報取得部１１２、距離情報判定部１１３、ポリゴン変換部１２０及び撮影位置検出部１２１をＣＰＵ１０６とは別に図示している。しかし、これら部材１１２，１１３，１２０，１２１のそれぞれの一部または全部の機能を、ＣＰＵ１０６上で動作するプログラムで実現できることは明らかであり、ＣＰＵ１０６上で動作するプログラムで実現しても良い。
【実施例２】
【００４０】
本実施例の別の動作を説明する。立体物である被写体の一面の立体形状を計測するだけでなく、その全周の立体形状を計測したいことがある。例えば、カメラユニット１０４を被写体の周囲の異なる位置に置いて撮影を行い、得られた複数の撮影画像とそれぞれの撮影の際のカメラユニット１０４の位置、撮影方向及びズーム値とから、被写体の全体形状を示す３Ｄデータを生成できる。このような場合にも、未撮影部分に対しては精度良く３Ｄデータを生成できないので、未撮影部分をユーザに的確に提示できるようにすることが重要になってくる。もちろん、カメラユニット１０４を同じ位置と撮影方向に固定しつつ、被写体を同じ位置で回転させて撮影しても、一部又は全部を周回する同様の周回撮影となる。
【００４１】
図４は、このような用途に対応する図１に示す実施例の動作フローチャートである。図５は、被写体と、この被写体をその周囲から撮影するときのカメラ位置との関係を示す模式図である。
【００４２】
Ｓ４０１で、ＣＰＵ１０６は、撮影位置テーブル１１９を記憶する記憶部から撮影位置テーブルを読み込む。撮影位置テーブル１１９には、図５（ａ）に示すように被写体を一周して撮影する周回撮影の、輻輳角と撮影枚数が記憶されている。ここでは、輻輳角が４５度で、撮影枚数８枚になっている。
【００４３】
Ｓ４０２で、ＣＰＵ１０６は、Ｓ２０１と同様に、ユーザがスイッチ操作部１１５又はタッチパネル操作部１１６でシャッタボタンを押下するのを待つ。シャッタボタンが押下されると、Ｓ４０３で、ＣＰＵ１０６は、Ｓ２０２と同様に、カメラユニット１０４から被写体までの距離を距離情報取得部１１２より取得する。
【００４４】
Ｓ４０３で、ＣＰＵ１０６は、周回撮影の１回目の撮影か否かを判定する。１回目の撮影の場合、Ｓ４０４で、ＣＰＵ１０６は、現在のカメラ位置を基準位置として保持し、Ｓ４０５に進む。基準位置は、撮影位置検出部１２１から取得したＧＰＳ情報と、距離情報取得部１１２から取得した被写体までの距離情報からなる。２回目以降の撮影の場合（Ｓ４０４）、ＣＰＵ１０６は、Ｓ４０５を迂回して、Ｓ４０６に進む。
【００４５】
Ｓ４０６で、距離情報判定部１１３が、Ｓ２０３と同様に、被写体に対し距離情報を正確に取得出来たか否かを判定する。ＣＰＵ１０６は、距離情報を取得できていない領域がある場合（Ｓ４０６）、Ｓ４０７に進み、どの領域でも距離情報を正しく取得できている場合、Ｓ４０７，Ｓ４０８を迂回して、Ｓ４０９に進む。
【００４６】
Ｓ４０７で、ＣＰＵ１０６は、Ｓ２０４と同様の処理でその領域をユーザに通知することで、ユーザに再撮影を促す。このとき、ＣＰＵ１０６は、図５（ｂ）に示すように、被写体までの距離を維持したまま輻輳角を変更して、すなわち、被写体を中心とする同じ半径位置にカメラユニット１０４を移動して、撮影を実行するように、ユーザに指示する。
【００４７】
再撮影の輻輳角は、撮影位置テーブル１１９に設定されている輻輳角よりも小さい角度とするのが好ましい。現在の撮影位置における輻輳角は、撮影位置検出部１２１に搭載している電子コンパスで検出されるカメラユニット１０４の向きから算出できる。図５に示す例では、撮影位置テーブル１１９には４５度の輻輳角で被写体を撮影するように設定されており、例えば、ＣＰＵ１０６は、１５度の輻輳角で３枚の再撮影を行うようにユーザに提示する。
【００４８】
ユーザは、次のようにして再撮影のために被写体までの距離を維持する。すなわち、ＣＰＵ１０６は、撮影位置検出部１２１と距離情報取得部１１２により現在位置を把握できるので、被写体までの距離に応じたメッセージを液晶パネル１１７に表示する。例えば、ＣＰＵ１０６は液晶パネル１１７に、被写体までの距離が近すぎる場合には、「離れて撮影してください」といったメッセージを表示し、被写体までの距離が遠すぎる場合には、「近づいて撮影してください」といったメッセージを表示する。輻輳角に関しては、ＣＰＵ１０６は液晶パネル１１７に、目標値に達していない場合には「右へ移動してください」とか、「左へ移動してください」といった横移動を指示するメッセージを表示する。
【００４９】
Ｓ４０９で、ＣＰＵ１０６は、撮影位置テーブル１１９に規定される次の撮影位置と輻輳角への変更をユーザに指示する。ユーザはこの指示に従いカメラユニット１０４を指示された位置に移動する。このとき、ＣＰＵ１０６は、再撮影（Ｓ４０８）で説明したのと同様の手順で、撮影位置テーブル１１９に規定される次の撮影位置と輻輳角になるようにユーザに指示する。
【００５０】
Ｓ４１０で、ＣＰＵ１０６は、撮影位置テーブル１１９に規定される１周分の撮影を実行済みかどうかを判定する。１周分撮影したら、ＣＰＵ１０６は図４に示すフローを終了し、１周分になっていなければ、Ｓ４０２に戻る。
【００５１】
図４に示すような動作により、ユーザは、距離情報を正しく取得出来ていない領域を再撮影して、距離情報を取得することができる。これにより、被写体の３Ｄデータを精度良く生成できる。
【００５２】
ここでは単一のカメラユニット１０４を被写体の周囲の別の位置に置きながら撮影を行うとしたが、複数のカメラを被写体の周囲に置いて実質的に同時に撮影を行い、得られた撮影画像から被写体の３Ｄデータを生成しても良い。個々のカメラに対して、距離情報の取得に支障があった領域に対して、同様の手順でユーザに警告する。
【００５３】
本発明の目的は、前述した実施例の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を装置に供給することによっても、達成される。このとき、供給された装置の制御部を含むコンピュータ（またはＣＰＵやＭＰＵ）は、記憶媒体に格納されたプログラムコードを読み出し実行する。記憶媒体から読み出されたプログラムコード自体が、上述の実施例の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は、本発明を構成することになる。
【００５４】
プログラムコードを供給するための記憶媒体としては、例えば、磁気ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード又はＲＯＭ等を用いることができる。
【００５５】
上述のプログラムコードの指示に基づき、装置上で稼動しているＯＳ（基本システムやオペレーティングシステム）などが処理の一部又は全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
【００５６】
さらに、記憶媒体から読み出されたプログラムコードが、装置に挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれ、前述した実施形態の機能が実現される場合も含まれる。このとき、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行う。
【００５７】
以上、本発明の好ましい実施例を説明したが、本発明は、これらの実施例に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【図１】
2017227608.tif 000003
【図２】
2017227608.tif 000004
【図３】
2017227608.tif 000005
【図４】
2017227608.tif 000006
【図５】
2017227608.tif 000007