(57)【要約】【課題】順次に撮影し撮影された複数の画像データに基づき所定のデータを生成する際に、無駄な撮影を防止して所定のデータを効率良く生成できる画像処理装置の技術を提供する。【解決手段】データ処理システムは、カメラと画像処理装置とを備えている。撮影者がカメラで撮影した対象物の画像データは画像処理装置に送信される。画像処理装置では、撮影の度にカメラ２から送信される画像データと、それ以前に取得している複数の画像データとに基づくモデリングを行い、生成された三次元モデルにテキスチャ画像（撮影画像）をマッピングする。そして、マッピングがが良好である場合には撮影終了の判定を行うとともに、不良の場合には撮影続行の判定を行い、この判定結果をカメラに送信する。この撮影終了の通知を受けたカメラ側では、撮影を終了する。これにより、無駄な撮影を防止して画像処理を効率良く行える。【選択図】        図４
2004342004.tif 000002
【特許請求の範囲】
【請求項１】
画像データの処理が可能な画像処理装置であって、
（ａ）撮影手段で順次に撮影し取得された複数の画像データに基づき、一定の条件を満たす所定のデータを生成する処理手段と、
（ｂ）前記撮影手段で１の撮影動作があった場合には、前記１の撮影動作によって取得された１の画像データと前記１の撮影動作の前に取得されていた複数の画像データとに基づき、前記所定のデータが生成可能であるか否かを判定する判定手段と、
（ｃ）前記判定手段で前記所定のデータが生成可能であると判断される場合には、前記撮影手段での撮影終了を通知する通知手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記処理手段は、
（ｂ−１）前記複数の画像データに基づき、三次元データ処理を行って三次元データを生成する手段、
を有することを特徴とする画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記処理手段は、
（ｂ−２）前記複数の画像データに基づき、前記三次元データ処理に係るキャリブレーション処理を行って前記撮影手段の固有データを生成する手段、
を有することを特徴とする画像処理装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の画像処理装置において、
前記処理手段は、
（ｂ−３）前記複数の画像データに基づき、画像合成処理を行ってパノラマ画像のデータを生成する手段、
を有することを特徴とする画像処理装置。
【請求項５】
画像処理装置に内蔵されたコンピュータにおいて実行されることにより、当該画像処理装置を請求項１ないし請求項４のいずれかに記載の画像処理装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データの処理が可能な画像処理装置の技術に関する。
【０００２】
【従来の技術】
従来の画像処理技術においては、被写体を順次に撮影して取得された複数の画像データに基づき、モデリングやパノラマ画像の生成を行うものがある。
【０００３】
上記のモデリングについては、例えば特許文献１に開示されており、対象物のシルエット画像から三次元モデルが生成される技術が記載されている。
【０００４】
また、パノラマ画像の生成については、例えば特許文献２に開示されており、複数の二次元画像を貼り合わせ合成でパノラマ画像を作成する技術が記載されている。
【０００５】
【特許文献１】
特開平８−１０５７２４号公報
【特許文献２】
特開平１１−２０５６４８号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、上記のモデリングやパノラマ画像の生成において、撮影者が順次に撮影する際に、モデリングやパノラマ画像の生成に必要十分な画像データが現撮影時点で取得されているか否かを判断するのは難しい。よって、過剰な撮影が行われる場合があり、この場合には無駄な撮影が生じ、モデリングなどの処理を効率良く迅速に行えないこととなる。
【０００７】
本発明は、上記課題に鑑みてなされたものであり、順次に撮影し取得された複数の画像データに基づき所定のデータを生成する際に、無駄な撮影を防止して所定のデータを効率良く生成できる画像処理装置の技術を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記の課題を解決するため、請求項１の発明は、画像データの処理が可能な画像処理装置であって、（ａ）撮影手段で順次に撮影し取得された複数の画像データに基づき、一定の条件を満たす所定のデータを生成する処理手段と、（ｂ）前記撮影手段で１の撮影動作があった場合には、前記１の撮影動作によって取得された１の画像データと前記１の撮影動作の前に取得されていた複数の画像データとに基づき、前記所定のデータが生成可能であるか否かを判定する判定手段と、（ｃ）前記判定手段で前記所定のデータが生成可能であると判断される場合には、前記撮影手段での撮影終了を通知する通知手段とを備える。
【０００９】
また、請求項２の発明は、請求項１の発明に係る画像処理装置において、前記処理手段は、（ｂ−１）前記複数の画像データに基づき、三次元データ処理を行って三次元データを生成する手段を有する。
【００１０】
また、請求項３の発明は、請求項２の発明に係る画像処理装置において、前記処理手段は、（ｂ−２）前記複数の画像データに基づき、前記三次元データ処理に係るキャリブレーション処理を行って前記撮影手段の固有データを生成する手段を有する。
【００１１】
また、請求項４の発明は、請求項１ないし請求項３のいずれかの発明に係る画像処理装置において、前記処理手段は、（ｂ−３）前記複数の画像データに基づき、画像合成処理を行ってパノラマ画像のデータを生成する手段を有する。
【００１２】
また、請求項５の発明は、画像処理装置に内蔵されたコンピュータにおいて実行されることにより、当該画像処理装置を請求項１ないし請求項４のいずれかの発明に係る画像処理装置として機能させるプログラムである。
【００１３】
【発明の実施の形態】
＜第１実施形態＞
＜三次元データ処理システム＞
図１は、本発明の第１実施形態に係るデータ処理システム１Ａの要部構成を示す概略図である。
【００１４】
データ処理システム１Ａは、被写体である対象物ＳＢを撮影するカメラ２と、カメラ２とケーブルＣＢを介して通信可能に接続する画像処理装置３Ａとを備えている。なお、対象物ＳＢは、置物であり、その形状が一定で安定している。
【００１５】
カメラ２は、例えばデジタルカメラを利用し、立体物である対象物ＳＢの２次元カラー画像の取得が可能である。撮影手段として働くカメラ２は、背面に例えば液晶ディスプレイなどの表示部２０が設けられている。
【００１６】
画像処理装置３Ａは、例えばパーソナルコンピュータとして構成されており、画像データの処理が可能である。この画像処理装置３Ａは、箱状の形状を有する処理部３０と、操作部３１と、例えばＣＲＴで構成される表示部３２とを有している。
【００１７】
処理部３０の前面には、光ディスク９を挿入するドライブ３０１が設けられている。
【００１８】
操作部３１は、マウス３１１とキーボード３１２とを有しており、ユーザからの画像処理装置３Ａに対する操作入力を受付ける。
【００１９】
図２は、データ処理システム１Ａの機能ブロックを示す図である。
【００２０】
カメラ２は、光学ユニット２１を介して対象物ＳＢを撮像する撮像部２２と、これら各部と伝送可能に接続する制御部２３とを備えている。また、カメラ２は、制御部２３と伝送可能に接続する通信部Ｉ／Ｆ２４および位置・姿勢検出部２５を備えている。
【００２１】
光学ユニット２１は、レンズ群とこれらのレンズ群の配置を変更する駆動部とを有し、フォーカスやズームを行って対象物ＳＢの光学像を撮像部２２に結像させる。
【００２２】
撮像部２２は、例えばＣＣＤなどの撮像素子を有して構成されている。そして、撮影素子で対象物ＳＢのアナログ画像信号を取得した後、Ａ／Ｄ変換を行ってデジタル信号の画像データを生成する。
【００２３】
通信Ｉ／Ｆ２４は、ケーブルＣＢを介して画像処理装置３Ａとデータ伝送するためのインターフェースである。
【００２４】
位置・姿勢検出部２５は、例えば加速度センサおよびジャイロを有しており、カメラ２の三次元位置と、撮影方向を決めるカメラ２の姿勢とを検出する部位である。この位置・姿勢検出部２５により、カメラ２の位置・姿勢情報が得られることとなる。
【００２５】
制御部２３は、ＣＰＵを有しており、カメラ２の動作を統括制御する部位である。また、制御部２３は、撮像部２２で取得した画像データを通信Ｉ／Ｆ２４を介して画像処理装置３Ａに送信するための制御を行う。
【００２６】
画像処理装置３Ａは、上記の操作部３１および表示部３２に伝送可能に接続する制御部３３を備えている。また、画像処理装置３Ａは、制御部３３に伝送可能に接続する記憶部３４と、入出力Ｉ／Ｆ３５と、通信Ｉ／Ｆ３６とを備えている。
【００２７】
記憶部３４は、例えばハードディスクとして構成されており、後述の撮影支援プログラムＤＰを格納する。
【００２８】
入出力Ｉ／Ｆ３５は、操作部３１および表示部３２と制御部３３との間でデータの送受をコントロールするためのインターフェースである。
【００２９】
入出力Ｉ／Ｆ３５は、ドライブ３０１を介して、記録媒体である光ディスク９に対するデータの入出力を行うためのインターフェースである。
【００３０】
通信Ｉ／Ｆ３６は、ケーブルＣＢを介してカメラ２とデータ伝送するためのインターフェースである。
【００３１】
制御部３３は、コンピュータとして働くＣＰＵ３３１およびメモリ３３２を有しており、画像処理装置３Ａの動作を統括制御する部位である。この制御部３３で撮影支援プログラムＤＰが実行されることにより、撮影者の撮影動作を支援し、無駄な撮影を防止できる動作が画像処理装置３Ａで行われることとなる（後で詳述）。
【００３２】
制御部３３のメモリ３３２には、光ディスク９に記録されている撮影支援プログラムＤＰなどのプログラムデータを入出力Ｉ／Ｆ３５を介して格納することができる。これにより、この格納したプログラムを画像処理装置３Ａの動作に反映できる。
【００３３】
＜モデリングおよびテクスチャ・マッピング＞
データ処理システム１Ａにおけるモデリングは、画像処理装置３Ａにて行われる。すなわち、カメラ２で取得された画像データ、カメラ２の位置・姿勢情報および内部パラメータが画像処理装置３Ａに送信され、これらのデータを受信した画像処理装置３Ａの制御部３３で、例えばＳｈａｐｅ  Ｆｒｏｍ  Ｓｈｉｌｈｏｕｅｔｔｅ法（以下では「ＳＦＳ法」という）を利用して対象物ＳＢの三次元形状モデルが生成される。このモデリング処理を以下で説明する。
【００３４】
図３は、モデリングを説明するための図である。図３（ｂ）は、図３（ａ）に示す撮影状態から、カメラ２を方向Ｈａ（図１参照）に所定量だけ移動させて対象物ＳＢを撮影する様子を示している。
【００３５】
まず、対象物ＳＢを撮影した各画像Ｇ１、Ｇ２から、対象物ＳＢの輪郭Ｇｓ１、Ｇｓ２（太線）が抽出され、そのシルエット画像を作成する。このシルエット画像は、物体表面と背景との色差に基づき対象物ＳＢの輪郭Ｇｓ１、Ｇｓ２を抽出した後、例えば輪郭の内部を「１」に、輪郭の外部を「０」にする二値化された画像データとして作成される。すなわち、シルエット画像は、対象物ＳＢに対して異なる視点（撮影位置）Ｈ１、Ｈ２から視線方向（撮影方向）Ｈｄ１、Ｈｄ２に見た対象物ＳＢのシルエット、つまり視点Ｈ１、Ｈ２を中心とした対象物ＳＢの二次元空間への投影画像となる。
【００３６】
そして、例えば方向Ｈａ（図１）にカメラ２を対象物ＳＢの周りで移動させて、被写体に対する撮影方向を相対的に変更しつつ取得した複数の画像（シルエット画像）は、カメラ２の位置・姿勢情報および内部パラメータを利用して、所定の三次元座標系に関連付けることができる。これにより、対象物ＳＢのシルエット領域である二次元形状について、上記のＳＦＳ法を利用することで統合でき、対象物ＳＢの三次元形状モデル、具体的にはポリゴンデータが生成できる。
【００３７】
以上のように生成された対象物ＳＢのポリゴンデータは、例えば画像Ｇ１、Ｇ２のようにカメラ２で撮影された撮影画像（テクスチャ画像）がマッピングされる。このマッピングでは、三次元形状モデルの各ポリゴンに注目し、ポリゴンとテクスチャが略正対するようなテクスチャ画像がマッピングされる。
【００３８】
上述したように、カメラ２で対象物ＳＢを順次に撮影し取得された複数の画像データに基づき、モデリングおよびテクスチャ・マッピング（三次元データ処理）を行って、テクスチャ・マッピングが施された対象物ＳＢの三次元モデル（三次元データ）が生成されることとなる。
【００３９】
テクスチャ・マッピングにおいて、取得した画像の数が十分でない場合などに、情報量不足からポリゴンにテクスチャがマッピングできない不良な状態が主じる。具体的には、正対するテクスチャ画像が存在しないポリゴンがある場合、例えば対象物ＳＢの後方面を撮影していない場合には、対象物ＳＢの後部のポリゴンに割り当てるテクスチャ画像が存在しないので、マッピングの不良が生じることとなる。
【００４０】
一方、複数の画像データが過不足なく取得されている場合には、これらの画像データから生成されるポリゴンにテクスチャが適切にマッピングされ、良好な三次元データが生成できるが、必要以上に画像データを取得するのは効率的でない。
【００４１】
以上のことから、三次元形状モデルにテクスチャ・マッピングを行うために必要十分な画像データが取得できたか否かを判定して撮影者に通知する撮影支援を行えれば、無駄な撮影を省くことが可能となる。データ処理システム１Ａにおける撮影支援動作を以下で説明する。
【００４２】
＜データ処理システム１Ａの動作＞
図４は、データ処理システム１Ａにおける基本的な動作を説明するフローチャートである。また、図４（ａ）は、カメラ２の処理を示しており、図４（ｂ）は、画像処理装置３Ａの処理を示している。この画像処理装置３Ａの処理は、制御部３３でデータ処理プログラムＤＰが実行されることにより実施される。
【００４３】
ステップＳ１では、撮影者により撮影された対象物ＳＢの画像データをカメラ２で生成する。
【００４４】
ステップＳ２では、ステップＳ１で生成された画像データを、通信Ｉ／Ｆ２４を介して送信する。この画像データの送信の際には、位置・姿勢検出部２５で検出されたカメラ２の位置・姿勢情報および内部パラメータも送信する。この内部パラメータ（カメラパラメータ）は、撮影条件などを表すもので、撮影する際の焦点距離や光軸中心などの情報に基づき一義的に定まるもので、第１実施形態のカメラ２においては既知となっている。
【００４５】
以上のようにカメラ２から送信された画像データ、位置・姿勢情報および内部パラメータは、画像処理装置３Ａで受信される（ステップＳ１１）。
【００４６】
ステップＳ１２では、ステップＳ１１で受信した画像データおよび位置・姿勢情報等から、上述したモデリングを行う。
【００４７】
ステップＳ１３では、ステップＳ１２で生成された三次元モデルに対して、テクスチャ・マッピングを良好に行えるかを判定する。すなわち、ステップＳ１においてカメラ２で１の撮影動作があった場合には、この撮影動作によって取得された画像データと、この撮影動作の前に取得されていた複数の画像データとに基づき、一定の条件を満たす所定のデータ、つまりテキスチャ・マッピングが適切に施された三次元データが生成可能であるか否かを判定する。ここでは、上述したように、三次元モデルに、テクスチャをマッピングして、マッピングされない領域が存在するか否かを判断する。
【００４８】
ステップＳ１３において、テクスチャ・マッピングが良好である場合には、ステップＳ１４に進み、良好でない場合には、ステップＳ１５に進む。
【００４９】
ステップＳ１４では、撮影終了の判定を行う。ここでは、ステップＳ１３の判定でテクスチャ・マッピングが良好であるため、撮影終了の信号が生成される。
【００５０】
ステップＳ１５では、撮影続行の判定を行う。ここでは、ステップＳ１３の判定でテクスチャ・マッピングが不良であるため、撮影続行の信号が生成される。
【００５１】
ステップＳ１６では、カメラ２に判定結果を送信する。具体的には、ステップＳ１４で生成された撮影終了の信号、またはステップＳ１５で生成された撮影続行の信号がカメラ２に送信される。
【００５２】
画像処理装置３Ａから送信された判定結果は、カメラ２で受信される（ステップＳ３）。
【００５３】
ステップＳ４では、ステップＳ３で受信した判定結果が撮影終了であるかを判断する。ここで、画像処理装置３Ａから撮影終了の通知を受けた場合、つまり撮影終了の信号を受信した場合には、例えばカメラ２の表示部２０に撮影終了の表示を行い撮影動作を終了させるようにして、処理を終了する。この際には、三次元形状モデルにテクスチャがマッピングされて適切な三次元データが画像処理装置３Ａで生成されている。一方、撮影終了でない通知を受けた場合、つまり撮影続行の信号を受信した場合には、例えばカメラ２の表示部２０に撮影続行の表示を行い撮影動作を続行させるようにして、ステップＳ１に戻る。
【００５４】
以上のデータ処理システム１Ａの動作により、撮影の度に画像処理装置３Ａにおいて自動的に撮影終了を判定してカメラ２側にほぼリアルタイムで通知するため、無駄な撮影を防止して三次元データを効率よく生成できる。
【００５５】
＜第２実施形態＞
本発明の第２実施形態に係るデータ処理システム１Ｂは、図１および図２に示す第１実施形態のデータ処理システム１Ａと類似の構成を有しているが、画像処理装置、特に記憶部３４内の撮影支援プログラムＤＰが異なっている。
【００５６】
すなわち、第１実施形態の画像処理装置３Ａは、カメラ２の内部パラメータが既知としてモデリングを行う際の撮影支援動作を行うための撮影支援プログラムＤＰを有するが、第２実施形態の画像処理装置３Ｂは、カメラ２の内部パラメータが未知である場合にカメラ校正（キャリブレーション）を行う際の撮影支援動作を行うための撮影支援プログラムＤＰを有している。このキャリブレーションについて以下で説明する。
【００５７】
＜キャリブレーション＞
データ処理システム１Ｂにおけるキャリブレションは、例えば、文献『”３枚の中心射影画像によるカメラ内部変数・３次元形状・３次元運動の復元”、杉本典子、徐剛、情報処理学会研究報告、ＣＶＩＭ９９−１１４、ｐｐ．９−１６、１９９９』に記載される方法で行われる。以下では、この方法を簡単に説明する。
【００５８】
図５は、キャリブレーションの動作を説明するフローチャートである。
【００５９】
まず、カメラ２で対象物ＳＢを撮影して取得した複数の画像データを画像処理装置３Ｂに送信する。そして、画像処理装置３Ｂでは、受信した複数の画像データに基づき、以下のステップを実行してキャリブレーションが行われる。
【００６０】
ステップＳ２１では、画像間における特徴点の対応付けを行う。例えば、図６に示す鼻先Ｓｐ１、耳先Ｓｐ２、Ｓｐ３など８点以上の特徴点を各画像に設定して、それらの対応をとる。
【００６１】
ステップＳ２２では、ステップＳ２１で対応付けした特徴点に基づき、Ｆ行列（Ｆｕｎｄａｍｅｎｔａｌ  Ｍａｔｒｉｘ）を算出する。このＦ行列は、カメラ２の内部パラメータと、カメラ２の位置・姿勢を表す外部パラメータとを含む情報となっている。
【００６２】
ステップＳ２３では、ステップＳ２２で算出されたＦ行列に基づき、カメラ２の内部パラメータを算出する。この場合、例えばＦ行列に関するエネルギー関数（評価関数）を設定し、最急降下法によってエネルギー関数から導かれる数値が小さくなるように解かれることで内部パラメータが算出される。
【００６３】
ステップＳ２４では、ステップＳ２２で算出されたＦ行列と、ステップＳ２３で算出された内部パラメータとに基づき、Ｅ行列（Ｅｓｓｅｎｔｉａｌ  Ｍａｔｒｉｘ）を算出する。このＥ行列は、カメラ２の外部パラメータのみを含む情報である。
【００６４】
ステップＳ２５では、ステップＳ２４で算出されたＥ行列に基づき、カメラ２の外部パラメータを算出する。
【００６５】
以上のキャリブレーション処理により、未知であったカメラ２の内部パラメータ（固有データ）が生成され把握できることとなる。この内部パラメータを利用することで、第１実施形態におけるモデリングも適切に行える。
【００６６】
このキャリブレーションにおいても、第１実施形態のテクスチャ・マッピングと同様に、良好でない演算結果となる場合には、新たな画像データを追加取得して補完する必要がある。例えば、上記のステップＳ２１において画像間の特徴点対応がとれない場合や、上記のステップＳ２３においてエネルギー値が予め定められた閾値以上である場合には不良であると判断する。
【００６７】
一方、複数の画像データが過不足なく取得できればキャリブレーションが良好となるが、必要以上に画像データを取得するのは効率的でない。
【００６８】
このことから、キャリブレーションにおいても、第１実施形態と同様に必要十分な画像データが取得できたか否かを判定して撮影者に通知する撮影支援を行えれば、無駄な撮影を省くことが可能となる。データ処理システム１Ｂにおける撮影支援動作を以下で説明する。
【００６９】
＜データ処理システム１Ｂの動作＞
図７は、データ処理システム１Ｂにおける基本的な動作を説明するフローチャートである。また、図７（ａ）は、カメラ２の処理を示しており、図７（ｂ）は、画像処理装置３Ｂの処理を示している。この画像処理装置３Ｂの処理は、制御部３３でデータ処理プログラムＤＰが実行されることにより実施される。
【００７０】
ステップＳ３１では、撮影者により撮影された対象物ＳＢの画像データをカメラ２で生成する。
【００７１】
ステップＳ３２では、ステップＳ３１で生成された画像データを、通信Ｉ／Ｆ２４を介して送信する。
【００７２】
このようにカメラ２から送信された画像データは、画像処理装置３Ｂで受信される（ステップＳ４１）。
【００７３】
ステップＳ４２では、ステップＳ４１で受信した画像データから、図５に示すキャリブレーションの動作を行う。
【００７４】
ステップＳ４３では、ステップＳ４２で行われるキャリブレーションが良好であるかを判定する。すなわち、ステップＳ３１においてカメラ２で１の撮影動作があった場合には、この撮影動作によって取得された画像データと、この撮影動作の前に取得されていた複数の画像データとに基づき、一定の条件を満たす所定のデータ、つまり適切な数値範囲のカメラ２の内部パラメータ（固有データ）が生成可能であるか否かを判定する。ここでは、上述したように、画像間の特徴点対応がとれない場合や、エネルギー値が所定の閾値未満である場合には、良好でないと判断する。ここで、キャリブレーションが良好である場合には、ステップＳ４４に進み、良好でない場合には、ステップＳ４５に進む。
【００７５】
ステップＳ４４では、撮影終了の判定を行う。ここでは、ステップＳ４３の判定でキャリブレーションが良好であるため、撮影終了の信号が生成される。
【００７６】
ステップＳ４５では、撮影続行の判定を行う。ここでは、ステップＳ４３の判定でキャリブレーションが良好でないため、撮影続行の信号が生成される。
【００７７】
ステップＳ４６では、カメラ２に判定結果を送信する。具体的には、ステップＳ４４で生成された撮影終了の信号、またはステップＳ４５で生成された撮影続行の信号が送信される。
【００７８】
画像処理装置３Ｂから送信された判定結果は、カメラ２で受信される（ステップＳ３３）。
【００７９】
ステップＳ３４では、ステップＳ３３で受信した判定結果が撮影終了であるかを判断する。ここで、画像処理装置３Ｂから撮影終了の通知を受けた場合、つまり撮影終了の信号を受信した場合には、例えばカメラ２の表示部２０に撮影終了の表示を行い撮影動作を終了させるようにして、処理を終了する。また、撮影終了でない通知を受けた場合、つまり撮影続行の信号を受信した場合には、例えばカメラ２の表示部２０に撮影続行の表示を行い撮影動作を続行させるようにして、ステップＳ３１に戻る。
【００８０】
以上のデータ処理システム１Ｂの動作により、撮影の度に画像処理装置３Ｂで自動的に撮影終了を判定してカメラ２側に通知するため、無駄な撮影を防止してキャリブレーションを効率良く行える。
【００８１】
＜第３実施形態＞
図８は、本発明の第３実施形態に係るデータ処理システム１Ｃの要部構成を示す概略図である。
【００８２】
データ処理システム１Ｃの外観については、図１に示す第１実施形態のデータ処理システム１Ａと同様の構成となっている。
【００８３】
また、データ処理システム１Ｃの機能ブロックは、図２に示す第１実施形態のデータ処理システム１Ａと類似の構成を有しているが、画像処理装置、特に記憶部３４内の撮影支援プログラムＤＰが異なっている。
【００８４】
すなわち、第３実施形態の画像処理装置３Ｃでは、カメラ２で取得する画像を合成することでパノラマ画像を生成する際の撮影支援動作を行うための撮影支援プログラムＤＰを有している。このパノラマ画像の生成について以下で簡単に説明する。
【００８５】
＜パノラマ画像の生成＞
データ処理システム１Ｃにおけるパノラマ画像の生成においては、図８に示すように、例えばカメラ２の撮影角度を回転方向Ｒｔに変更しつつ、例えば図８に示す撮影領域Ｐ１（平行斜線部）や撮影領域Ｐ２（平行斜線部）を順次に撮影していく。なお、撮影領域Ｐ１および撮影領域Ｐ２は、撮影される領域のイメージを表したものである。
【００８６】
そして、隣接する画像の端部、例えば撮影領域Ｐ１の画像および撮影領域Ｐ２の画像の端部Ｅｐが貼り合わされて画像が合成される。ここでは、カメラ２の位置・姿勢情報に基づき、各画像の三次元位置が反映された画像合成処理が行われる。
【００８７】
以上の画像合成を繰り返すことにより、カメラ２を中心とした３６０度の全周囲パノラマ画像Ｐｔ（図８に示す円筒部分）が生成できることととなる。
【００８８】
このパノラマ画像の生成処理においても、第１・第２実施形態と同様に、パノラマ画像Ｐｔの生成ができない状態では、新たな画像データを取得する必要がある。具体的には、画像Ｐ１および画像Ｐ２などを順次に合成している途中段階において、パノラマ画像Ｐｔが完成できない、すなわち撮影されていない領域が存在する場合には、追加の撮影が必要となる。
【００８９】
一方、複数の画像データが過不足なく取得できればパノラマ画像Ｐｔを生成できることとなるが、必要以上に画像データを取得するのは効率的でない。
【００９０】
以上のことから、パノラマ画像の生成においても、第１・第２実施形態と同様に必要十分な画像データが取得できたか否かを判定して撮影者に通知する撮影支援を行えれば、無駄な撮影を省くことが可能となる。データ処理システム１Ｃにおける撮影支援動作を以下で説明する。
【００９１】
＜データ処理システム１Ｃの動作＞
図９は、データ処理システム１Ｃにおける基本的な動作を説明するフローチャートである。また、図９（ａ）は、カメラ２の処理を示しており、図９（ｂ）は、画像処理装置３Ｃの処理を示している。この画像処理装置３Ｃの処理は、制御部３３でデータ処理プログラムＤＰが実行されることにより実施される。
【００９２】
ステップＳ５１では、撮影者により撮影された画像データをカメラ２で生成する。
【００９３】
ステップＳ５２では、ステップＳ５１で生成された画像データを、通信Ｉ／Ｆ２４を介して送信する。この画像データの送信の際には、位置・姿勢検出部２５で検出されたカメラ２の位置・姿勢情報も送信する。
【００９４】
以上のようにカメラ２から送信された画像データは、画像処理装置３Ｃで受信される（ステップＳ６１）。
【００９５】
ステップＳ６２では、ステップＳ６１で受信した画像データを画像合成することにより、全周囲のパノラマ画像Ｐｔが生成できるかを判定する。すなわち、ステップＳ５１においてカメラ２で１の撮影動作があった場合には、この撮影動作によって取得された画像データと、この撮影動作の前に取得されていた複数の画像データとに基づき、一定の条件を満たす所定のデータ、つまり全周囲のパノラマ画像Ｐｔのデータが生成可能であるか否かを判定する。
【００９６】
ステップＳ６２において、全ての領域が撮影されて全周囲パノラマ画像が生成可能である場合には、ステップＳ６３に進み、生成できない場合には、ステップＳ６４に進む。
【００９７】
ステップＳ６３では、撮影終了の判定を行う。ここでは、ステップＳ６２の判定で全周囲パノラマ画像が生成可能な状態であるため、撮影終了の信号が生成される。
【００９８】
ステップＳ６４では、撮影続行の判定を行う。ここでは、ステップＳ６２の判定で全周囲パノラマ画像が未だ生成できない状態であるため、撮影続行の信号が生成される。
【００９９】
ステップＳ６５では、カメラ２に判定結果を送信する。具体的には、ステップＳ６３で生成された撮影終了の信号、またはステップＳ６４で生成された撮影続行の信号が送信される。
【０１００】
画像処理装置３Ｃから送信された判定結果は、カメラ２で受信される（ステップＳ５３）。
【０１０１】
ステップＳ５４では、ステップＳ５３で受信した判定結果が撮影終了であるかを判断する。ここで、画像処理装置３Ｃから撮影終了の通知を受けた場合、つまり撮影終了の信号を受信した場合には、例えばカメラ２の表示部２０に撮影終了の表示を行い撮影動作を終了させるようにして、処理を終了する。そして、画像処理装置３Ｃでは、受信した複数の画像データに基づき、全周囲のパノラマ画像を生成する。
【０１０２】
一方、画像処理装置３Ｃから撮影終了でない通知を受けた場合、つまり撮影続行の信号を受信した場合には、例えばカメラ２の表示部２０に撮影続行の表示を行い撮影動作を続行させるようにして、ステップＳ５１に戻る。
【０１０３】
以上のデータ処理システム１Ｃの動作により、撮影の度に画像処理装置３Ｃで自動的に撮影終了を判定してカメラ２側に通知するため、無駄な撮影を防止して効率良くパノラマ画像を生成できる。
【０１０４】
＜変形例＞
◎上記の各実施形態においては、カメラと画像処理装置との間におけるデータ通信をケーブルＣＢを介して有線で行うのは必須でなく、無線で行っても良い。
【０１０５】
◎上記の各実施形態におけるカメラにおいては、静止画を撮影するのは必須でなく、動画を撮影しても良い。動画を撮影する場合には、連続した画像データから一定の間隔で静止画を切出し、複数の画像データを生成する。
【０１０６】
◎上記の各実施形態においては、画像処理装置側で撮影終了の判定を行うのは必須でなく、カメラ側で撮影終了の判定を行わせても良い。この場合には、上述の撮影支援プログラムＤＰが実行可能なカメラとして構成する必要がある。
【０１０７】
◎上記の各実施形態においては、三次元空間に固定された対象物ＳＢに対してカメラを移動させて撮影するのは必須でなく、回転テーブル上の対象物を回転させつつ三次元空間に固定されたカメラで撮影するようにしても良い。
【０１０８】
この場合には、撮影者による撮影操作を行わなくとも、カメラで複数の画像データを自動的に取得する構成も可能となるが、このような構成でも、画像処理装置から撮影終了をカメラ側に通知することにより、撮影者による手動撮影と同様に、無駄な撮影を防止できることとなる。
【０１０９】
【発明の効果】
以上説明したように、請求項１ないし請求項５の発明によれば、撮影手段で撮影動作があった場合には撮影動作によって取得された画像データと撮影動作の前に取得されていた複数の画像データとに基づき所定のデータが生成可能であるか否かを判定し、生成可能であると判断される場合には撮影手段での撮影終了を通知する。その結果、無駄な撮影を防止して所定のデータを効率良く生成できる。
【０１１０】
特に、請求項２の発明においては、複数の画像データに基づき三次元データ処理を行って三次元データを生成するため、適切な三次元データを効率よく生成できる。
【０１１１】
また、請求項３の発明においては、複数の画像データに基づき三次元データ処理に係るキャリブレーション処理を行って撮影手段の固有データを生成するため、適切な固有データを効率よく生成できる。
【０１１２】
また、請求項４の発明においては、複数の画像データに基づき画像合成処理を行ってパノラマ画像のデータを生成するため、適切なパノラマ画像を効率よく生成できる。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係るデータ処理システム１Ａの要部構成を示す概略図である。
【図２】データ処理システム１Ａの機能ブロックを示す図である。
【図３】モデリングを説明するための図である。
【図４】データ処理システム１Ａにおける基本的な動作を説明するフローチャートである。
【図５】本発明の第２実施形態に係るデータ処理システム１Ｂにおけるキャリブレーションの動作を説明するフローチャートである。
【図６】キャリブレーションの動作を説明するための図である。
【図７】データ処理システム１Ｂにおける基本的な動作を説明するフローチャートである。
【図８】本発明の第３実施形態に係るデータ処理システム１Ｃの要部構成を示す概略図である。
【図９】データ処理システム１Ｃにおける基本的な動作を説明するフローチャートである。
【符号の説明】
１Ａ、１Ｂ、１Ｃ  データ処理システム
２  カメラ
３Ａ、３Ｂ、３Ｃ  画像処理装置
２０  表示部
２５  位置・姿勢検出部
３３  制御部
ＤＰ  撮影支援プログラム
Ｐｔ  パノラマ画像
【図１】
2004342004.tif 000003
【図２】
2004342004.tif 000004
【図３】
2004342004.tif 000005
【図４】
2004342004.tif 000006
【図５】
2004342004.tif 000007
【図６】
2004342004.tif 000008
【図７】
2004342004.tif 000009
【図８】
2004342004.tif 000010
【図９】
2004342004.tif 000011