SSブログ

360度写真の表示プログラム作成 [プログラム開発]

色々カメラを調べたのですが、前後に2眼あるタイプは通常は左右に2つ魚眼画像がある
Dual Fish-eyeが基本のようですね。動画も同じようです。
しかし、カメラによって映像の中の2つの位置や形が違うようで、専用のアプリで共通の正距円筒図法(Equirectangular)で変換しているようです。
Gear_001.jpg
Dual Fish-eye画像
Gear_002.jpg
正距円筒図(Equirectangular)画像

しかし、正距円筒図法で変換するのに大変な時間がかかります。Gear360のPCソフトでは変換に1分の動画で10分かかりました。PCの性能によりますが。

それで、直接にDual Fish-eye画像を正距円筒に変換せず、どのメーカーでも正しく表示できるWindows用ソフトを作成しました。

Ricoh_002.jpg
THETA画像をGear360内容で表示した場合にはこのように合いません。
Ricoh_003.jpg
画面を見ながら中心位置、直径、楕円比率など調整後。※まだきっちり合っていない画面ですが。
Ricoh_004.jpg
普通の画角程度へマウスで拡大した画像。

画面を見ながら左右の中心の位置、直径の大きさ、楕円調整、回転などをKEYボードで調整できます。
微妙な調整となります。カメラ製造過程で個体差での誤差は出てしまうと思われます。それを調整します。
その結果をiniファイルとして書き出せるようにしました。
下記INIファイル内容
=================================
// My 360 Camera Settings.
Left_center=(0.250000,0.445000)
Left_diamet=(0.865000)
Left_ellipse_ratio=(1.101000)
Left_rotation_angle=(0.000000)
Right_center=(0.757400,0.445000)
Right_diamet=(0.865000)
Right_ellipse_ratio=(1.101000)
Right_rotation_angle=(0.025000)
=================================
読み込めばその設定になります。

その他の機能として、マウスで表示位置移動、マウスホイールで拡大縮小、、などができ、
画面イメージを写真ファイルとして出力できます。
動画もそのままの画面で再生できます。

簡易マニュアルができたら投稿します。

課題として、連結部分は「それなり」に合うと思われますが、前後の露出の差が出る場合もあるので、ぼかし処理などする処理を検討します。
「それなり」といったのは、前後のレンズのゆがみがあればどうしようもないので、個体差で当たりハズレがあるかと思われます。

配布予定なので、よろしくお願いします。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。