Regen Techlog

Web・プログラミングの技術メモ

THETA画像のEXIF読み取りと傾き補正

      2014/12/25

THETA

最近一部で話題のTHETA(ワンショット全球パノラマカメラ)ですが,THETAを斜めに向けて撮影すると出力される画像は補正されていないものがでてきます.
公式のビューワーで見るとTHETAの姿勢が補正され,天頂が上で水平方向が真横になるようにした画像を見ることができますが,大量の画像を補正しようとすると大変です.
しかしEXIFからジャイロスコープの情報を読んでいる方がいるので,傾き補正するソフトウェアは作れるはずです.

そこで,EXIFからジャイロスコープの情報を読み取って傾き補正するコードを書きました.
せっかくなので,ジャイロスコープ以外の情報も読めるようにIFDを少し丁寧に解析するようにコードを書き,パッケージ化してthetaexifという名前でPyPIに登録してみました.

Pythonだとマッピングの計算がどうしても遅いのでCythonを使いました.

RICOHのサンプル画像をお借りして補正結果を見てみます.

Me and my new friend "llama" in Salar de Uyuni, Bolivia – Spherical Image – RICOH THETA

補正前:
equirectangular

補正後:
equirectangular_rectified

 - プログラミング ,

Comment

  1. […] Visual comparison between my results and those of Regen’s python script show good correspondence. […]

コメントを残す

  関連記事

子テーマでサイドバーを最後に追加する

WordPressでテーマをカスタマイズする場合は子テーマを使うのが一般的ですが …

browsercookiejar: ブラウザのCookieをPythonから利用する

ウェブスクレイピングの記事を書きましたが、ログインが必要なページから情報を取得す …

Suspend on LAN

ネットワークに接続されたPCを遠隔で起動する技術にWake on LAN(WoL …

Pythonで簡単にWindowsサービスを作る

Pythonで書いた処理をバックグラウンドで動かしておきたいときに、Window …

「Unable to find vcvarsall.bat」の対処法

C/C++などのビルドが必要なファイルを含むPythonパッケージをWindow …

SourceTreeのGit-Flowで必ずno-ffする

GUIでGit操作ができるクライアントの一つSourceTreeですが、Git- …

WindowsでPython Netifacesをインストールする

Pythonでマジックパケットを監視してみようと思ってプログラムを書いていたので …

lxmlでスクレイピングするときのコツ

PythonでスクレイピングをしようとするとBeautifulSoupやlxml …

VC++9.0でOpenMP使用時の注意点

OpenMPを使ったCライブラリをPythonで使うためにPython本体のバー …

Python小ネタ

Pythonの意外と知られていない小ネタを紹介します。