(57)【要約】      （修正有）【課題】全天周画像からパノラマ画像を生成する場合に、撮像時の撮像装置の傾きによらずに、生成されるパノラマ画像の歪みを少なくさせる画像処理装置、方法及びプログラムを提供する。【解決手段】撮像システムのコントローラのＣＰＵは、全天周カメラから全天周画像及び全天周画像の撮像時の傾きθを取得し（Ｓ１）、全天周画像を半球面モデルにマッピングして半球面画像を生成し（Ｓ２）、傾きθに基づいて、全天周画像からパノラマ画像に展開する画像範囲を特定し（Ｓ３）、パノラマ画像のサイズを決定し（Ｓ４）、特定した画像範囲に基づいてパノラマ画像を生成する（Ｓ５）。【選択図】図４
2019016962.tif 000002
【特許請求の範囲】
【請求項１】
全天周画像を取得する画像取得手段と、
前記全天周画像を撮像する撮像装置の撮像時の傾きを取得する傾き取得手段と、
前記傾き取得手段により取得された傾きに基づいて、前記全天周画像からパノラマ画像に展開する画像範囲を特定する特定手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
パノラマ画像を生成する生成手段を更に備え、
前記生成手段は、前記特定手段で特定された画像範囲を展開してパノラマ画像を生成する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記特定手段は、前記傾き取得手段により取得された傾きに基づいて、前記全天周画像において水平線に相当する円を特定し、特定した円の少なくとも一部を輪郭に含む画像範囲をパノラマ画像に展開する画像範囲として特定する、
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記特定手段は、前記全天周画像の画素値を、仮想三次元座標空間の天頂方向に対して前記傾き分傾いた、前記全天周画像として撮像された撮像範囲を表す半球面にマッピングして半球面画像を生成し、当該半球面画像に内接する最大の円形の仮想水平面を設定し、前記半球面画像の前記仮想水平面からの距離が所定範囲内の画像領域を前記パノラマ画像に展開する画像範囲として特定する、
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記特定手段は、前記傾き取得手段により取得された傾きが所定の閾値を超えた場合に、前記半球面画像の前記仮想水平面からの距離が所定範囲内の画像領域のうち、前記傾きに応じた範囲の画像領域を前記パノラマ画像に展開する画像範囲として特定する、
ことを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記生成手段は、前記傾き取得手段で取得された傾きに応じて、生成するパノラマ画像のサイズを変更する、
ことを特徴とする請求項２に記載の画像処理装置。
【請求項７】
前記傾き取得手段は、前記全天周画像の撮像時において前記撮像装置の傾きセンサにより検出された傾きを取得する、
ことを特徴とする請求項１〜６のいずれか一項に記載の画像処理装置。
【請求項８】
前記傾き取得手段は、前記全天周画像を画像解析することにより前記傾きを取得する、
ことを特徴とする請求項１〜６のいずれか一項に記載の画像処理装置。
【請求項９】
前記傾きは、前記全天周画像の撮像時における前記撮像装置の光軸方向の天頂方向に対する傾きである、
ことを特徴とする請求項１〜８のいずれか一項に記載の画像処理装置。
【請求項１０】
前記生成手段は、前記傾き取得手段により取得された傾きが所定の閾値を超えている場合は、前記パノラマ画像の生成を行わない、
ことを特徴とする請求項２に記載の画像処理装置。
【請求項１１】
全天周画像を取得する画像取得工程と、
前記全天周画像を撮像する撮像装置の撮像時の傾きを取得する傾き取得工程と、
前記傾き取得工程において取得された傾きに基づいて、前記全天周画像からパノラマ画像に展開する画像範囲を特定する特定工程と、
を含むことを特徴とする画像処理方法。
【請求項１２】
コンピュータを、
全天周画像を取得する画像取得手段、
前記全天周画像を撮像する撮像装置の撮像時の傾きを取得する傾き取得手段、
前記傾き取得手段により取得された傾きに基づいて、前記全天周画像からパノラマ画像に展開する画像範囲を特定する特定手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、魚眼レンズを備える全天周カメラで撮像した画像であって、仮想の三次元座標空間の半球面モデルにマッピングしたマッピング画像からパノラマ画像を生成する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−６６８６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、全天周カメラにおいて水平面と光学的撮像面（以下、撮像面とする）が平行な状態で撮像を行うと、得られた撮像画像（全天周画像という）をパノラマ画像に展開した場合は、水平線がまっすぐに保たれた画像を得ることができる（図６（ｃ）参照）。しかしながら、水平面と撮像面が平行でない状態で撮像を行った場合、得られた撮像画像をパノラマ画像に展開すると水平線が波打つ歪んだ画像になってしまうという問題がある（図７（ｃ）参照）。
【０００５】
本発明は係る問題に鑑みてなされたものであり、全天周画像からパノラマ画像を生成する場合に、撮像時の撮像装置の傾きによらずに、生成されるパノラマ画像の歪みを少なくさせることを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、請求項１に記載の発明の画像処理装置は、
全天周画像を取得する画像取得手段と、
前記全天周画像を撮像する撮像装置の撮像時の傾きを取得する傾き取得手段と、
前記傾き取得手段により取得された傾きに基づいて、前記全天周画像からパノラマ画像に展開する画像範囲を特定する特定手段と、
を備える。
【発明の効果】
【０００７】
本発明によれば、全天周画像からパノラマ画像を生成する場合に、撮像時の撮像装置の傾きによらずに、生成されるパノラマ画像の歪みを少なくさせることが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態の撮像システムの全体構成例を示す図である。
【図２】図１の全天周カメラの機能的構成を示すブロック図である。
【図３】図１のコントローラの機能的構成を示すブロック図である。
【図４】図３のＣＰＵにより実行されるパノラマ画像生成処理を示すフローチャートである。
【図５】半球面モデルを説明するための図である。
【図６】（ａ）は、全天周カメラの撮像面を水平にして撮像を行ったときの全天周カメラ１の向きを示す図、（ｂ）は、（ａ）に示す方向で撮像された全天周画像を半球面モデルにマッピングして得られた半球面画像におけるパノラマ画像への展開範囲を示す図、（ｃ）は、（ｂ）の展開範囲を展開することにより生成されたパノラマ画像を示す図である。
【図７】（ａ）は、全天周カメラの撮像面が水平面に対して傾きθだけ傾いた状態で撮像を行ったときの全天周カメラの向きを示す図、（ｂ）は、従来技術において、（ａ）に示す方向で撮像された全天周画像を半球面モデルにマッピングして得られた半球面画像におけるパノラマ画像への展開範囲を示す図、（ｃ）は、（ｂ）の展開範囲を展開することにより生成されたパノラマ画像を示す図である。
【図８】（ａ）は、全天周カメラの撮像面が水平面に対して傾きθだけ傾いた状態で撮像を行ったときの全天周カメラの向きを示す図、（ｂ）は、本実施形態において、（ａ）に示す方向で撮像された全天周画像を半球面モデルにマッピングして得られた半球面画像におけるパノラマ画像への展開範囲を示す図、（ｃ）は、（ｂ）の展開範囲を展開することにより生成されたパノラマ画像を示す図である。
【図９】（ａ）は、傾きθが大きい全天周画像を示す図、（ｂ）は、（ａ）における撮像面と仮想水平面を示す図である。
【図１０】パノラマ画像の展開範囲の変更例を示す図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して本発明に係る実施形態を詳細に説明する。なお、本発明は、図示例に限定されるものではない。
【００１０】
［撮像システム１００の構成］
図１は、本発明の実施形態における撮像システム１００の全体構成例を示す図である。撮像システム１００は、図１に示すように、全天周カメラ１と、コントローラ２とを備えて構成されている。
【００１１】
［全天周カメラ１の構成］
全天周カメラ１は、周囲３６０°の視野を撮像し、得られた撮像画像（全天周画像。図９（ａ）参照。）をコントローラ２に送信する撮像装置である。
図２は、全天周カメラ１の機能的構成を示すブロック図である。図２に示すように、全天周カメラ１は、ＣＰＵ１１、ＲＡＭ１２、記憶部１３、撮像部１４、通信部１５、傾きセンサ１６等を備えて構成されている。ＣＰＵ１１と各部はバスにより接続されている。
【００１２】
ＣＰＵ１１は、記憶部１３に記憶されている各種のプログラムを実行して所定の演算や各部の制御を行うプロセッサである。例えば、ＣＰＵ１１は、通信部１５を介してコントローラ２からパノラマ撮影が指示されると、傾きセンサ１６により全天周カメラ１の傾きθ（天頂方向に対する撮像部１４の魚眼レンズ１４１の光軸方向の傾き、すなわち水平面に対する撮像面の傾き）を検出するとともに、撮像部１４に撮像を行わせ、得られた全天周画像に傾きセンサ１６により検出された傾きθ（°）を対応付けて通信部１５によりコントローラ２に送信する。
【００１３】
ＲＡＭ１２は、ＣＰＵ１１に作業用のメモリ空間を提供し、データを一時的に記憶する。
【００１４】
記憶部１３は、不揮発性の半導体メモリやハードディスク等により構成される。記憶部１３には、ＣＰＵ１１で実行されるシステムプログラムや各種処理プログラム、これらのプログラムの実行に必要なデータ等が記憶されている。
【００１５】
撮像部１４は、魚眼レンズ１４１、ＣＣＤ（Charge Coupled Device）やＣＭＯＳ（Complementary Metal-oxide Semiconductor）等のイメージセンサ等からなる撮像素子１４２、Ａ／Ｄ変換回路等を備えて構成され、魚眼レンズ１４１を通過した光学像を撮像素子１４２により２次元の画像信号に変換し全天周画像を取得する。
【００１６】
通信部１５は、コントローラ２と無線又は有線によりデータ通信を行うためのインターフェースである。
【００１７】
傾きセンサ１６は、例えば、加速度センサ等により構成され、天頂方向に対する撮像部１４の光軸方向の傾きθ（すなわち、水平面に対する撮像面の傾き）を検出してＣＰＵ１１に出力する。
【００１８】
［コントローラ２の構成］
コントローラ２は、全天周カメラ１から全天周画像を取得し、取得した全天周画像に基づいてパノラマ画像を生成する画像処理装置である。
【００１９】
図３は、コントローラ２の機能的構成を示すブロック図である。図３に示すように、コントローラ２は、ＣＰＵ２１、ＲＡＭ２２、記憶部２３、操作部２４、表示部２５、通信部２６等を備えて構成されている。ＣＰＵ２１と各部はバスにより接続されている。
【００２０】
ＣＰＵ２１は、記憶部２３に記憶されている各種のプログラムを実行して所定の演算や各部の制御を行うプロセッサである。例えば、ＣＰＵ２１は、操作部２４の操作に従って後述するパノラマ画像生成処理を実行することにより、特定手段、生成手段として機能する。また、通信部２６との協働により、画像取得手段、傾き取得手段として機能する。
【００２１】
ＲＡＭ２２は、ＣＰＵ２１に作業用のメモリ空間を提供し、データを一時的に記憶する。
【００２２】
記憶部２３は、不揮発性の半導体メモリやハードディスク等により構成される。記憶部２３には、ＣＰＵ２１で実行されるシステムプログラムや各種処理アプリケーションプログラム、これらのプログラムの実行に必要なデータ等が記憶されている。
【００２３】
操作部２４は、各種機能キーを備え、ユーザによる各キーの押下入力を受け付けてその操作情報をＣＰＵ２１に出力する。また、操作部２４は、表示部２５の表面を覆うように透明電極を格子状に配置したタッチパネル等を有し、手指やタッチペン等による各種操作を検出し、その操作情報をＣＰＵ２１に出力する。  
【００２４】
表示部２５は、ＬＣＤ（Liquid Crystal Display）等により構成され、ＣＰＵ２１からの表示制御信号に従って、画面上に各種表示を行う。
【００２５】
通信部２６は、全天周カメラ１等の外部機器と有線又は無線によりデータ通信を行うためのインターフェースである。
【００２６】
［撮像システム１００の動作］
次に、撮像システム１００の動作について説明する。
コントローラ２において、操作部２４によりパノラマ撮影の指示が入力されると、ＣＰＵ２１は、パノラマ画像生成処理を実行する。
【００２７】
図４は、パノラマ画像生成処理を示すフローチャートである。パノラマ画像生成処理は、ＣＰＵ２１と記憶部２３に記憶されているプログラムとの協働により実行される。以下、図４を参照してパノラマ画像生成処理について説明する。
【００２８】
まず、ＣＰＵ２１は、通信部２６により全天周カメラ１に撮像指示を送信して、全天周画像及び全天周画像の撮像時の傾きθを取得する（ステップＳ１）。
【００２９】
次いで、ＣＰＵ２１は、全天周画像の各画素値を仮想の三次元座標空間の半球面モデル３０にマッピングして（逆投影して）半球面画像３１を生成する（ステップＳ２）。
図５は、半球面モデル３０を示す図である。半球面モデル３０は、撮像素子１４２の撮像面をＸＹ平面、魚眼レンズ１４１の光軸方向をＺ軸とする仮想の三次元座標空間における半球面の座標の集合であり、魚眼レンズ１４１を介して全天周画像として撮像された撮像範囲を構成する。半球面モデル３０のＺ軸は、仮想の三次元座標空間における天頂方向Ｐに対して傾きθだけ傾いている。なお、半球面モデル３０における撮像面を撮像面３２とする。
【００３０】
次いで、ＣＰＵ２１は、傾きθに基づいて、半球面画像３１を用いて全天周画像のパノラマ画像に展開する範囲を特定する（ステップＳ３）。
【００３１】
ここで、図６〜図７を用いて、従来技術におけるパノラマ画像の展開範囲及び展開されたパノラマ画像について説明する。
【００３２】
図６（ａ）は、全天周カメラ１の撮像面を水平にして撮像を行ったときの全天周カメラ１の向きを示す図、図６（ｂ）は、図６（ａ）に示す方向で撮像された全天周画像を半球面モデル３０にマッピングして得られた半球面画像３１におけるパノラマ画像への展開範囲を示す図、図６（ｃ）は、図６（ｂ）の展開範囲を展開することにより生成されたパノラマ画像４１を示す図である。図６（ａ）に示すように、全天周カメラ１の撮像面を水平にして撮像を行った場合、従来から行われている手法により、図６（ｂ）に示すように、半球面モデル３０における撮像面３２からの距離が所定範囲の帯状の画像領域（図６（ｂ）においてハッチングで示す）をパノラマ画像の展開範囲とすると、図６（ｃ）に示すように、水平線がまっすぐに保たれた状態のパノラマ画像４１が得られる。
【００３３】
図７（ａ）は、全天周カメラ１の撮像面が水平面に対して傾きθだけ傾いた状態で撮像を行ったときの全天周カメラ１の向きを示す図、図７（ｂ）は、図７（ａ）に示す方向で撮像された全天周画像を半球面モデル３０にマッピングして得られた半球面画像３１におけるパノラマ画像への展開範囲を示す図、図７（ｃ）は、図７（ｂ）の展開範囲を展開することにより生成されたパノラマ画像４１を示す図である。従来のように、撮像面が水平面に対して傾いているにもかかわらず、半球面モデル３０における撮像面３２からの距離が所定範囲の帯状の画像領域（図７（ｂ）においてハッチングで示す）をパノラマ画像の展開範囲としてしまうと、図７（ｃ）に示すように、パノラマ画像４１の水平線は波打った歪みのある状態となってしまう。
【００３４】
そこで、ステップＳ３において、ＣＰＵ２１は、傾きθに応じてパノラマ画像への展開範囲を特定する。
例えば、図８（ａ）に示すように、全天周カメラ１の撮像面が水平面に対して傾きθだけ傾いた状態で撮像が行われた場合、図８（ｂ）に示すように、半球面画像３１に仮想水平面３３を設定する。仮想水平面３３は、半球面画像３１に内接する最大の水平面（円）であり、その輪郭は、水平線に相当する。すなわち、仮想水平面３３を設定することで、半球面画像３１における水平線に相当する円の輪郭を特定することができる。そして、半球面画像３１における仮想水平面３３からの距離が所定範囲内の帯状の画像領域（図８（ｂ）においてハッチングで示す）をパノラマ画像の展開範囲として特定する。全天周画像における展開範囲は、半球面画像３１において特定した展開範囲に対応する領域、すなわち、全天周画像における撮像円に内接する最大の水平円（例えば、図９（ｂ）における符号３３で示す円）の輪郭を外周とし、所定の幅をもつドーナツ状の領域となる。ここで、撮像円とは、全天周画像における撮像面３２に対応する円の領域（被写体が写っている円形の領域）である。水平円とは、全天周画像における仮想水平面３３を撮像円に投影した円である。水平円の輪郭は、水平線に相当する。
【００３５】
なお、傾きθが大きい全天周画像は、図９（ａ）に示すように、空が一方向に偏った画像となり、この画像から上述のように展開範囲を特定してパノラマ画像を生成すると仮想水平面３３が空側に偏ってしまうため、空が画像の大部分を占めてしまう。しかし、撮影者は空ばかりの画像を意図しているわけではない。そこで、ステップＳ３においては、傾きθが所定の閾値（θｔｈ１）より大きくなった場合は、図１０（ａ）や（ｂ）に示すように、θに応じてパノラマ画像に展開する範囲を変更することが好ましい。例えば、図９（ｂ）に示すように、傾きがθである仮想水平面３３の中心Ｏ１（仮想水平面３３を撮像面３２に投影したときの中心Ｏ１）が撮像面３２の中心Ｏ２から左側にずれている場合（すなわち、全天周画像における水平円の中心Ｏ１が撮像円の中心Ｏ２（全天周画像の中心）から左側にずれている場合）、半球面画像３１における仮想水平面３３からの距離が所定範囲内の帯状の画像領域のうち、図１０（ａ）や（ｂ）に示すように、全天周画像の右側に相当する画像領域をパノラマ画像に展開する範囲として特定することが好ましい。仮想水平面３３の中心Ｏ１が撮像面３２の中心Ｏ２から右側にずれている場合は、半球面画像３１における仮想水平面３３からの距離が所定範囲内の帯状の画像領域のうち、全天周画像の左側に相当する画像領域をパノラマ画像に展開する範囲として特定することが好ましい。仮想水平面３３からの距離が所定範囲内の帯状の画像領域のうち、どれだけの範囲を展開範囲として切り出すかは、θに応じて変更することが好ましい。なお、傾きがθである仮想水平面３３の中心Ｏ１が撮像面３２の中心Ｏ２からずれている方向は右側と左側だけでなく、撮像円の中心Ｏ２から全方向の、何れの方向にずれていてもよい。
【００３６】
次いで、ＣＰＵ２１は、傾きθに基づいて、パノラマ画像のサイズを決定する（ステップＳ４）。
ここで、傾きθが大きくなるほど図８（ｂ）に示す仮想水平面３３は小さくなるので、パノラマ画像に展開する範囲が小さくなる。パノラマ画像のサイズを一律にすると、パノラマ画像に展開する範囲が小さくなるほどボケた画像になってしまう。そこで、例えば、下記（式１）、（式２）に示すように、θ＞θｔｈ２（θｔｈ２は所定の閾値）の場合、θに応じて生成するパノラマ画像のサイズを変更することで、解像度の低いパノラマ画像が生成されることを防止する。なお、θ≦θｔｈ２の場合は、例えば、デフォルトの画像サイズを適用する。
【００３７】
w = (k÷θ)×W  ・・・（式１)
h = (k÷θ)×H  ・・・（式２）
ここで、 w : 展開後のパノラマ画像の水平サイズ
W : デフォルト(θ=0)のパノラマ画像の水平サイズ
h : 展開後のパノラマ画像の垂直サイズ
H : デフォルト(θ=0)のパノラマ画像の垂直サイズ
k : 定数
ただし、θ＞θｔｈ２、k＜θｔｈ２
【００３８】
次いで、ＣＰＵ２１は、半球面画像３１において特定した展開範囲を展開して、決定したサイズのパノラマ画像を生成し（ステップＳ５）、パノラマ画像生成処理を終了する。ステップＳ５においては、例えば、半球面画像３１において特定した展開範囲の画像を切り出して画素の補間処理を行う等の公知の技術を用いて、平面に展開したパノラマ画像を生成する。
【００３９】
図８（ａ）に示すように、水平面に対して撮像面が傾きθだけ傾いている場合において、半球面画像３１に仮想水平面３３を設定し、設定した仮想水平面３３からの距離が所定範囲内の帯状の画像領域をパノラマ画像の展開範囲としてパノラマ画像を生成した場合、図８（ｃ）に示すパノラマ画像４１のように、画像中の水平線の歪み（うねり）が抑制され、水平線がまっすぐに保たれたパノラマ画像を得ることができる。
【００４０】
パノラマ画像生成処理により生成されたパノラマ画像は、表示部２５に記憶される。また、記憶部２３に記憶される。
【００４１】
以上説明したように、コントローラ２のＣＰＵ２１によれば、全天周カメラ１から全天周画像及び全天周画像の撮像時の傾きθを取得し、傾きθに基づいて、全天周画像からパノラマ画像に展開する画像範囲を特定し、特定した画像範囲に基づいてパノラマ画像を生成する。
したがって、全天周画像からパノラマ画像を生成する場合に、全天周画像の撮像時の全天周カメラ１の傾きθによらずに歪みの少ないパノラマ画像を生成することが可能となる。
【００４２】
例えば、ＣＰＵ２１は、傾きθに基づいて、全天周画像において水平線に相当する円を特定し、特定した円の少なくとも一部を輪郭に含む画像範囲をパノラマ画像に展開する画像範囲として特定する。例えば、全天周画像の画素値を、仮想三次元座標空間の天頂方向Ｐに対して傾きθだけ傾いた、全天周画像として撮像された撮像範囲を表す半球面にマッピングして半球面画像を生成し、当該半球面画像に内接する最大の円形の仮想水平面を設定し、半球面画像の仮想水平面からの距離が所定範囲内の画像領域をパノラマ画像に展開する画像範囲として特定する。
したがって、全天周画像からパノラマ画像を生成する場合に、水平線の歪みの少ない、水平線がまっすぐに保たれたパノラマ画像を生成することが可能となる。
【００４３】
また、例えば、傾きθが所定の閾値を超えた場合に、半球面画像３１の仮想水平面３３からの距離が所定範囲内の画像領域のうち、傾きθに応じた範囲の画像領域をパノラマ画像に展開する画像範囲として特定することで、例えば、空ばかりの画像等、撮影者が意図しないパノラマ画像が生成されることを抑制することができる。
【００４４】
また、ＣＰＵ２１は、全天周画像の撮像時の傾きθに応じて、全天周画像から生成するパノラマ画像のサイズを変更する。したがって、解像度の低いパノラマ画像が生成されることを抑制することができる。
【００４５】
また、ＣＰＵ２１は、全天周画像の撮像時において全天周カメラ１の傾きセンサ１６により検出された傾きθを取得し、取得した傾きθに基づいて展開する画像範囲を特定するので、容易に傾きθに応じた展開範囲の特定を行うことが可能となる。
【００４６】
なお、上記実施形態における記述内容は、本発明に係る撮像システムの好適な一例であり、これに限定されるものではない。
【００４７】
例えば、上記実施形態においては、天頂方向と撮像部１４の光軸方向との傾きθを全天周カメラ１の傾きセンサ１６により取得する場合を例にとり説明したが、コントローラ２のＣＰＵ２１が全天周画像を画像解析することにより傾きθを取得することとしてもよい。例えば、ＣＰＵ２１は、全天周画像から水平線に相当する円（又は楕円）を認識し、認識した円（楕円）の中心と全天周画像の中心のずれ量に基づいて傾きθを取得することができる。このように、全天周画像を画像解析して傾きθを取得するようにすることで、全天周カメラ１に傾きセンサ１６を備えることなく、画像中の歪みが抑制されたパノラマ画像を得ることが可能となる。
【００４８】
また、上記実施形態においては、撮像時に傾きセンサ１６により検出された傾きθに基づいてパノラマ画像に展開する画像範囲を特定することとして説明したが、ＣＰＵ２１は、撮像時に傾きセンサ１６により検出された傾きθが所定の閾値を超えている場合は、パノラマ画像を生成しないこととしてもよい。これにより、展開範囲の狭いパノラマ画像が生成されてしまうことを防止することができる。
また、撮像面と水平面に傾きがある（θ≠０）場合は、傾きθにかかわらず、一定の展開範囲でパノラマ画像を生成してもよい。
【００４９】
また、上記実施形態においては、全天周カメラ１と画像処理装置としてのコントローラ２が別体である場合を例にとり説明したが、一体的に構成されているものとしてもよい。
また、コントローラ２で特定した展開範囲に基づいて、他の装置で全天周画像からパノラマ画像を生成することとしてもよい。
【００５０】
また、例えば、上記の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体としてハードディスクや半導体の不揮発性メモリ等を使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、ＣＤ−ＲＯＭ等の可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ（搬送波）も適用される。
【００５１】
その他、撮像システムを構成する各装置の細部構成及び細部動作に関しても、発明の趣旨を逸脱することのない範囲で適宜変更可能である。
【００５２】
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
［付記］
＜請求項１＞
全天周画像を取得する画像取得手段と、
前記全天周画像を撮像する撮像装置の撮像時の傾きを取得する傾き取得手段と、
前記傾き取得手段により取得された傾きに基づいて、前記全天周画像からパノラマ画像に展開する画像範囲を特定する特定手段と、
を備えることを特徴とする画像処理装置。
＜請求項２＞
パノラマ画像を生成する生成手段を更に備え、
前記生成手段は、前記特定手段で特定された画像範囲を展開してパノラマ画像を生成する、
ことを特徴とする請求項１に記載の画像処理装置。
＜請求項３＞
前記特定手段は、前記傾き取得手段により取得された傾きに基づいて、前記全天周画像において水平線に相当する円を特定し、特定した円の少なくとも一部を輪郭に含む画像範囲をパノラマ画像に展開する画像範囲として特定する、
ことを特徴とする請求項１又は２に記載の画像処理装置。
＜請求項４＞
前記特定手段は、前記全天周画像の画素値を、仮想三次元座標空間の天頂方向に対して前記傾き分傾いた、前記全天周画像として撮像された撮像範囲を表す半球面にマッピングして半球面画像を生成し、当該半球面画像に内接する最大の円形の仮想水平面を設定し、前記半球面画像の前記仮想水平面からの距離が所定範囲内の画像領域を前記パノラマ画像に展開する画像範囲として特定する、
ことを特徴とする請求項３に記載の画像処理装置。
＜請求項５＞
前記特定手段は、前記傾き取得手段により取得された傾きが所定の閾値を超えた場合に、前記半球面画像の前記仮想水平面からの距離が所定範囲内の画像領域のうち、前記傾きに応じた範囲の画像領域を前記パノラマ画像に展開する画像範囲として特定する、
ことを特徴とする請求項４に記載の画像処理装置。
＜請求項６＞
前記生成手段は、前記傾き取得手段で取得された傾きに応じて、生成するパノラマ画像のサイズを変更する、
ことを特徴とする請求項２に記載の画像処理装置。
＜請求項７＞
前記傾き取得手段は、前記全天周画像の撮像時において前記撮像装置の傾きセンサにより検出された傾きを取得する、
ことを特徴とする請求項１〜６のいずれか一項に記載の画像処理装置。
＜請求項８＞
前記傾き取得手段は、前記全天周画像を画像解析することにより前記傾きを取得する、
ことを特徴とする請求項１〜６のいずれか一項に記載の画像処理装置。
＜請求項９＞
前記傾きは、前記全天周画像の撮像時における前記撮像装置の光軸方向の天頂方向に対する傾きである、
ことを特徴とする請求項１〜８のいずれか一項に記載の画像処理装置。
＜請求項１０＞
前記生成手段は、前記傾き取得手段により取得された傾きが所定の閾値を超えている場合は、前記パノラマ画像の生成を行わない、
ことを特徴とする請求項２に記載の画像処理装置。
＜請求項１１＞
全天周画像を取得する画像取得工程と、
前記全天周画像を撮像する撮像装置の撮像時の傾きを取得する傾き取得工程と、
前記傾き取得工程において取得された傾きに基づいて、前記全天周画像からパノラマ画像に展開する画像範囲を特定する特定工程と、
を含むことを特徴とする画像処理方法。
＜請求項１２＞
コンピュータを、
全天周画像を取得する画像取得手段、
前記全天周画像を撮像する撮像装置の撮像時の傾きを取得する傾き取得手段、
前記傾き取得手段により取得された傾きに基づいて、前記全天周画像からパノラマ画像に展開する画像範囲を特定する特定手段、
として機能させるためのプログラム。
【符号の説明】
【００５３】
１００  撮像システム
１  全天周カメラ
１１  ＣＰＵ
１２  ＲＡＭ
１３  記憶部
１４  撮像部
１４１  魚眼レンズ
１４２  撮像素子
１５  通信部
１６  傾きセンサ
２  コントローラ
２１  ＣＰＵ
２２  ＲＡＭ
２３  記憶部
２４  操作部
２５  表示部
２６  通信部
３０  半球面モデル
３１  半球面画像
３２  撮像面
３３  仮想水平面
４１  パノラマ画像
【図１】
2019016962.tif 000003
【図２】
2019016962.tif 000004
【図３】
2019016962.tif 000005
【図４】
2019016962.tif 000006
【図５】
2019016962.tif 000007
【図６】
2019016962.tif 000008
【図７】
2019016962.tif 000009
【図８】
2019016962.tif 000010
【図９】
2019016962.tif 000011
【図１０】
2019016962.tif 000012