OpenCV、機械学習、はやりのDeep learningの環境構築の方法、サンプルの動かし方、APIの使い方、Tipsなどをすぐに忘れてしまうので、備忘録として記録している。記憶がなくなるスピードが、早いのでメモしておかないと再現できなくなる確率が高まっている。 最近、再度HDDを飛ばしてしまい、過去の自分のページに再度助けられた。 また、DNNモジュールを触る機会が増えているので、C++からPyhonへと鞍替え中。 内容を気にいっていただければ、twitterで紹介願います。
2013年2月20日水曜日
OpenCVでステレオ画像を扱う 1
一時期3Dが流行したころ、日本のスマフォも3D機能を有しており、3Dモードでのカメラ撮影や、3Dモード撮影した画像を3Dモードで見る機能を有しているものがいくつかリリースされた。
そのようなスマフォの1機種である HTC の ISW11HT を有しているので、撮影した3D画像をOpenCV で処理することを考えている。
ISW11HT は、回線契約をしていなくても WiFi でインターネットにアクセスでき、白ROMを安く入手することができる。
最新の機種と比較するとスペック的には、見劣りするがデュアルコアでメモリも1G有しているのでそれなりに遊べる。
さて、ISW11T では、本体に2D-3Dのモード切替えスイッチを有しており、これを3Dにすると、カメラの撮影が3Dモードとなる。
3Dモードで静止画を撮影すると、拡張子 .mpo のファイルが作成される。この拡張子のままでは、OpenCV で読み込むことができないので、有志が提供しているmpo2jpg.exe というプログラムを使用して左右2つの jpg ファイルに変換する必要がある。
一方、3Dモードで動画を撮影すると、拡張子 .mp4 のファイルが作成される。このファイルは、OpenCV で扱うことができるが、1枚のフレームに左右の画像が半分に圧縮され連結して格納されているため、読み込んだ画像を左右の画像に分割し、横方向に拡大する必要がある。
うまく、カメラパラメータの取得とステレオカメラのキャリブレーションができたら、depthマップがつくれるのではないかと考えている。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿