これまでコダックのPIXPRO SP360のストリーミング画像をスマホで表示するシステムを開発してきましたが、10月23日に発売されたRICOH THETA Sが届いたので早速乗り換えてみました。
まずTHETA Sは、USBでPCと接続すると普通にUSBカメラとして認識されます。
そのため、DirectShowやOpenCVを使えば通常の方法で画像を取得することができます。ちなみに映像出力は以下のような両サイドのカメラ映像が左右に並んだもので、サイズはUSB接続の場合1,280×720、HDMI接続の場合は1,920×1,080。
この試作では今後、複数の端末にストリーミング画像を配信することを想定していたため、一旦PCで画像を取得したあとスマホに送信することにしました。
続いてgoogle cardboardで360度画像の中心から好きな方向を眺めるため、スマホ側で受信した画像を3次元の球に貼り付けます。そのためにまずは球の頂点とカメラ画像の対応付けを行います。なお、両サイドのカメラでは180度以上の範囲を撮れているので、画像の内側のみを使用するようにします。
あとは画像を貼り付けた球をOpenGLで表示し、スマホの向きに応じて視点を変更できるようにするだけで以下の動画のようなコンテンツを作れます。
THETAを使ってみた感想:
まずSP360が半球だったのに対してTHETAは完全な球体のため死角が無いのが良いです。また画質もTHETAの方が格段に上でした。APIの公開の有無も考えると、今後何かしらのシステムを開発する際にはTHETA Sを使うことになりそうです。