以下、添付図面を参照して、本発明の好適な実施形態について詳細に説明する。なお、図面の説明においては同一要素には同一符号を付し、重複する説明を省略する。
図1は、本発明の一実施形態に係る撮像装置の外観構成を示す外観図である。図1に示すように、撮像装置1は、例えば筐体2で構成される携帯端末であって、筐体2の一方の表面に配置されたタッチパネルディスプレイ4及びカメラ6を有している。撮像装置1は、タッチパネルディスプレイ4がユーザによりタッチ操作(指やタッチペンなどによる操作)されると、カメラ6の操作や、各種アプリケーションにおける動作などを実行する。
カメラ6は、筐体2のタッチパネルディスプレイ4が配置されている面である前面2aに配置される前面側カメラ6aと、前面2aと対向する面である背面2bに配置される背面側カメラ6bとを含む。カメラ6は、通常の携帯端末に設けられているカメラの撮像機能を有し、カメラ6が向けられた所定領域の画像を撮像できるようになっている。タッチパネルディスプレイ4内にはシャッタボタン12が表示されており、撮像装置1は、ユーザのタッチ操作によりこのシャッタボタン12が押圧されたことを検出すると、撮像した画像をデータとして取得する。なお、撮像装置1は、シャッタボタン12の押圧を検出するタイミングに限らず、後述する撮像フレームの移動に応じたタイミングでも、撮像した画像をデータとして取得する。
撮像装置1は、複数の画像データを合成してパノラマ画像を生成するためのパノラマ画像撮像モードを有している。撮像装置1は、撮像装置1によって取得された複数の画像データからパノラマ画像(パノラマ写真)を生成するパノラマ写真生成システムに含まれていてもよい。なお、パノラマ画像の生成には、従来と同じ方法を用いることができる。撮像装置1は、パノラマ画像撮像モードに設定された状態で連続的にカメラ6による撮像を行うことにより、撮像領域を示す撮像フレームにより切り出される画像を画面表示用データとして取得する。取得された画面表示用データは、タッチパネルディスプレイ4に表示される。また、撮像装置1は、ユーザによるシャッタボタン12の押圧を検知すると、撮像領域を示す撮像フレームにより切り出される画像のうちパノラマ画像を生成するために必要な複数の画像データを取得する。以降、パノラマ画像を生成するために必要な複数の画像データのうちの一つを単に「第1の画像データ」といい、複数の画像データのうち第1の画像データと隣り合い、かつ、重なり合う領域を有する画像データを単に「第2の画像データ」という。第2の画像データは、第1の画像データが取得された後に取得される。第1の画像データ及び第2の画像データを繰り返し取得することで、パノラマ画像を生成するために必要な複数の画像データの全てを取得する。すなわち、第2の画像データは、次に取得される画像データに対しては第1の画像データとなる。
撮像装置1は、第1の画像データ40を取得すると、タッチパネルディスプレイ4に第1の画像データ40と枠46a及び矢印46bからなる撮像ガイドとを表示する。撮像ガイドの枠46aは、パノラマ画像の生成に必要な複数の画像データを取得するため、撮像フレーム42の位置が第2の画像データを切り出すべき位置に合うようにガイドするものであり、撮像フレーム42の形状に対応した種々の形状を呈している。以下、撮像装置1がパノラマ画像撮像モードに設定された状態における、撮像装置1の構成について、図2〜図6を用いて詳細に説明する。
図2は、図1に示す撮像装置1のハードウェア構成を示すブロック図である。撮像装置1は、図2に示すように、カメラ6、カメラの制御処理、オペレーティングシステム及びアプリケーションプログラムなどを実行するCPU101、ROM及びRAMで構成される主記憶部102、ハードディスク及びメモリなどで構成される補助記憶部103、タッチパネルディスプレイ4などの入力部104、タッチパネルディスプレイ4などの出力部105で構成される。後述する撮像部、移動情報取得部、画像特徴点検出部、移動距離決定部、フレーム到達判定部及びガイド部における各機能は、CPU101および主記憶部102に所定のソフトウェアを読み込ませ、CPU101の制御の下で、実行される。
図3は、図1に示す撮像装置の機能的構成を示すブロック図である。図3に示すように、撮像装置1は、機能的には、撮像部20、移動情報取得部22、画像特徴点検出部24、移動距離決定部26、フレーム到達判定部28及びガイド部30を備えている。以下、各構成について説明する。
撮像部20は、撮像フレームにより切り出される画像の撮像を行い、パノラマ画像の生成に必要な複数の画像データを取得する撮像手段である。撮像フレームは、被写体領域のうち画像データとして切り出される領域、すなわち撮像領域を示している。撮像フレームは例えば、カメラ6が向けられた方向を中心とする所定の領域を、矩形を呈する枠により示すものである。撮像部20は、撮像フレームにより切り出される画像を画面表示用データとして取得する。撮像部20は、ユーザによりシャッタボタン12が押圧されたことを検出すると、パノラマ画像の生成に必要な複数の画像データのうちの一つである第1の画像データ40を取得する。撮像部20は、第1の画像データ40を取得した後、後述のフレーム到達判定部28により撮像フレームが第2の画像データを切り出すべき位置に到達した旨が出力され、後述の移動情報取得部22により撮像フレームが静止した旨が出力されると、パノラマ画像の生成に必要な複数の画像データのうちの一つである第2の画像データを取得する。なお、フレーム到達判定部28により撮像フレームが第2の画像データを切り出すべき位置に到達した旨の出力がされてから移動情報取得部22により撮像フレームが静止した旨の出力がされるまでの時間は、特に定めなくてよいが、予め設定した時間以内としてもよい。これにより、ユーザは最初の第1の画像データの取得の際のみシャッタボタン12の操作を行い、最初の第1の画像データの取得以降は、撮像フレームの移動に応じて撮像部20により自動的にパノラマ画像の生成に必要な複数の画像データを取得することができる。なお、最初の第1の画像データの取得以降も、ユーザによるシャッタボタン12の操作により上記複数の画像データを取得するとしてもよい。
以降、第1の画像データ40を切り出した位置から第2の画像データを切り出すべき位置まで撮像フレームが移動すべき距離を、単に「撮像フレームが移動すべき距離Y」という。なお、撮像フレームが移動すべき距離Yは後述の移動距離決定部26により算出される。撮像部20は、第1の画像データ40及び第2の画像データの取得を複数回繰り返すことにより、パノラマ画像の生成に必要な複数の画像データの全てを取得する。撮像部20が取得した撮像フレームにより切り出される画面表示用データ、第1の画像データ40及び第2の画像データは、後述する移動情報取得部22、画像特徴点検出部24及びガイド部30に出力される。
移動情報取得部22は、撮像フレームが移動する方向を示す移動方向情報を取得する移動情報取得手段である。移動情報取得部22は、撮像部20により第1の画像データ40の出力が行われると、矩形の撮像フレームにより切り出された第1の画像データ40が示す四辺に対応する四方(上下左右)を、予め記憶された情報から移動方向情報として取得する。また、移動情報取得部22は、ユーザが第2の画像データを取得するために撮像装置1を移動させることにより撮像フレームが移動すると、撮像フレームが移動した方向を検知し、当該検知された方向を移動方向情報として取得する。より詳細には、移動情報取得部22は、撮像部20により出力された画面表示用データから、画像の特徴点の位置座標を検出し、この位置座標の変化に基づいて、撮像フレームが移動した方向を検知する。画像の特徴点とは、画像の境目や角といった特徴となる点であり、例えば、画像の色彩が大きく変化する箇所、濃淡の濃い箇所、輪郭などである。当該画像の特徴点の位置座標は、後述する画像特徴点検出部24により検出して、移動情報取得部22に出力してもよい。なお、移動情報取得部22は、カメラ6の上下左右方向の加速度を検知することにより移動方向情報を取得してもよい。この場合、例えば撮像部20が3軸加速度センサなどによりカメラ6の加速度を検知する機能を有し、検知したカメラ6の加速度を移動情報取得部22に出力するとしてもよい。なお、加速度に加えて又は加速度に代えて、角速度を検知することにより移動方向情報を取得してもよい。移動情報取得部22が取得した移動方向情報は、後述する画像特徴点検出部24及びガイド部30に出力される。
また、移動情報取得部22は、撮像フレームが移動した距離を検知する移動情報取得手段である。移動情報取得部22は、撮像部20により出力された画面表示用データから、画像の特徴点の位置座標を検出し、当該位置座標の変化に基づいて、第1の画像データ40を切り出した位置から撮像フレームが移動した距離(以降、単に「撮像フレームが移動した距離X」という。)を検知する。なお、撮像フレームが移動した距離Xの検知は、撮像フレームが移動した方向に応じて行ってもよい。移動情報取得部22が検知した撮像フレームが移動した距離Xは、後述するフレーム到達判定部28及びガイド部30に出力される。また、移動情報取得部22は、撮像部20により出力された画面表示用データから、画像の特徴点の位置座標を検出し、当該位置座標の変化に基づいて、撮像フレームが静止したことを検知してもよい。なお、移動情報取得部22は、カメラ6の加速度又は角速度の少なくとも一方を検知することにより撮像フレームが静止したことを検知してもよい。移動情報取得部22により撮像フレームが静止したことが検知されると、その旨が撮像部20に出力される。
画像特徴点検出部24は、撮像部20から出力された第1の画像データ40と仮想的な撮像フレームとが重なり合う領域における画像の特徴点を、第1の画像データ40から検出する画像特徴点検出手段である。図4は、図3の画像特徴点検出部及び移動距離決定部による判断ロジックを説明する図である。図4に示すように、仮想的な撮像フレーム41は、上述のカメラ6が向けられた方向を中心とする所定の撮像領域を示す現実の撮像フレーム42と同じ形状を呈するが、画像特徴点を検出する領域を示すために仮想的に設定されたものであるという点で、現実の撮像フレーム42とは異なる。仮想的な撮像フレーム41は、移動情報取得部22により出力された移動方向情報に基づいて算出される。以降、仮想的な撮像フレーム41を単に「仮想フレーム」41といい、上述の現実の撮像フレーム42と区別する。
画像特徴点検出部24は、第1の画像データ40と仮想フレーム41とが重なり合う領域44において、第1の画像データ40の画像の特徴点Aを検出する。画像の特徴点Aの検出は、例えば、第1の画像データ40から画素値として輝度成分の値を有する輝度画像データを作成し、この輝度画像データにおいてエッジなどを検出することによって行う。画像特徴点検出部24は、例えば所定の閾値を超える輝度成分の値を有する画素の数を検出することで、第1の画像データ40と仮想フレーム41とが重なり合う領域44における画像の特徴点Aの数を検出する。なお、第1の画像データ40全体における画像の特徴点を先に検出しておいて、それを利用して後で第1の画像データ40と仮想フレーム41とが重なり合う領域44における画像の特徴点Aを検出するとしてもよい。
第1の画像データ40と仮想フレーム41とが重なり合う領域44は、移動情報取得部22により出力された移動方向情報が示す方向に仮想フレーム41が移動する移動量に応じている。仮想フレーム41が移動する移動量とは、仮想フレーム41が第1の画像データ40に対して平行移動する量をいう。仮想フレーム41が移動する移動量が多いほど、第1の画像データ40と仮想フレーム41とが重なり合う領域44の面積は小さくなる。ここで、第1の画像データ40と仮想フレーム41とが重なり合う領域44の面積は、パノラマ画像の生成のために最低限必要な第1の閾値(例えば、仮想フレーム41の全面積の25%)と予め設定しておくことができる。また、仮想フレーム41が移動する移動量自体を予め設定しておくこともできる。画像特徴点検出部24により検出された第1の画像データ40と仮想フレーム41とが重なり合う領域44における画像の特徴点Aの数は、後述する移動距離決定部26に出力される。
移動距離決定部26は、画像特徴点検出部24により出力された第1の画像データ40と仮想フレーム41とが重なり合う領域44における画像の特徴点Aの数に応じて、第2の画像データを撮像するために現実の撮像フレーム42が移動すべき距離Yを決定する移動距離決定手段である。具体的には、移動距離決定部26は、画像特徴点検出部24により出力された第1の画像データ40と仮想フレーム41とが重なり合う領域44における画像の特徴点Aの数が所定の閾値β(例えば、8個)以上となるように、現実の撮像フレーム42が移動すべき距離Yを決定する。
図4の(a)は撮像フレーム42が移動すべき距離Yを長距離と判断する場合を示し、図4の(b)は撮像フレーム42が移動すべき距離Yを短距離と判断する場合を示している。画像特徴点検出部24により第1の画像データ40と仮想フレーム41とが重なり合う領域44における画像の特徴点Aの数が検出される前においては、移動距離決定部26は、撮像フレーム42が移動すべき距離Yをデフォルト値として長距離に設定しておく。ここで、長距離とは、第1の画像データ40を切り出した位置から上述のように設定した仮想フレーム41の位置までの距離をいう。すなわち、撮像フレーム42が移動すべき距離Yが長距離の場合、第1の画像データ40と現実の撮像フレーム42とが重なり合う領域48の面積が、第1の画像データ40と仮想フレーム41とが重なり合う領域44の面積と同じく、パノラマ画像の生成のために最低限必要な第1の閾値(例えば、撮像フレーム42の全面積の25%)となっている。
移動距離決定部26は、図4の(a)に示すように、画像特徴点検出部24により出力された第1の画像データ40と仮想フレーム41とが重なり合う領域44における画像の特徴点Aの数が所定の閾値β(例えば、8個)以上の場合には、現実の撮像フレーム42が移動すべき距離Yを長距離に設定したままとする。一方、図4の(b)に示すように、画像特徴点検出部24により出力された第1の画像データ40と仮想フレーム41とが重なり合う領域44における画像の特徴点Aの数が所定の閾値(例えば、8個)未満の場合には、第1の画像データ40と現実の撮像フレーム42とが重なり合う領域48における画像の特徴点Aの数が所定の閾値β以上となるように、撮像フレーム42が移動すべき距離Yを長距離から短距離へと変化させる。ここで、短距離とは、長距離に対して短い距離であり、第1の画像データ40と現実の撮像フレーム42とが重なり合う領域48の面積が長距離の場合よりも大きくなるように設定される距離をいう。すなわち、撮像フレーム42が移動すべき距離Yが短距離の場合、第1の画像データ40と現実の撮像フレーム42とが重なり合う領域48の面積が、上記第1の閾値よりも大きい第2の閾値(例えば、撮像フレーム42の全面積の75%)となっている。ただし、撮像フレーム42が移動すべき距離Yを短距離にしても、第2の閾値の設定及び第1の画像データにおける特徴点の数によっては、第1の画像データ40と現実の撮像フレーム42とが重なり合う領域48における画像の特徴点Aの数が所定の閾値β以上とならない場合もあり得る。
図4の(a)及び(b)の右端に示すように、第1の画像データ40と第2の画像データ50とが重なり合う領域52の面積は、撮像フレーム42が移動すべき距離Yが長距離の場合の方が短距離の場合よりも小さくなっている。上述のように、画像特徴点検出部24により第1の画像データ40と仮想フレーム41とが重なり合う領域44における画像の特徴点Aが検出される前においては、移動距離決定部26は撮像フレーム42が移動すべき距離Yをデフォルト値として長距離に設定するため、第1の画像データ40を取得してから第2の画像データ50を取得するまでに撮像フレーム42が移動する距離を極力大きくすることができる。すなわち、パノラマ画像生成のための複数の画像データを取得するための撮像操作を、極力減らすことが可能となる。例えば、ユーザが撮像位置において撮像装置1を静止させる操作等を減らすことができる。また、ユーザがシャッタボタン12を操作することにより画像データを取得する場合には、カメラ6のシャッタボタン12を操作する回数等を減らすことができる。移動距離決定部26により決定された撮像フレーム42が移動すべき距離Yは、後述するフレーム到達判定部28及びガイド部30に出力される。
フレーム到達判定部28は、移動距離決定部26により出力された撮像フレーム42が移動すべき距離Yと移動情報取得部22により出力された撮像フレーム42が移動した距離Xとの差分が、予め記憶された所定の閾値αに到達したか(α以下になったか)否かを判定するフレーム到達判定手段である。所定の閾値αは、例えば撮像フレーム42が移動すべき距離Yと撮像フレーム42が移動した距離Xがほぼ等しいと見なせるほど小さい画素数単位の値とすることができる。すなわち、フレーム到達判定部28は、撮像フレーム42が第2の画像データ50を切り出すべき位置に到達したか否かを判定する。フレーム到達判定部28により撮像フレーム42が第2の画像データ50を切り出すべき位置に到達したと判定された場合には、その旨が撮像部20及び後述するガイド部30に出力される。なお、フレーム到達判定部28は、所定の閾値α以下ではなく所定の閾値α未満になったか否かを判定するとしてもよい。
ガイド部30は、撮像部20、移動情報取得部22、移動距離決定部26及びフレーム到達判定部28により出力された情報に応じた種々の出力を行うガイド手段である。ガイド部30は、当該出力を、例えばタッチパネルディスプレイ4に枠46aや矢印46bからなる撮像ガイドを示す図形を表示させることにより行う(図1参照)。撮像ガイドとは、第1の画像データ40を切り出した位置から第2の画像データを切り出すべき位置まで、撮像フレーム42をいかに移動すべきかをガイドするものである。図5は、図3のガイド部による撮像ガイドの表示の態様を示す図である。撮像部20により第1の画像データ40が出力されると、ガイド部30は、図5に示すように、第1の画像データ40と、移動情報取得部22により出力された移動方向情報に対応した枠46a及び矢印46bとを表示する。枠46a及び矢印46bは、撮像フレーム42が移動する方向に位置している。枠46aは、撮像フレーム42が示す矩形における撮像フレーム42が移動する方向側の一辺及びその両端の2つの角に沿った形状を呈している。枠46aは、撮像フレーム42が第2の画像データ50を切り出すべき位置をガイドする。枠46aは、第2の画像データ50を取得する際に、撮像フレーム42が移動する方向側の一辺及びその両端の2つの角が、これらに対応した枠46aに一致するような位置にすべきことを示すものである。矢印46bは、撮像フレーム42が移動する方向に向かって延びる形状を呈している。矢印46bは、撮像フレーム42が第2の画像データ50を切り出すために向かうべき方向をガイドする。
ガイド部30は、移動情報取得部22により、移動方向情報として、予め記憶された情報から取得された第1の画像データ40が示す四辺に対応する四方(上下左右)が出力された場合には、図5の(a)に示すように、当該四方に対応する4つの枠46a及び4つの矢印46bを表示する。これら4つの枠46aの位置は、移動距離決定部26により出力された撮像フレーム42が移動すべき距離Yによって決定される。4つの矢印46bの位置は、このように決定された4つの枠46aそれぞれの位置に対応し、第1の画像データ40と4つの枠46aとの間に位置するように決定される。なお、4つの枠46a及び4つの矢印46bの位置は、予め設定しておいてもよい。また、移動情報取得部22により撮像フレーム42が移動した方向が出力されると、ガイド部30は、図5の(b)に示すように、当該撮像フレーム42が移動した方向のみに、枠46a及び矢印46bを表示する。すなわち、ガイド部30は、撮像フレーム42が移動した方向以外の枠46a及び矢印46bを非表示にする。
例えば、ガイド部30は、以下のように移動距離決定部26により出力された撮像フレーム42が移動すべき距離Yに応じた位置に枠46aを表示させる。図6は、図5における撮像ガイドの表示が撮像フレームの移動すべき距離に応じていることを説明する図である。なお、図6においては、説明のため、枠46aを一点鎖線の矩形として簡単に示している。図6の(a)は撮像フレーム42が移動すべき距離Yが長距離の場合の撮像ガイドの表示、図6の(b)は撮像フレーム42が移動すべき距離Yが短距離の場合の撮像ガイドの表示を示している。移動距離決定部26により出力された撮像フレーム42が移動すべき距離Yが長距離である場合には、第1の画像データ40と撮像フレーム42とが重なり合う領域48の面積が上記第1の閾値(例えば、撮像フレーム42の全面積の25%)となるような撮像フレーム42の位置(図4の(a)参照)に合わせて、図6の(a)に示すように枠46aを表示する。一方、移動距離決定部26により出力された撮像フレーム42が移動すべき距離が短距離である場合には、第1の画像データ40と撮像フレーム42とが重なり合う領域48の面積が、上記第2の閾値(例えば、撮像フレーム42の面積の75%)となるような撮像フレーム42の位置(図4の(b)参照)に合わせて、図6の(b)に示すように枠46aを表示する。
また、ガイド部30は、移動情報取得部22により出力された撮像フレーム42が移動した距離X及び移動距離決定部26により出力された撮像フレーム42が移動すべき距離Yに応じて、矢印46bが表示される大きさを変化させる。具体的には、移動距離決定部26により出力された撮像フレーム42が移動すべき距離Yと移動情報取得部22により出力された撮像フレーム42が移動した距離Xとの差分に対応させて、当該差分が小さくなるにつれて矢印46bの大きさが小さくなるように表示させる。すなわち、図5の(b)及び(c)に示すように、撮像フレーム42の位置が枠46aの位置に近づくにつれて、矢印46bの大きさが小さくなる。
また、ガイド部30は、フレーム到達判定部28により、撮像フレーム42が第2の画像データ50を切り出すべき位置に到達したと判定された場合には、撮像フレーム42の移動を静止すべき旨の出力を行う。具体的には、図5の(d)に示すように、撮像フレーム42が示す領域の中央部付近に静止マーク46cを表示させる。
次に、撮像装置1を用いた撮像方法において、撮像ガイドを制御する動作について、図7を用いて説明する。図7は図3のガイド部による撮像ガイドを制御する動作を示したフローチャートである。
図7に示すように、撮像装置1において、例えばユーザにより撮像を行うアプリケーションが起動され、パノラマ画像撮像モードが設定され、シャッタボタン12が押下げられると、撮像部20は、撮像フレーム42により切り出される第1の画像データ40を取得する(S1:撮像ステップ)。続いて、移動情報取得部22は、第1の画像データ40の四辺に対応する四方向を示す情報を取得する(S2:移動情報取得ステップ)。
続いて、画像特徴点検出部24は、第1の画像データ40と仮想フレーム41とが重なり合う領域44における画像の特徴点Aを検出する(S3:画像特徴点検出ステップ)。なお、この検出方法の詳細については後述する。
続いて、移動距離決定部26は、撮像フレーム42が移動すべき距離Yを決定する(S4:移動距離決定ステップ)。なお、この決定方法の詳細については後述する。
続いて、ガイド部30は、タッチパネルディスプレイ4に第1の画像データ40及び撮像ガイドを表示する(S5:ガイドステップ)。撮像ガイドは4つの枠46a及び4つの矢印46bからなり、それぞれ移動情報取得部22により取得された四方向に、移動距離決定部26により決定された撮像フレーム42が移動すべき距離Yに対応する位置に表示されている(図5の(a)参照)。
続いて、移動情報取得部22は、撮像フレーム42の移動を検知し、撮像フレームが移動したかどうかを判定する(S6)。移動情報取得部22により撮像フレーム42が移動しなかったと判定された場合(S6:NO)には、ガイド部30はタッチパネルディスプレイ4に4つの枠46a及び4つの矢印46bからなる撮像ガイドを表示し続ける(図5の(a)参照)。
一方、移動情報取得部22により撮像フレーム42が移動したと判定された場合(S6:YES)には、移動情報取得部22は、撮像フレーム42が移動した方向を示す移動方向情報を取得する(S7:移動情報取得ステップ)。そして、ガイド部30は、移動情報取得部22により取得された移動方向情報が示す撮像フレーム42が移動した方向のみに、移動距離決定部26により決定された撮像フレーム42が移動すべき距離Yに対応する撮像ガイドをタッチパネルディスプレイ4に表示する(S8:ガイドステップ)。すなわち、タッチパネルディスプレイ4には、撮像フレーム42が移動した方向以外の枠46a及び矢印46bが非表示とされ、かつ、撮像フレーム42が移動した方向の枠46aは、撮像フレーム42を移動すべき位置に表示されている(図5の(b)参照)。
続いて、移動情報取得部22は、撮像フレーム42が移動した距離Xを検知する(S9:移動情報取得ステップ)。そして、ガイド部30は、撮像フレーム42が移動すべき距離Yから撮像フレーム42が移動した距離Xを差分した量に比例させて、タッチパネルディスプレイ4に表示する矢印46bの大きさを変化させる(S10:ガイドステップ)。すなわち、タッチパネルディスプレイ4には、撮像フレーム42が矩形の枠46aに近づくほど矢印46bが小さく表示される(図5の(b)及び(c)参照)。なお、撮像フレーム42が移動した距離Xが、撮像フレーム42が移動すべき距離Yより大きい場合、すなわち撮像フレーム42が移動すべき位置を超えてしまっている場合には、撮像フレーム42を移動した方向とは反対側に移動すべき旨のガイドを行ってもよい。
続いて、フレーム到達判定部28は、撮像フレーム42が移動すべき距離Yから撮像フレーム42が移動した距離Xを差分した量が、所定の閾値α以下かどうかを判定する(S11:フレーム到達判定ステップ)。所定の閾値αは、例えば撮像フレーム42が移動すべき距離Yと撮像フレーム42が移動した距離Xとがほぼ同じとみなせるほど小さい画素単位の値である。撮像フレーム42が移動すべき距離Yから撮像フレーム42が移動した距離Xを差分した量が、所定の閾値α以下でない場合(S11:NO)には、ガイド部30は、撮像フレーム42が移動すべき距離Yから撮像フレーム42が移動した距離Xを差分した量に比例させて、タッチパネルディスプレイ4に表示する矢印46bの大きさを変化させ続ける(図5の(b)及び(c)参照)。
一方、撮像フレーム42が移動すべき距離Yから撮像フレーム42が移動した距離Xを差分した量が、所定の閾値α以下となった場合(S11:YES)には、ガイド部30は、撮像フレーム42を静止すべき旨の出力として、静止マーク46cの表示を行う(S12:ガイドステップ)。すなわち、タッチパネルディスプレイ4には、例えば撮像フレーム42が示す領域の中央部付近に静止マーク46cが表示される(図5の(d)参照)。
ガイド部30により静止マーク46cの表示がなされ、当該表示に従いユーザが撮像装置1の操作を停止させると、撮像フレーム42が静止する。撮像部20は、移動情報取得部22により撮像フレーム42が静止されたことを検知すると、第2の画像データ50を取得する(S13:撮像ステップ)。このようにして、第1の画像データ40を取得してから第2の画像データ50を取得するまでの撮像ガイドを制御する動作が終了となる。
次に、上記の撮像ガイドを制御する動作における、画像特徴点検出(S5)及び移動距離決定(S6)の動作について、図8を用いて詳細に説明する。図8は、図7における画像特徴点検出及び移動距離決定の動作を詳細に示したフローチャートである。
図8に示すように、まず、画像特徴点検出の動作が開始すると、画像特徴点検出部24は、第1の画像データ40と仮想フレーム41とが重なり合う領域44における画像の特徴点Aを検出する(S31)。続いて、画像特徴点検出部24は、検出された画像の特徴点Aの数を算出し(S32)、画像特徴点検出の動作を終了する。
続いて、移動距離決定の動作が開始されると、移動距離決定部26は、算出された画像の特徴点Aの数が所定の閾値β以上かどうかを判定する(S41)。画像の特徴点Aの数が所定の閾値β以上でないと判定された場合(S41:NO)には、撮像フレーム42が移動すべき距離Yを短距離に決定(S43)し、移動距離決定の動作を終了する。一方、画像の特徴点Aの数が所定の閾値β以上であると判定された場合(S41:YES)には、撮像フレーム42が移動すべき距離Yを長距離に決定(S42)し、移動距離決定の動作を終了する。
以上、一実施形態の撮像装置1によれば、移動情報取得部22により、複数の画像データを撮像する際、撮像領域を示す撮像フレーム42が移動する方向を示す移動方向情報が取得される。画像特徴点検出部24により、取得された移動方向情報が示す方向に撮像フレーム42が移動する移動量に応じた、撮像フレーム42と撮像手段によって取得された第1の画像データ40とが重なり合う領域44における画像の特徴点Aが、第1の画像データ40から検出される。移動距離決定部26により、検出された画像の特徴点の数Aに応じて、第1の画像データ40と隣り合う第2の画像データ50を取得するために撮像フレーム42が移動すべき距離Yが決定される。そして、ガイド部30により、撮像フレーム42が移動すべき距離Yに応じ、枠46a及び矢印46bからなる撮像ガイドの表示がタッチパネルディスプレイ4において行われる。これにより、ユーザは当該表示により把握される撮像フレームが移動すべき距離に基づいて適切な撮像操作を行うことができ、複数の画像データ同士の繋ぎ目となる部分の画像の特徴点Aの数を、パノラマ画像データの生成に必要な分だけ確保することが可能となる。よって、複数の画像データの繋ぎ合わせに必要となる画像の特徴点Aの数を確保した上で、無駄のない撮像操作を行うことができる。
また、一実施形態の撮像装置1によれば、移動情報取得部22により、撮像フレーム42が移動した方向を検知し、移動した方向を用いて移動方向情報が取得される。また、ガイド部30により、移動情報取得部22により取得した撮像フレーム42が移動した方向のみに枠46a及び矢印46bがタッチパネルディスプレイ4に表示される。このような撮像フレーム42が移動した方向に応じた撮像ガイドの表示に従い、ユーザはより適切に撮像操作を行うことができる。
また、一実施形態の撮像装置1によれば、移動情報取得部22により、撮像フレーム42が移動した距離Xが検知される。また、ガイド部30により、撮像フレーム42が移動すべき距離Yと撮像フレーム42が移動した距離Xとの差分が小さくなるにつれて、タッチパネルディスプレイ4において矢印46bの大きさが小さくなるように表示される。よって、ユーザは当該矢印46bの表示の大きさに応じて撮像フレーム42をどの程度移動させればよいか、直感的に判断することができ、より適切な撮像操作を行うことができる。
また、一実施形態の撮像装置1によれば、フレーム到達判定部28により、移動距離決定部26により決定された撮像フレーム42が移動すべき距離Yと移動情報取得部22により検知された撮像フレーム42が移動した距離Xとの差分(Y−X)が所定の閾値α以下に到達したか否かが判定される。また、当該差分(Y−X)が所定の閾値α以下に到達したと判定された場合には、ガイド部30により、撮像フレーム42の移動を静止すべきことを通知する静止マーク46cがタッチパネルディスプレイ4に表示される。よって、ユーザは当該静止マーク46cの表示に応じて撮像操作を停止することができ、撮像フレーム42を適切なタイミングで静止させることが可能となる。また、ブレのない撮像操作を行うことができる。例えば、本実施形態のようにユーザが撮像装置1を保持して撮像が行われる場合は、手ブレを防止することができる。
以上、本発明の好適な実施形態について説明してきたが、本発明は必ずしも上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で様々な変更が可能である。
例えば、枠46a、矢印46b及び静止マーク46cからなる撮像ガイドの表示態様は、上記実施形態におけるものに限られず、枠46a、矢印46b及び静止マーク46cは種々の形状としてもよい。図9は、図4の撮像ガイドの表示の別態様を示す図である。図9に示すように、例えば4つの括弧型の枠46aを矩形の第1の画像データ40(撮像フレーム42)が有する四つの角に対応させて配置させることにより表示させてもよく、不等号型の矢印46bをタッチパネルディスプレイ4に表示してもよい。また、枠46aは撮像フレーム42と同形状の矩形を呈しているとしてもよい。枠46aがこのような矩形を呈している場合には、ユーザは撮像フレーム42が切り出す連続的な画像データをタッチパネルディスプレイ4上で見ながら、当該画像データを枠46aに対して傾けさせないように操作することができ、より適切な撮像操作が可能となる。
また、撮像ガイドの表示態様は、枠46a、矢印46b及び静止マーク46cによる表示に限られず、その他の図形や記号等をタッチパネルディスプレイ4に表示させてもよい。また、撮像ガイドの表示態様は静止画に限られず、アニメーション表示、タッチパネルディスプレイ4上の光を点滅させる等、画面表示に視覚的に認識できる種々の態様により撮像ガイドを行ってもよい。
また、撮像ガイドは、タッチパネルディスプレイ4に表示させることによるものに限られず、音声や振動等により行ってもよい。
また、上記実施形態においては、撮像フレーム42が移動すべき距離Yをデフォルト値として長距離に設定しておくこととしたが、これに限られない。例えば、撮像フレーム42が移動すべき距離Yをデフォルト値として短距離に設定しておき、第1の画像データ40と仮想フレーム41とが重なり合う領域44における画像の特徴点Aの数に応じて撮像フレーム42の移動すべき距離Yを長距離に近づけてもよい。
また、上記実施形態においては、撮像フレーム42が移動すべき距離Yは、長距離又は短距離のどちらか一方に決定されるとしたが、これに限られない。例えば、第1の画像データ40と現実の撮像フレーム42とが重なり合う領域48においてパノラマ画像生成に必要な数だけ画像の特徴点Aの数を有するように、撮像フレーム42が移動すべき距離Yを無段階に可変なものとしてもよい。例えば、第1の画像データ40と仮想フレーム41とが重なり合う領域44の面積をパノラマ生成のため最低限必要な大きさにしておき、当該領域44における画像の特徴点Aの数を検出する。検出された当該領域44における画像の特徴点Aの数がパノラマ生成のために不十分な場合には、十分な数となるように当該領域44の面積を大きくしていく。また、逆に、第1の画像データ40と仮想フレーム41とが重なり合う領域44の面積を最大限としておき、すなわち仮想フレーム41を第1の画像データ40にちょうど重なり合う位置にしておき、そこから当該領域44の面積を小さくしていってもよい。
なお、上記の各閾値の設定は、製造者等により予め記憶されているデフォルト設定に限られず、当該設定をユーザが適宜変更可能なものとしてもよい。
また、第1の画像データ40が取得されると図5に示すように四方に撮像ガイドが表示されるとしたが、これに限られず、パノラマ画像が適切に生成されるように予め撮像フレーム42が移動すべき方向を設定しておき、その方向のみに撮像ガイドを表示することとしてもよい。
また、本発明の撮像装置は携帯端末に限られず、デジタルカメラ等の種々の撮像機器であってもよい。なお、デジタルカメラ等の場合には、撮像用の装置であるため、携帯電話機等の携帯端末のように撮像を行うためにアプリケーションを起動しなくてよい。