水平360度の全天周Webカメラを作る
以前、Webカメラで赤外線カメラを作る記事を書きましたが、今回はその応用で水平360度の全天周カメラを作る方法を書いておこうと思います。
RICOH THETA SやKodak SP360など、360度の全天球・全天周カメラは最近では沢山種類が出ていますが、Webカメラみたいに低価格で手軽に使える360度カメラ欲しいなと思うことがたまにあります。
そこで身近なもので360度Webカメラを作る方法をご紹介します。
必要な機材は以下の2点。
- BUFFALO 200万画素WEBカメラ 広角120°マイク内蔵 ブラック BSW200MBK ¥2,645
http://amzn.to/2lxzXD7 - AUKEY 超広角レンズ 238°0.2×ワイドレンズ セルカレンズ iPhone、Samsung、Sony、Androidスマートフォン、タプレットなどに対応 PL-WD02 ¥3,299
http://amzn.to/2maZFKv
合計でも6千円未満というところです。
この120°Webカメラと238°広角レンズの2つを組み合わせて全天周カメラを作るということなんですが、
2つを固定するために3Dプリンタで作ったパーツを使いました。
以下に3Dプリントデータをアップロードしていますので、必要な方は使って下さい。
3Dプリンター無くても最悪レンズ同士を接着すれば行けそうな気もします(適当)
レンズコネクターの方は2個出力して組み合わせて使います。
- 360 Degree WebCam Base & Lens Connector
http://www.thingiverse.com/thing:2121218
- パーツを3Dプリントしたら、Webカメラからレンズを外して、
- スマホ用の超広角レンズの上に重ねます。
- その状態でレンズコネクターをはめて
- 2つのレンズを挟み込みます。
- 元のWebカメラにレンズを戻してネジ込めば
(カメラとベースは結束バンドで固定しています)
- 完成!!
映像を確認しながらレンズを回してフォーカスを調整して下さい。
こんな感じの絵が撮れます。
レンズの位置より下も少し見えているので、レンズ自体の視野角は200°以上だと思います。
お手軽にUSB接続で使える360°カメラが作れちゃいましたね。
以前、実際にこの構成の全天周カメラを実戦投入しましたが、解像度があまり必要の無い画像処理等で、エリアの中央から周囲の物の動きを動体検知して、どの方向に動体が存在するかを取得する用途にはかなり役に立ちました。
また、以下のような感じでUnity上でリアルタイムに全天周映像を表示するのも楽しかったです。
解像度は低いですがVRで見ると迫力あるかもしれません。
UnityでもOpenCVのネイティブプラグインからWebカメラを1080p:30fpsで動かせたぞー!
今まで30fps出なかった原因は映像コーデックが自動でYUY2になってたからなので、コーデックをリストから選べるようにした。 pic.twitter.com/UdxpdUJOhS— Teruaki Tsubokura (@kohack_v) 2016年7月8日
といわけで、360度Webカメラを作るTipsでしたー。
みなさんも色々と身近なものを組み合わせてハックを楽しんでみて下さい!