激安3D ウェブカメラ(DS-3DW300)とOpenCVで遊んでみる
だらだら書きます。
実は前からWebカメラで視差計算してDepthMapを作れたら、Kinectっぽくて楽しいなとか思っていました。
↓このminoru3Dってのが前から欲しかったのですが、
http://nma.web.nitech.ac.jp/fukushima/minoru/minoru3D.html
どうやら完売してしまったみたいで、売ってないのです。しょんぼり。(´・ω・`)
構成としてはただ単にWebカメラが横に2つ連なった物のようなので、単純にWebカメラ2つ買ってきて、ものすごく硬いかまぼこ板にでも2つカメラを貼り付けたら似たものが作れそうですが、明らかに手軽では無くなってしまうので、躊躇していました。
ところが最近Twitterでお友達になったizmさんに、激安の3D Webカメラが540円で売ってるのを教わったので、買ってみたところ・・。
<(注:アフェリエイト付きです)
確かに3Dで撮れるのですが、付属の専用アプリじゃないと、Side-by-sideで3Dキャプチャができないのです。
このままだとOpenCVとかでいじれないので、DepthMapを取るのは夢のまた夢だったのですが、実はOpenCVやDirectShowアプリなど、3Dでキャプチャしたいアプリで先にキャプチャを開始してから、付属ソフトを後から実行してコントロールすると、なんとなくSide-By-Side(左右の画像が横方向に合成された状態)の画像が撮れることがわかりました。
手動でキャプチャを試したのがこちら。
キイロイトリ(うちではぴよちゃんと呼んでいます)が、DirectShowの標準アプリ(AMCAP)でSide-by-sideで撮れてます。
起動する順番は、AMCAPでキャプチャ開始してから、CHUSEI 3D Webcam.exeを起動する感じです。その後、CHUSEI 3D Webcam.exeの一番右側のSideBySideモードを選んで下さい。するとAMCAP側に流れてくるキャプチャの画像がSideBySideになります。
この激安3Dカメラは、Minoruと違って320x480が2つ、Side-by-sideで合成されてからフレームとしてキャプチャされて来るみたい。ちょっと残念なのは、横方向が半分になってしまうところ。
横の解像度で深さ方向が決まるので、これが半分なのはちょっと悲しい。
でも代わりに左右のフレームが同期しているので、動く物体を捉えるには非常に良さそう。
これ利用して、なんか面白いことできないかと試行錯誤中です。。