質問: 現在 Ubuntu14.04LTS + OpenCV3.1の環境でRicoh Theta Sから画像を取得できています。 しかし、取得した画像がカメラの魚眼レンズを通した画像なのですが、windowsのようにパノラマ画像として取得できることはできるのでしょうか? WindowsではTheta UVC Blenderというソフトがあり、それを通してパノラマ画像を生成しているようです。 また、取得した画像が1280x720/15fpsで動画を取得しています。 ファームウェアを最新にすることでH.264形式で1920x1080の画像を取得できるようなのですが、切り替え方がわかりません。 APIを叩かないと切り替わらないのでしょうか?PCソフト側に設定が見当たらなかったので。 以上、よろしくお願いします。
回答: > > しかし、取得した画像がカメラの魚眼レンズを通した画像なのですが、windowsのようにパノラマ画像として取得できることはできるのでしょうか? > > > いいえ。Windows/MacではPC上のソフトウェア処理で、魚眼画像(Fisheye)→パノラマ画像(Equirectangular)へと変換しているようです。 Linuxでは相当処理を自前で実装する必要があります。容易ではありませんが、変換式は"Converting a fisheye image into a panoramic, spherical or perspective projection"をご参考に。 > > また、取得した画像が1280x720/15fpsで動画を取得しています。 > > ファームウェアを最新にすることでH.264形式で1920x1080の画像を取得できるようなのですが、切り替え方がわかりません。 > > APIを叩かないと切り替わらないのでしょうか?PCソフト側に設定が見当たらなかったので。 > > > Linux上ではUVC(USB Video Class)ドライバを介してUSBカメラと通信を行いますが、H.264形式での取り込みはドライバがUVC 1.5規格以上に対応している必要があります。非対応の場合は、解像度とフレームレートを下げた接続へと自動フォールバックが行われます。 developers.theta360.comフォーラムに Controling H.264 encoder via UVC 1.5 という投稿があります。2017年7月現在、Linux環境でカメラH.264出力に成功した事例は報告されていません。 ~~(というよりRicoh Theta Sに限らず、任意のUSBカメラ+Linuxでの成功事例も見当たりませんでした。マルチメディア関連はどうしてもLinuxサポートが薄いですね...)~~ → "GStreamer support for the UVC for H.264 encoding cameras"によれば、GStreamer+uvch264_srcプラグインでのキャプチャ事例はあるようですね。