[第1実施形態]
図1を用いて、第1実施形態の画像調整システムの構成例を説明する。画像調整システム101は、カメラ102と、通信部103と、画像表示装置104と、コントローラ105と、画像調整装置110とを備える。画像調整装置110は、画像処理部111と、画像生成部112と、通信部113とを有する。
カメラ102は、360度の範囲を撮影できる全方位カメラ(360度カメラ)である。通信部103と通信部113とはネットワークを介して接続されている。画像調整装置110は、カメラ102が撮影した撮影画像IM1を、通信部103及び113とネットワークとを介して取得することができる。
画像調整装置110としてコンピュータ機器を用いてもよい。画像処理部111及び画像生成部112としてCPUを用いてもよい。画像生成部112及び通信部113は、画像調整装置110の外部に設けられていてもよい。
画像調整装置110が取得した撮影画像IM1は、画像処理部111へ入力される。画像処理部111は、撮影画像IM1を解析することにより、撮影画像IM1における水平方向を認識する。画像処理部111は、撮影画像IM1を解析することにより、撮影画像IM1における垂直方向を認識してもよいし、水平方向及び垂直方向を認識してもよい。画像調整装置110は、撮影画像IM1の歪みを補正し、撮影画像IM1の例えば水平方向を調整する等の画像処理を実行し、画像処理された撮影画像IM1を画像表示装置104へ出力する。
画像表示装置104は、画像調整装置110によって画像処理された撮影画像IM1を表示する。画像表示装置104は、例えばヘッドマウントディスプレイである。コントローラ105は、例えばVR(Virtual Reality)等に用いられるグローブ型コントローラである。
図2は、画像表示装置104が使用者USの頭部に装着され、コントローラ105が使用者USの手に装着されている状態を模式的に示している。図2に示す符号ZEは天頂を示している。カメラ102の天頂と使用者USの天頂とは一致していることが望ましい。使用者USは、その頭部に画像表示装置104を装着することにより、画像調整装置110によって画像処理された撮影画像IM1を見ることができる。
画像表示装置104は、使用者USの頭部に装着されている状態において、使用者USが向いている方向、及び使用者USの姿勢等の状態に基づいて姿勢情報PN1を生成する。画像処理部111は、画像表示装置104から姿勢情報PN1を取得する。即ち、画像処理部111は、画像表示装置104の姿勢に基づいて姿勢情報PN1を取得することになる。画像処理部111は、姿勢情報PN1に基づいて、カメラ102が撮影した撮影画像IM1から、使用者USが向いている方向、及び使用者USの姿勢等の状態に対応する領域の画像を画像表示装置104に表示する。
コントローラ105は、使用者USの手に装着されている状態において、使用者USの手の動きまたは姿勢、または、使用者USの指の動きまたは姿勢等の状態に基づいて指示情報NN1を生成する。以下、手または指を、単に手と略記する。画像処理部111は、コントローラ105から指示情報NN1を取得する。画像処理部111は、指示情報NN1に基づいて、画像表示装置104に表示されている撮影画像IM1を変化させたり調整したりすることができる。
画像生成部112は、CG(Computer Graphics)である球面により構成された仮想画像である球面状画像VSS1を生成する。画像生成部112は、球面状画像VSS1を内蔵メモリまたは外部のメモリに保存する。
画像処理部111は、指示情報NN1に基づいて、画像生成部112から球面状画像VSS1を取得し、画像表示装置104に表示する。図2は、画像表示装置104が使用者USの頭部に装着された状態において、使用者USが画像表示装置104に表示されている球面状画像VSS1を見たときの使用者USのイメージを模式的に示している。
画像表示装置104が使用者USの頭部に装着されている状態において、使用者USが画像表示装置104に表示されている球面状画像VSS1を見たときに、球面状画像VSS1は、使用者US及び画像表示装置104の周囲に配置され、かつ、使用者USの手が球面状画像VSS1に届く範囲に表示されるように設定されている。使用者USは、コントローラ105が装着されている手を、画像表示装置104に表示されている球面状画像VSS1に対応する位置に移動させることにより、使用者USの手が球面状画像VSS1に接触しているように感じる。
コントローラ105は、使用者USの手と接触する部分にアクチュエータが配置されていてもよい。画像処理部111は、指示情報NN1に基づいて、使用者USの手が球面状画像VSS1に対応する位置に移動したと判断した場合、アクチュエータを作動させる。アクチュエータが使用者USの手に圧力を加えることにより、使用者USは、その手が球面状画像VSS1に接触する感覚を実感として得ることができる。
球面状画像VSS1が画像表示装置104に表示されている状態において、使用者USが、コントローラ105が装着されている手を任意の方向へ移動させた場合、画像処理部111は、指示情報NN1に基づいて、画像表示装置104に表示されている球面状画像VSS1と撮影画像IM1とが、使用者USの手の移動方向、移動速度、及び移動先の位置に対応して移動するように画像処理を実行する。
使用者USは、その手を任意の方向に、任意の速度で、任意の位置へ移動させることにより、球面状画像VSS1を任意の方向に、任意の速度で、任意の位置へ回転させることができる。即ち、使用者USは、その手の動きによって球面状画像VSS1を回転させることができる。画像処理部111は、球面状画像VSS1の回転に対応させて撮影画像IM1を移動させる。
画像処理部111は、使用者USが球面状画像VSS1を回転させる前の天頂ZEが、使用者USが球面状画像VSS1を回転させることによって球面状画像VSS1の座標上のどの位置へ移動したかを判定することができる。画像処理部111は、球面状画像VSS1の座標上における天頂ZEの移動方向及び移動先の位置に基づいて、使用者USが球面状画像VSS1を回転させる前と回転させた後との球面状画像VSS1の変化量を算出する。
球面状画像VSS1の変化量とは、球面状画像VSS1において、X軸を回転軸とした回転量(回転角度)と、Y軸を回転軸とした回転量(回転角度)と、Z軸を回転軸とした回転量(回転角度)とが合成された球面状画像VSS1の回転量(回転角度)に相当する。画像処理部111は、球面状画像VSS1の変化量を補正値CV1として保存する。即ち、補正値CV1は、球面状画像VSS1の回転方向と、天頂ZEの移動量または移動角度(球面状画像VSS1の回転角度)に基づいて算出されることになる。
画像処理部111は、使用者USが球面状画像VSS1を回転させた後の天頂ZEの球面状画像VSS1上の座標を補正値CV1として保存してもよい。画像処理部111は、補正値CV1を内蔵メモリまたは外部のメモリに保存する。
画像処理部111は、撮影画像IM1の水平方向を検出する。しかし、画像処理部111は、撮影画像IM1によってはその水平方向を検出することが難しく、水平方向を間違って検出してしまう場合がある。また、システムの同期等の問題により、水平または天頂の指定がずれてしまう場合がある。撮影画像IM1の水平方向が間違って検出されたり、水平または天頂の指定がずれたりすると、画像表示装置104に表示される撮影画像IM1が使用者USの重力感覚と一致しないため、使用者USは違和感を覚える。
図3に示すフローチャートを用いて、第1実施形態の画像調整方法の一例を説明する。具体的には、撮影画像IM1の水平を調整する方法の一例について説明する。画像表示装置104が使用者USの頭部に装着され、コントローラ105が使用者USの手に装着されている。画像表示装置104には撮影画像IM1が表示されている。
使用者USが画像表示装置104に表示されている撮影画像IM1が水平でないと判断した場合、図3において、使用者USがコントローラ105を操作することにより、画像処理部111は、ステップS101にて、画像表示装置104に設定画面を表示させる。使用者USがコントローラ105を操作して、設定画面に表示されている所定の項目(例えば水平調整の項目)を選択することにより、画像処理部111は、ステップS102にて、選択された項目に対応する所定の処理モードへ処理を移行する。水平調整の項目が選択された場合、画像処理部111は、撮影画像IM1の水平を調整するための処理モード(水平調整モード)へ処理を移行する。
画像処理部111は、ステップS103にて、画像生成部112から球面状画像VSS1を取得し、画像表示装置104に表示する。画像表示装置104には、撮影画像IM1と球面状画像VSS1とが混合して表示される。使用者USが撮影画像IM1が水平となるように球面状画像VSS1を回転させることにより、画像処理部111は、ステップS104にて、球面状画像VSS1の回転に対応させて、画像表示装置104に表示されている撮影画像IM1を移動させる。使用者USは撮影画像IM1が水平になるまで球面状画像VSS1を回転させる動作を複数回行ってもよい。
使用者USは撮影画像IM1が水平になったと判断した場合にコントローラ105を操作することにより、画像処理部111は、ステップS105にて、画像表示装置104に設定画面を表示させる。画像表示装置104に表示されている撮影画像IM1を水平にすることにより、カメラ102の天頂と使用者USの天頂とを一致させることができる。
使用者USがコントローラ105を操作して、設定画面に表示されている所定の項目(例えば終了の項目)を選択することにより、画像処理部111は、ステップS106にて、選択された項目に対応する所定の処理モードへ処理を移行する。終了の項目が選択された場合、画像処理部111は、水平調整を終了するための処理モード(終了モード)へ処理を移行する。
画像処理部111は、ステップS107にて、球面状画像VSS1が回転する前と後との回転量(回転角度)を、球面状画像VSS1の変化量として取得する。画像処理部111は、ステップS108にて、球面状画像VSS1の変化量を補正値CV1として保存し、処理を終了する。
第1実施形態の画像調整システム101、画像調整装置110、及び画像調整方法では、画像表示装置104に球面状画像VSS1を表示させる。第1実施形態の画像調整システム101、画像調整装置110、及び画像調整方法によれば、撮影画像IM1の水平方向が間違って検出されたり、水平または天頂ZEの指定がずれたりした場合に、使用者USは、コントローラ105を操作して球面状画像VSS1を回転させることにより、画像表示装置104に表示されている撮影画像IM1を水平になるように調整することができる。
従って、第1実施形態の画像調整システム101、画像調整装置110、及び画像調整方法によれば、撮影画像IM1の水平方向が間違って検出されたり、水平または天頂の指定がずれたりした場合に、使用者USが撮影画像IM1の水平または天頂を簡便に補正することができる。
第1実施形態の画像調整システム101、画像調整装置110、及び画像調整方法によれば、補正値CV1が保存されている場合、画像処理部111は、補正値CV1を読み出し、カメラ102が撮影した撮影画像IM1を補正値CV1に基づいて画像調整し、画像表示装置104に表示することができる。
[第2実施形態]
図4を用いて、第2実施形態の画像調整システムの構成例を説明する。画像調整システム201は、カメラ202と、通信部203と、画像表示装置204と、コントローラ205と、画像調整装置210と、サーバ206とを備える。画像調整装置210は、画像処理部211と、画像生成部212と、通信部213とを有する。
カメラ202、通信部203、画像表示装置204、コントローラ205、及び画像調整装置210は、それぞれ、第1実施形態のカメラ102、通信部103、画像表示装置104、コントローラ105、及び画像調整装置110に相当する。画像処理部211、画像生成部212、及び通信部213は、それぞれ、第1実施形態の画像処理部111、画像生成部112、及び通信部113に相当する。
画像調整装置210は、カメラ202が撮影した撮影画像IM2を、通信部203及び213とネットワークとを介して取得することができる。サーバ206は、ネットワークと通信部203とを介してカメラ202と接続し、ネットワークと通信部213とを介して画像調整装置210と接続する。
サーバ206は、カメラ202が撮影した撮影画像IM2を通信部203及びネットワークを介して取得し、画像調整装置210がサーバ206から撮影画像IM2をネットワーク及び通信部213を介して取得してもよい。
画像調整装置210が取得した撮影画像IM2は、画像処理部211へ入力される。画像処理部211は、撮影画像IM2を解析することにより、撮影画像IM2における水平方向を認識する。画像処理部211は、撮影画像IM2を解析することにより、撮影画像IM2における垂直方向を認識してもよいし、水平方向及び垂直方向を認識してもよい。画像調整装置210は、撮影画像IM2の歪みを補正し、撮影画像IM2の例えば水平を調整する等の画像処理を実行し、画像処理された撮影画像IM2を画像表示装置204へ出力する。画像表示装置204は、画像調整装置210によって画像処理された撮影画像IM2を表示する。
サーバ206は、カメラ202が撮影した撮影画像IM2の歪みを補正し、撮影画像IM2の例えば水平を調整する等の画像処理を実行し、画像処理された撮影画像IM2を画像調整装置210へ出力してもよい。使用者USは、その頭部に画像表示装置204を装着することにより、画像調整装置210またはサーバ206によって画像処理された撮影画像IM2を見ることができる。
画像表示装置204は、使用者USの頭部に装着されている状態において、使用者USが向いている方向、及び使用者USの姿勢等の状態に基づいて姿勢情報PN2を生成する。画像処理部211は、画像表示装置204から姿勢情報PN2を取得する。即ち、画像処理部211は、画像表示装置204の姿勢に基づいて姿勢情報PN2を取得することになる。画像処理部211は、姿勢情報PN2に基づいて、カメラ202が撮影した撮影画像IM2から、使用者USが向いている方向、及び使用者USの姿勢等の状態に対応する領域の画像を画像表示装置204に表示する。
コントローラ205は、使用者USの手に装着されている状態において、使用者USの手の動きまたは姿勢等の状態に基づいて指示情報NN2を生成する。画像処理部211は、コントローラ205から指示情報NN2を取得する。画像処理部211は、指示情報NN2に基づいて、画像表示装置204に表示されている画像を変化させたり調整したりすることができる。
画像生成部212は、CGである球面により構成された仮想画像である球面状画像VSS2を生成する。画像生成部212は、球面状画像VSS2を内蔵メモリまたは外部のメモリに保存する。
画像処理部211は、指示情報NN2に基づいて、画像生成部212から球面状画像VSS2を取得し、画像表示装置204に表示する。球面状画像VSS2は、第1実施形態の球面状画像VSS1に相当する。使用者USは、コントローラ205が装着されている手を、画像表示装置204に表示されている球面状画像VSS2に対応する位置に移動させることにより、使用者USの手が球面状画像VSS2に接触しているように感じる。
コントローラ205は、使用者USの手と接触する部分にアクチュエータが配置されていてもよい。画像処理部211は、指示情報NN2に基づいて、使用者USの手が球面状画像VSS2に対応する位置に移動したと判断した場合、アクチュエータを作動させる。アクチュエータが使用者USの手に圧力を加えることにより、使用者USは、その手が球面状画像VSS2に接触する感覚を実感として得ることができる。
球面状画像VSS2が画像表示装置204に表示されている状態において、使用者USが、コントローラ205が装着されている手を任意の方向へ移動させた場合、画像処理部211は、指示情報NN2に基づいて、画像表示装置204に表示されている球面状画像VSS2と撮影画像IM2とが、使用者USの手の移動方向、移動速度、及び移動先の位置に対応して移動するように画像処理を実行する。
使用者USは、その手を任意の方向に、任意の速度で、任意の位置へ移動させることにより、球面状画像VSS2を任意の方向に、任意の速度で、任意の位置へ回転させることができる。即ち、使用者USは、その手の動きによって球面状画像VSS2を回転させることができる。画像処理部211は、球面状画像VSS2の回転に対応させて撮影画像IM2を移動させる。
画像処理部211は、使用者USが球面状画像VSS2を回転させる前の天頂ZEが、使用者USが球面状画像VSS2を回転させることによって球面状画像VSS2の座標上のどの位置へ移動したかを判定することができる。画像処理部211は、球面状画像VSS2の座標上における天頂ZEの移動方向及び移動先の位置に基づいて、使用者USが球面状画像VSS2を回転させる前と回転させた後との球面状画像VSS2の変化量を算出する。球面状画像VSS2の変化量は、第1実施形態の球面状画像VSS1の変化量に相当する。
画像処理部211は、球面状画像VSS2の変化量を補正値CV2として、通信部213及びネットワークを介してサーバ206へ出力する。即ち、補正値CV2は、球面状画像VSS2の回転方向と、天頂ZEの移動量または移動角度(球面状画像VSS2の回転角度)に基づいて算出されることになる。画像処理部211は、使用者USが球面状画像VSS2を回転させた後の天頂ZEの球面状画像VSS2上の座標を補正値CV2としてサーバ206へ出力してもよい。
サーバ206がネットワーク及び通信部213を介して画像調整装置210から補正値CV2を取得してもよい。サーバ206は、補正値CV2を使用者USまたは画像表示装置204と関連付けて内蔵メモリまたは外部のメモリに保存する。
画像処理部211は、撮影画像IM2の水平方向を検出する。しかし、画像処理部211は、撮影画像IM2によってはその水平方向を検出することが難しく、水平方向を間違って検出してしまう場合がある。また、システムの同期等の問題により、水平または天頂の指定がずれてしまう場合がある。撮影画像IM2の水平方向が間違って検出されたり、水平または天頂の指定がずれたりすると、画像表示装置204に表示される撮影画像IM2が使用者USの重力感覚と一致しないため、使用者USは違和感を覚える。
使用者USが画像表示装置204を頭部に装着する場合、頭部の形状、及び、画像表示装置204の装着状態は使用者USによって異なる。そのため、画像表示装置204に表示される撮影画像IM2の水平方向は、使用者USによって異なる場合がある。画像表示装置204に表示される撮影画像IM2の水平方向は、使用者USの利き目によっても異なる場合がある。そのため、補正値CV2は、使用者USによって異なる場合がある。
図5は、使用者USごとの補正値CV2の分布を模式的に示している。図5は、球面状画像VSS2を使用者USの上方から見た状態を模式的に示している。図5に示す前とは使用者USの前方を示し、後とは使用者USの後方を示している。図5に示す右とは使用者USの右側を示し、左とは使用者USの左側を示している。
図5に示す丸形状の記号は、第1の使用者USまたは第1の画像表示装置204における補正値CV2を示し、四角形状の記号は、第2の使用者USまたは第2の画像表示装置204における補正値CV2を示し、三角形状の記号は、第3の使用者USまたは第3の画像表示装置204における補正値CV2を示している。図5では、補正値CV2は、第1の使用者USでは前方の右側に分布し、第2の使用者USでは前方の左側に分布し、第3の使用者USでは後方に分布した状態を示している。
サーバ206は、使用者USがログイン操作を実行する、または、画像表示装置204が通信部213を介してネットワークに接続されることにより、使用者USまたは画像表示装置204を特定することができる。サーバ206は、特定された使用者USまたは画像表示装置204に対応付けて、補正値CV2を保存する。
図6及び図7に示すフローチャートを用いて、第2実施形態の画像調整方法の一例を説明する。具体的には、使用者USまたは画像表示装置204ごとに、撮影画像IM2の水平を調整する方法の一例について説明する。画像表示装置204が使用者USの頭部に装着され、コントローラ205が使用者USの手に装着されている。画像表示装置204には撮影画像IM2が表示されている。
図6において、サーバ206は、ステップS201にて、使用者USがログイン操作を実行する、または、画像表示装置204が通信部213を介してネットワークに接続されることにより、使用者USまたは画像表示装置204を特定する。
使用者USが画像表示装置204に表示されている撮影画像IM2が水平でないと判断した場合、使用者USがコントローラ205を操作することにより、画像処理部211は、ステップS202にて、画像表示装置204に設定画面を表示させる。使用者USがコントローラ205を操作して、設定画面に表示されている所定の項目(例えば水平調整の項目)を選択することにより、画像処理部211は、ステップS203にて、選択された項目に対応する所定の処理モードへ処理を移行する。水平調整の項目が選択された場合、画像処理部211は、撮影画像IM2の水平を調整するための処理モード(水平調整モード)へ処理を移行する。
画像処理部211は、ステップS204にて、画像生成部212から球面状画像VSS2を取得し、画像表示装置204に表示する。画像表示装置204には、撮影画像IM2と球面状画像VSS2とが混合して表示される。使用者USが撮影画像IM2が水平となるように球面状画像VSS2を回転させることにより、画像処理部211は、ステップS205にて、球面状画像VSS2の回転に対応させて、画像表示装置204に表示されている撮影画像IM2を移動させる。使用者USは撮影画像IM2が水平になるまで球面状画像VSS2を回転させる動作を複数回行ってもよい。
使用者USは撮影画像IM2が水平になったと判断した場合にコントローラ205を操作することにより、画像処理部211は、ステップS206にて、画像表示装置204に設定画面を表示させる。画像表示装置204に表示されている撮影画像IM2を水平にすることにより、カメラ202の天頂と使用者USの天頂とを一致させることができる。
使用者USがコントローラ205を操作して、設定画面に表示されている所定の項目(例えば終了の項目)を選択することにより、画像処理部111は、ステップS207にて、選択された項目に対応する所定の処理モードへ処理を移行する。終了の項目が選択された場合、画像処理部211は、水平調整を終了するための処理モード(終了モード)へ処理を移行する。
画像処理部211は、ステップS208にて、球面状画像VSS2が回転する前と後との回転量(回転角度)を、球面状画像VSS2の変化量として取得する。さらに、画像処理部211は、球面状画像VSS2の変化量を補正値CV2として、通信部213及びネットワークを介してサーバ206へ出力する。サーバ206は、ステップS209にて、補正値CV2を、使用者USまたは画像表示装置204と関連付けて保存する。なお、サーバ206がネットワーク及び通信部213を介して画像調整装置210から補正値CV2を取得してもよい。
図7に示すフローチャートを用いて、サーバ206に補正値CV2が使用者USまたは画像表示装置204と関連付けて保存されている場合の撮影画像IM2の水平を調整する方法の一例を説明する。画像表示装置204が使用者USの頭部に装着され、コントローラ205が使用者USの手に装着されている。画像表示装置204には撮影画像IM2が表示されている。
図7において、サーバ206は、ステップS211にて、使用者USがログイン操作を実行する、または、画像表示装置204が通信部213を介してネットワークに接続されることにより、使用者USまたは画像表示装置204を特定する。
サーバ206は、ステップS212にて、ステップS211で特定された使用者USまたは画像表示装置204に対応する補正値CV2を読み出し、ネットワーク及び通信部213を介して画像調整装置210へ出力する。
サーバ206に使用者USまたは画像表示装置204に対応する複数の補正値CV2が保存されている場合、サーバ206は、複数の補正値CV2から平均値を算出し、この平均値を補正値CV2として画像調整装置210へ出力してもよいし、複数の補正値CV2のうちの直近の補正値CV2を画像調整装置210へ出力してもよい。画像調整装置210が、通信部213及びネットワークを介して、使用者USまたは画像表示装置204に対応する補正値CV2をサーバ206から読み出してもよい。
サーバ206から画像調整装置210へ出力された補正値CV2は、画像処理部211へ入力される。画像処理部211は、ステップS213にて、カメラ202が撮影した撮影画像IM2を、補正値CV2に基づいて水平調整し、画像表示装置204へ出力する。画像表示装置204は、ステップS214にて、補正値CV2に基づいて水平調整された撮影画像IM2を表示する。従って、画像表示装置204は、使用者USに対応して水平調整された撮影画像IM2を表示することができる。
使用者USは、画像表示装置204に表示されている撮影画像IM2が水平ではないと判断した場合、コントローラ205を操作することにより、画像調整システム201にステップS202~S209、及びS211~S214の処理を実行させてもよい。
第2実施形態の画像調整システム201、画像調整装置210、及び画像調整方法では、画像表示装置204に球面状画像VSS2を表示させる。第2実施形態の画像調整システム201、画像調整装置210、及び画像調整方法によれば、撮影画像IM2の水平方向が間違って検出されたり、水平または天頂ZEの指定がずれたりした場合に、使用者USは、コントローラ205を操作して球面状画像VSS2を回転させることにより、画像表示装置204に表示されている撮影画像IM2を水平になるように調整することができる。
従って、第2実施形態の画像調整システム201、画像調整装置210、及び画像調整方法によれば、撮影画像IM2の水平方向が間違って検出されたり、水平または天頂の指定がずれたりした場合に、使用者USが撮影画像IM2の水平または天頂を簡便に補正することができる。
第2実施形態の画像調整システム201、画像調整装置210、及び画像調整方法では、補正値CV2が使用者USまたは画像表示装置204に対応づけられてサーバ206に保存される。画像調整装置210は、補正値CV2に基づいて、カメラ202が撮影した撮影画像IM2を使用者USまたは画像表示装置204ごとに水平調整し、画像表示装置204に表示することができる。第2実施形態の画像調整システム201、画像調整装置210、及び画像調整方法によれば、補正値CV2が使用者USまたは画像表示装置204と対応づけられているため、撮影画像IM2の水平を複数の使用者USごとに調整することができる。
[第3実施形態]
図4を用いて、第3実施形態の画像調整システムの構成例を説明する。画像調整システム301は、カメラ302と、通信部303と、画像表示装置304と、コントローラ305と、画像調整装置310と、サーバ306とを備える。画像調整装置310は、画像処理部311と、画像生成部312と、通信部313とを有する。
カメラ302、通信部303、画像表示装置304、コントローラ305、画像調整装置310、及びサーバ306は、それぞれ、第2実施形態のカメラ202、通信部203、画像表示装置204、コントローラ205、画像調整装置210、及びサーバ206に相当する。画像処理部311、画像生成部312、及び通信部313は、それぞれ、第2実施形態の画像処理部211、画像生成部212、及び通信部213に相当する。
画像調整装置310は、カメラ302が撮影した撮影画像IM3を、通信部303及び313とネットワークとを介して取得することができる。サーバ306は、ネットワークと通信部303とを介してカメラ302と接続し、ネットワークと通信部313とを介して画像調整装置310と接続する。
サーバ306は、カメラ302が撮影した撮影画像IM3を通信部303及びネットワークを介して取得し、画像調整装置310がサーバ306から撮影画像IM3をネットワーク及び通信部313を介して取得してもよい。
画像調整装置310が取得した撮影画像IM3は、画像処理部311へ入力される。画像処理部311は、撮影画像IM3を解析することにより、撮影画像IM3における水平方向を認識する。画像処理部311は、撮影画像IM3を解析することにより、撮影画像IM3における垂直方向を認識してもよいし、水平方向及び垂直方向を認識してもよい。画像調整装置310は、撮影画像IM3の歪みを補正し、撮影画像IM3の例えば水平を調整する等の画像処理を実行し、画像処理された撮影画像IM3を画像表示装置304へ出力する。画像表示装置304は、画像調整装置310によって画像処理された撮影画像IM3を表示する。
サーバ306は、カメラ302が撮影した撮影画像IM3の歪みを補正し、撮影画像IM3の例えば水平を調整する等の画像処理を実行し、画像処理された撮影画像IM2を画像調整装置210へ出力してもよい。使用者USは、その頭部に画像表示装置204を装着することにより、画像調整装置210またはサーバ206によって画像処理された撮影画像IM2を見ることができる。
画像表示装置304は、使用者USの頭部に装着されている状態において、使用者USが向いている方向、及び使用者USの姿勢等の状態に基づいて姿勢情報PN3を生成する。画像処理部311は、画像表示装置304から姿勢情報PN3を取得する。即ち、画像処理部311は、画像表示装置304の姿勢に基づいて姿勢情報PN3を取得することになる。画像処理部311は、姿勢情報PN3に基づいて、カメラ302が撮影した撮影画像IM3から、使用者USが向いている方向、及び使用者USの姿勢等の状態に対応する領域の画像を画像表示装置304に表示する。
コントローラ305は、使用者USの手に装着されている状態において、使用者USの手の動きまたは姿勢等の状態に基づいて指示情報NN3を生成する。画像処理部311は、コントローラ305から指示情報NN3を取得する。画像処理部311は、指示情報NN3に基づいて、画像表示装置304に表示されている画像を変化させたり調整したりすることができる。
画像生成部312は、CGである球面により構成された仮想画像である球面状画像VSS3を生成する。画像生成部312は、球面状画像VSS3を内蔵メモリまたは外部のメモリに保存する。
画像処理部311は、指示情報NN3に基づいて、画像生成部312から球面状画像VSS3を取得し、画像表示装置304に表示する。球面状画像VSS3は、第1及び第2実施形態の球面状画像VSS1及びVSS2に相当する。使用者USは、コントローラ305が装着されている手を、画像表示装置304に表示されている球面状画像VSS3に対応する位置に移動させることにより、使用者USの手が球面状画像VSS3に接触するように感じる。
コントローラ305は、使用者USの手と接触する部分にアクチュエータが配置されていてもよい。画像処理部311は、指示情報NN3に基づいて、使用者USの手が球面状画像VSS3に対応する位置に移動したと判断した場合、アクチュエータを作動させる。アクチュエータが使用者USの手に圧力を加えることにより、使用者USは、その手が球面状画像VSS3に接触する感覚を実感として得ることができる。
球面状画像VSS3が画像表示装置304に表示されている状態において、使用者USが、コントローラ305が装着されている手を任意の方向へ移動させた場合、画像処理部311は、指示情報NN3に基づいて、画像表示装置304に表示されている球面状画像VSS3と撮影画像IM3とが、使用者USの手の移動方向、移動速度、及び移動先の位置に対応して移動するように画像処理を実行する。
使用者USは、その手を任意の方向に、任意の速度で、任意の位置へ移動させることにより、球面状画像VSS3を任意の方向に、任意の速度で、任意の位置へ回転させることができる。即ち、使用者USは、その手の動きによって球面状画像VSS3を回転させることができる。画像処理部311は、球面状画像VSS3の回転に対応させて撮影画像IM3を移動させる。
画像処理部311は、使用者USが球面状画像VSS3を回転させる前の天頂ZEが、使用者USが球面状画像VSS3を回転させることによって球面状画像VSS3の座標上のどの位置へ移動したかを判定することができる。画像処理部311は、球面状画像VSS3の座標上における天頂ZEの移動方向及び移動先の位置に基づいて、使用者USが球面状画像VSS3を回転させる前と回転させた後との球面状画像VSS3の変化量を算出する。球面状画像VSS3の変化量は、第1及び第2実施形態の球面状画像VSS1及びVSS2の変化量に相当する。
画像処理部311は、球面状画像VSS3の変化量を補正値CV3として、通信部313及びネットワークを介してサーバ306へ出力する。即ち、補正値CV3は、球面状画像VSS3の回転方向と、天頂ZEの移動量または移動角度(球面状画像VSS3の回転角度)に基づいて算出されることになる。画像処理部311は、使用者USが球面状画像VSS3を回転させた後の天頂ZEの球面状画像VSS3上の座標を補正値CV3としてサーバ306へ出力してもよい。
サーバ306がネットワーク及び通信部313を介して画像調整装置310から補正値CV3を取得してもよい。サーバ306は、補正値CV3を使用者USまたは画像表示装置304と関連付けて内蔵メモリまたは外部のメモリに保存する。
画像処理部311は、撮影画像IM3の水平方向を検出する。しかし、画像処理部311は、撮影画像IM3によってはその水平方向を検出することが難しく、水平方向を間違って検出してしまう場合がある。また、システムの同期等の問題により、水平または天頂の指定がずれてしまう場合がある。撮影画像IM3の水平方向が間違って検出されたり、水平または天頂の指定がずれたりすると、画像表示装置304に表示される撮影画像IM3が使用者USの重力感覚と一致しないため、使用者USは違和感を覚える。
使用者USがコントローラ305を操作することにより、画像調整システム301は、図3に示すフローチャートのステップS101~S108と同様の処理、または、図6に示すフローチャートのステップS201~S209と同様の処理を実行する。従って、使用者USは、コントローラ305を操作して球面状画像VSS3を回転させることにより、画像表示装置304に表示されている撮影画像IM3を水平になるように調整することができる。
図8は、カメラ302が地点A、地点B、及び地点Cの順に移動し、かつ、カメラ302の左側に地面と直交する壁が配置されている状態を示している。地面を第1の面PL1、壁面を第2の面PL2とする。初期状態では、第1の面PL1は水平面であり、第2の面PL2は垂直面である。カメラ302が地点A、地点B、及び地点Cの順に移動することにより、使用者USは、地点A、地点B、及び地点Cの順に移動しているような感覚を得ることができる。
地点Aにおいて、撮影画像IM3は水平に調整されている。撮影画像IM3が水平に調整されていない場合、使用者USがコントローラ305を操作して球面状画像VSS3を回転させることにより、画像表示装置304に表示されている撮影画像IM3は水平になるように調整される。画像処理部311は、第1の面PL1における法線ベクトルNV1を取得する。画像処理部311は、地点BまたはCにおいても、法線ベクトルNV1を取得してもよい。
画像処理部311は、撮影画像IM3から第1の面PL1以外の面を検出する。画像処理部311は、例えば第2の面PL2を検出する。画像処理部311は、検出された面が所定の範囲内に位置しているか否かを判定する。画像処理部311は、例えば第2の面PL2が所定の範囲内に位置しているか否かを判定する。所定の範囲については後述する。
第2の面PL2が所定の範囲内に位置していると判定された場合、画像処理部311は、第2の面PL2における法線ベクトルNV2を推定する。図9に示すように、第2の面PL2が水平方向及び垂直方向に延びる複数の線状のパターンを有する場合、画像処理部311は、水平方向に延びる複数の線状のパターンと垂直方向に延びる複数の線状のパターンとによって形成される四角形の歪みに基づいて、法線ベクトルNV2を推定してもよい。
第2の面PL2が凹凸形状を有し、凹凸に対応して影が形成されている場合、画像処理部311は、影の形状に基づいて法線ベクトルNV2を推定してもよい。第2の面PL2に特徴がなく、法線ベクトルNV2を推定することが難しい場合、第1の面PL1と平行で、かつ、第2の面PL2からカメラ302へ向かう方向のベクトルを法線ベクトルNV2として設定してもよい。画像処理部311は、地点Aにおいて、第2の面PL2における法線ベクトルNV2を取得する、または取得している。画像処理部311は、地点BまたはCにおいても、法線ベクトルNV2を取得してもよい。
画像処理部311は、撮影画像IM3から第1の面PL1以外に複数の面を検出した場合、各面を特定するための番号を面ごとに付与する。画像処理部311は、画像表示装置304に表示されている撮影画像IM3に、各面に対応する位置に各面に対応するCG(Computer Graphics)及び番号の少なくともいずれかを重畳して表示することができる。
図10A及び図10Bに示すフローチャートを用いて、第3実施形態の画像調整方法の一例を説明する。具体的には、画像表示装置304に表示されている撮影画像IM3の水平面を変更する方法の一例を説明する。地点Aでは第1の面PL1が水平面であり、地点Bでは第2の面PL2が水平面に変更され、地点Cでは第1の面PL1が水平面に戻る場合について説明する。
画像表示装置304が使用者USの頭部に装着され、コントローラ305が使用者USの手に装着されている。画像表示装置304には撮影画像IM3が表示されている。カメラ302は地点A、地点B、及び地点Cの順に移動する。地点Aにおいて、撮影画像IM3は水平に調整されているものとする。
図10Aにおいて、カメラ302が地点Aから地点Bへ移動したとき、または移動するときに、使用者USがコントローラ305を操作することにより、画像処理部311は、ステップS301にて、画像表示装置304に設定画面を表示させる。使用者USがコントローラ305を操作して、設定画面に表示されている所定の項目(例えば水平面変更の項目)を選択することにより、画像処理部311は、ステップS302にて、選択された項目に対応する所定の処理モードへ処理を移行する。水平面変更の項目が選択された場合、画像処理部111は、水平面を変更するための処理モード(水平面変更モード)へ処理を移行する。
画像処理部311は、ステップS303にて、地点Bにおける撮影画像IM3から第1の面PL1以外の面を検出する。画像処理部311は、例えば第2の面PL2を検出する。画像処理部311は、ステップS304にて、検出された面が所定の範囲内に位置しているか否かを判定する。画像処理部311は、例えば第2の面PL2が所定の範囲内に位置しているか否かを判定する。
検出された面が所定の範囲内に位置している(YES)と判定された場合、画像処理部311は、ステップS305にて、検出された面に対応するCGを、撮影画像IM3において検出された面に対応する位置に合成し、画像表示装置304に表示する。複数の面が所定の範囲内に位置していると判定された場合には、複数の面に対応する複数のCGを、撮影画像IM3において複数の面に対応する位置に合成し、さらに、各面を特定するための番号を面ごとに付与し、画像表示装置304に表示する。検出された面が所定の範囲内に位置していない(NO)と判定された場合、画像処理部311は、ステップS306にて、撮影画像IM3にCG及び番号を合成しない、即ちCG及び番号を非表示にし、処理をステップS303へ戻す。
使用者USがコントローラ305を操作して、例えば第2の面PL2に対応するCG画像または番号が選択された場合、画像処理部311は、ステップS307にて、第2の面PL2における法線ベクトルNV2を推定する。画像処理部311は、ステップS308にて、法線ベクトルNV2に基づいて、第2の面PL2が水平面となるように、撮影画像IM3を処理する。図8に示す状態では、画像処理部311は、撮影画像IM3を反時計回りに90度回転させる。この画像処理により、使用者USは、第2の面PL2である壁面に立ち、移動しているような感覚を得ることができる。
図8に示すように、使用者USが壁面(第2の面PL2)に立ち、移動しているような感覚を得るためには、カメラ302と壁面との距離L2が重要である。距離L2が長すぎると使用者USは壁面から浮いているように感じ、距離L2が短すぎると使用者USは壁面に埋まっているように感じる。距離L2は、地面(第1の面PL1)からカメラ302までの距離L1に対して、0.7×L1<L2<1.5×L1の範囲内であることが好ましい。従って、ステップS304における所定の範囲内とは、例えば0.7×L1<L2<1.5×L1の範囲内である。これにより、使用者USは、壁面に立ち、移動しているような感覚を得ることができる。
図10Bにおいて、カメラ302が地点Bから地点Cへ移動したとき、または移動するときに、使用者USがコントローラ305を操作することにより、画像処理部311は、ステップS309にて、画像表示装置304に設定画面を表示させる。使用者USがコントローラ305を操作して、設定画面に表示されている所定の項目(例えば水平面変更の項目)を選択することにより、画像処理部311は、ステップS310にて、選択された項目に対応する所定の処理モードへ処理を移行する。水平面変更の項目が選択された場合、画像処理部111は、水平面を変更するための処理モード(水平面変更モード)へ処理を移行する。
画像処理部311は、ステップS311にて、地点Cにおける撮影画像IM3から、例えば第1の面PL1及び第2の面PL2を検出する。使用者USがコントローラ305を操作して、例えば第1の面PL1に対応するCGまたは番号が選択された場合、画像処理部311は、ステップS312にて、法線ベクトルNV1に基づいて、第1の面PL1が水平面となるように、撮影画像IM3を処理する。図8に示す状態では、画像処理部311は、撮影画像IM3を時計回りに90度回転させる。この画像処理により、使用者USは、第1の面PL1である地面に立ち、移動しているような感覚を得ることができる。
ステップS301及びS302、並びに、ステップS309及びS310では、使用者USがコントローラ305を操作することにより、所定の面PLを選択したが、サーバ306または画像調整装置310が任意の時点で任意の面PLを選択し、選択された面PLに対応させて撮影画像IM3を処理してもよい。複数の使用者USがネットワークを介して撮影画像IM3を見ている場合、いずれかの使用者USが他の使用者USに対して任意の時点で任意の面PLを選択してもよい。使用者USがアトラクション等で画像表示装置304を使用する場合、アトラクションのオペレータが任意の時点で任意の面PLを選択してもよい。
第3実施形態の画像調整システム301、画像調整装置310、及び画像調整方法では、画像表示装置304に球面状画像VSS3を表示させる。第3実施形態の画像調整システム301、画像調整装置310、及び画像調整方法によれば、撮影画像IM3の水平方向が間違って検出されたり、水平または天頂ZEの指定がずれたりした場合に、使用者USは、コントローラ305を操作して球面状画像VSS3を回転させることにより、画像表示装置304に表示されている撮影画像IM3を水平になるように調整することができる。
第3実施形態の画像調整システム301、画像調整装置310、及び画像調整方法では、補正値CV3が使用者USまたは画像表示装置304に対応づけられてサーバ306に保存される。画像調整装置310は、補正値CV3に基づいて、カメラ302が撮影した撮影画像IM3を水平調整し、画像表示装置304に表示することができる。
従って、第3実施形態の画像調整システム301、画像調整装置310、及び画像調整方法によれば、撮影画像IM3の水平方向が間違って検出されたり、水平または天頂の指定がずれたりした場合に、使用者USが撮影画像IM3の水平または天頂を簡便に補正することができる。
第3実施形態の画像調整システム301、画像調整装置310、及び画像調整方法では、地面以外の面を検出し、検出された面が所定の範囲内に位置しているか否かを判定し、所定の範囲内に位置している面における法線ベクトルNVを推定する。第3実施形態の画像調整システム301、画像調整装置310、及び画像調整方法によれば、法線ベクトルNVに基づいて、指定された面PLが水平面となるように、撮影画像IMを回転させることができる。指定された面PLが壁面である場合、使用者USは、壁面に立ち、移動しているような感覚を得ることができる。
[第4実施形態]
図4を用いて、第4実施形態の画像調整システムの構成例を説明する。画像調整システム401は、カメラ402と、通信部403と、画像表示装置404と、コントローラ405と、画像調整装置410と、サーバ406とを備える。画像調整装置410は、画像処理部411と、画像生成部412と、通信部413とを有する。
カメラ402、通信部403、画像表示装置404、コントローラ405、画像調整装置410、及びサーバ406は、それぞれ、第2実施形態のカメラ202、通信部203、画像表示装置204、コントローラ205、画像調整装置210、及び、サーバ206に相当する。画像処理部411、画像生成部412、及び通信部413は、それぞれ、第2実施形態の画像処理部211、画像生成部212、及び、通信部213に相当する。
画像調整装置410は、カメラ402が撮影した撮影画像IM4を、通信部403及び413とネットワークとを介して取得することができる。サーバ406は、ネットワークと通信部403とを介してカメラ402と接続し、ネットワークと通信部413とを介して画像調整装置410と接続する。
サーバ406が撮影画像IM4を通信部403及びネットワークを介して取得し、画像調整装置410がサーバ406から撮影画像IM4をネットワーク及び通信部413を介して取得してもよい。
画像調整装置410が取得した撮影画像IM4は、画像処理部411へ入力される。画像処理部411は、撮影画像IM4を解析することにより、撮影画像IM4における水平方向を認識する。画像調整装置410は、撮影画像IM4を解析することにより、撮影画像IM4における垂直方向を認識してもよいし、水平方向及び垂直方向を認識してもよい。画像調整装置410は、撮影画像IM4の歪みを補正し、撮影画像IM4の例えば水平を調整する等の画像処理を実行し、画像処理された撮影画像IM4を画像表示装置304へ出力する。画像表示装置404は撮影画像IM4を表示する。
サーバ406がネットワーク及び通信部403を介してカメラ402から撮影画像IM4を取得し、撮影画像IM4の歪みを補正し、撮影画像IM4の例えば水平を調整する等の画像処理を実行し、画像処理された撮影画像IM4を画像調整装置410へ出力してもよい。使用者USは、その頭部に画像表示装置404を装着することにより、画像調整装置410またはサーバ406によって画像処理された撮影画像IM4を見ることができる。
画像表示装置404は、使用者USの頭部に装着されている状態において、使用者USが向いている方向、及び使用者USの姿勢等の状態に基づいて姿勢情報PN4を生成する。画像処理部411は、画像表示装置404から姿勢情報PN4を取得する。即ち、画像処理部411は、画像表示装置404の姿勢に基づいて姿勢情報PN4を取得することになる。画像処理部411は、姿勢情報PN4に基づいて、カメラ402が撮影した撮影画像IM4から、使用者USが向いている方向、及び使用者USの姿勢等の状態に対応する領域の画像を画像表示装置404に表示する。
コントローラ405は、使用者USの手に装着されている状態において、使用者USの手の動きまたは姿勢等の状態に基づいて指示情報NN4を生成する。画像処理部411は、コントローラ405から指示情報NN4を取得する。画像処理部411は、指示情報NN4に基づいて、画像表示装置404に表示されている画像を変化させたり調整したりすることができる。
画像生成部412は、CGである球面により構成された仮想画像である球面状画像VSS4を生成する。画像生成部412は、球面状画像VSS4を内蔵メモリまたは外部のメモリに保存する。
画像処理部411は、指示情報NN4に基づいて、画像生成部412から球面状画像VSS4を取得し、画像表示装置404に表示する。球面状画像VSS4は、第2実施形態の球面状画像VSS2に相当する。使用者USは、コントローラ405が装着されている手を、画像表示装置404に表示されている球面状画像VSS4に対応する位置に移動させることにより、使用者USの手が球面状画像VSS4に接触するように感じる。
コントローラ405は、使用者USの手と接触する部分にアクチュエータが配置されていてもよい。画像処理部411は、指示情報NN4に基づいて、使用者USの手が球面状画像VSS4に対応する位置に移動したと判断した場合、アクチュエータを作動させる。アクチュエータが使用者USの手に圧力を加えることにより、使用者USは、その手が球面状画像VSS4に接触する感覚を実感として得ることができる。
球面状画像VSS4が画像表示装置404に表示されている状態において、使用者USが、コントローラ405が装着されている手を任意の方向へ移動させた場合、画像処理部411は、指示情報NN4に基づいて、画像表示装置404に表示されている球面状画像VSS4と撮影画像IM4とが、使用者USの手の移動方向、移動速度、及び移動先の位置に対応して移動するように画像処理を実行する。
使用者USは、その手を任意の方向に、任意の速度で、任意の位置へ移動させることにより、球面状画像VSS4を任意の方向に、任意の速度で、任意の位置へ回転させることができる。即ち、使用者USは、その手の動きによって球面状画像VSS4を回転させることができる。画像処理部411は、球面状画像VSS4の回転に対応させて撮影画像IM4を移動させる。
カメラ402が撮影した撮影画像IM4に、地平線または建築物が映っている場合、画像調整装置410及びサーバ406は、撮影画像IM4の水平方向を精度良く認識することができる。しかし、カメラ402が撮影した撮影画像IM4が例えば自然の風景等の曲線のみにより構成されている画像である場合、画像調整装置410及びサーバ406は、撮影画像IM4の水平方向を精度良く認識できないことがある。
撮影画像IM4の水平方向が精度良く認識できない場合、画像表示装置404には、撮影画像IM4が傾いた状態で表示される。使用者USは、球面状画像VSS4を回転させることにより、撮影画像IM4を水平になるように調整することができる。
図11に示すフローチャートを用いて、第4実施形態の画像調整方法の一例を説明する。具体的には、カメラ402が撮影した撮影画像IM4の水平を調整する方法の一例を説明する。
サーバ406は、図6に示すステップS201と同様の処理を実行する。図12Aに示すように、画像表示装置404に表示されている撮影画像IM4が水平ではないと使用者USが判断し、使用者USがコントローラ205を操作することにより、画像調整システム401は、図6に示すステップS202~S207と同様の処理を実行する。これにより、図12Bに示すように、画像表示装置404に表示されている撮影画像IM4を水平に調整することができる。
画像処理部411は、使用者USが球面状画像VSS4を回転させる前の天頂ZEが、使用者USが球面状画像VSS4を回転させることによって球面状画像VSS4の座標上のどの位置へ移動したかを判定することができる。画像処理部411は、球面状画像VSS4の座標上における天頂ZEの移動方向及び移動先の位置に基づいて、使用者USが球面状画像VSS4を回転させる前と回転させた後との球面状画像VSS4の変化量を算出する。球面状画像VSS4の変化量は、第2実施形態の球面状画像VSS2の変化量に相当する。
画像処理部411は、回転角度RAを球面状画像VSS4の変化量として算出する。回転角度RAとは、使用者USが球面状画像VSS4を回転させる前の状態に対する、球面状画像VSS4を回転させた後の状態における球面状画像VSS4の回転角度である。回転角度RAは、X軸、Y軸、またはZ軸を回転軸とした回転角度であってもよく、X軸、Y軸、及びZ軸を回転軸として合成された回転角度であってもよい。
画像調整システム401は、図6に示すステップS208及びS209と同様の処理を実行する。画像処理部411は、球面状画像VSS4の変化量を補正値CV4として、通信部413及びネットワークを介してサーバ406へ出力する。補正値CV4は回転角度RAの情報を含む。サーバ406がネットワーク及び通信部413を介して画像調整装置410から補正値CV4を取得してもよい。
図11において、サーバ406は、ステップS401にて、回転角度RAを取得する。サーバ406は、ステップS402にて、回転角度RAが所定の角度以上か否かを判定する。即ち、サーバ406は、使用者USが球面状画像VSS4を回転させることにより、画像表示装置404に表示されている撮影画像IM4を所定の角度以上(例えば10度以上)に水平調整したか否かを判定することになる。
回転角度RAが所定の角度以上である(YES)と判定された場合、サーバ406は、ステップS403にて、カメラ402が撮影した撮影画像IM4に対する画像調整装置410またはサーバ406による水平調整が失敗であったと判断し、使用者USが水平調整する前の撮影画像IM4bと水平調整した後の撮影画像IM4aとを関連付けて保存する。回転角度RAが所定の角度以上でない(NO)と判定された場合、画像調整システム401は、ステップS401へ処理を戻す。
サーバ406は、ステップS404にて、保存されている撮影画像IM4b及びIM4aの数が所定の値以上か否かを判定する。保存されている撮影画像IM4b及びIM4aの数が所定の値以上である(YES)と判定された場合、サーバ406は、ステップS405にて、保存されている複数の撮影画像IM4b及びIM4aに対してディープラーニング等の学習処理を実行する。サーバ406は、例えば撮影画像IM4bを入力データ、撮影画像IM4aを正解データとして学習処理を実行する。保存されている撮影画像IM4b及びIM4aの数が所定の値以上でない(NO)と判定された場合、画像調整システム401は、ステップS401へ処理を戻す。
サーバ406は、ステップS406にて、ステップS405における学習結果に基づいて、カメラ402が撮影した撮影画像IM4を水平調整する。なお、ステップS406にて、サーバ406が学習結果を画像調整装置410へ出力し、画像処理部411が学習結果に基づいて、カメラ402が撮影した撮影画像IM4を水平調整してもよい。画像処理部411がステップS401~S406の処理を実行してもよい。
サーバ406または画像処理部411がステップS401~S406の処理を繰り返し実行することにより、画像表示装置404に表示される撮影画像IM4の水平の調整精度を向上させることができる。
第4実施形態の画像調整システム401、画像調整装置410、及び画像調整方法では、画像表示装置404に球面状画像VSS4を表示させる。第4実施形態の画像調整システム401、画像調整装置410、及び画像調整方法によれば、撮影画像IM4の水平方向が間違って検出されたり、水平または天頂ZEの指定がずれたりした場合に、使用者USは、コントローラ405を操作して球面状画像VSS4を回転させることにより、画像表示装置404に表示されている撮影画像IM4を水平になるように調整することができる。
第4実施形態の画像調整システム401、画像調整装置410、及び画像調整方法では、補正値CV4が使用者USまたは画像表示装置404に対応づけてサーバ406またはその外部メモリに保存される。画像調整装置410は、補正値CV4に基づいて、カメラ402が撮影した撮影画像IM4を画像調整し、画像表示装置404に表示することができる。
従って、第4実施形態の画像調整システム401、画像調整装置410、及び画像調整方法によれば、撮影画像IM4の水平方向が間違って検出されたり、水平または天頂の指定がずれたりした場合に、使用者USが撮影画像IM4の水平または天頂を簡便に補正することができる。
第4実施形態の画像調整システム401、画像調整装置410、及び画像調整方法では、球面状画像VSS4の回転角度RAが所定の角度以上である場合、水平調整が失敗であったと判断し、判断結果に基づいて水平調整に失敗した撮影画像IM4b及びIM4aに対して学習処理を実行する。第4実施形態の画像調整システム401、画像調整装置410、及び画像調整方法によれば、学習処理を実行することにより、画像表示装置404に表示される撮影画像IM4の水平の調整精度を向上させることができる。
本発明は、上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変更可能である。
例えば、CGにより生成される仮想画像VSSは、楕円体の表面(楕円面)であってもよく、さらには使用者USの手の届く範囲であれば、任意の閉じた面(閉曲面)であればよい。即ち、使用者USが内側からその閉曲面に接触するような感覚を得て、撮影画像IMの水平調整ができればよい。使用者USが仮想画像VSSを回転動作させることから、仮想画像VSSは球面または楕円面等の球面に近い球面状の形状であることが望ましい。