窓シミュレーター- パソコンのモニターをバーチャルな窓に

今回はProcessingでバーチャルな窓を作ってみました。
どこでもドアみたいな窓です。

WindowSimulator(Web上で実行はしません)

カメラで顔の位置を認識して、その位置から見えるであろう風景や窓をモニターに描画する、という仕組みで本物の窓っぽさを出しています(技術的な新しさはないです)。ただ、そんなに動作速度が速くないので、ゆっくり動くのがコツです。あとカメラの性能や室内の明るさや背景にある物なども影響します。

カメラがない場合はマウスカーソルの位置を顔の位置ということにして動作します。起動直後はカメラの認識がOFFになっているので、カメラを使う場合は、マウスカーソルを画面上部にもっていくと出てくるUseCameraチェックボックスをONにしましょう。

背景はローカルファイル、ネット上のURLを指定することで、自由に変えられます。

今はそれどころではないと思いますが、今回の震災で変わる前の街の様子をこの窓を通して見ることもできます。過去の大切な思い出にいつでもつながる窓として、ほんのひととき、なんらかの形でお役に立てたらいいなと思います。

# 震災とは別の話ですが、自分の場合は、上京している間に故郷の海岸が整備され、
# 小さい頃に遊んでいた景色が様変わりしてしまいました。そのことが寂しくて、
# またそこにつながったらいいな、という気持ちもありました。
# 切なくもありますが、それが確かにあったという事実は変わらないですから。

ソースは約330行で、カメラキャプチャにJMyron、顔位置の認識にOpenCV、ボタンなどのユーザーインターフェイスにSpringGUIを使用しました。

プログラムを作る上でのポイントは、窓枠と背景でカメラの視線のずれ具合を変えている点です。これをしないと窓枠が非現実的にモニターからはみ出したり、背景がほとんど動かなかったりするので。

しかし、プログラムは2日ぐらいで出来たのに、公開できるようにいろいろ整えるのに時間がかかるなぁ。

3/29 追記

カメラを使おうとすると、OpenCVとJMyronのDLLが不足していて動かなかったのでDLLをZIPに含めるようにしました。動作確認はWindowsXPでのみ行っています。

3/30 追記

背景差分機能の追加と高速化を行いました。詳しくはこちら



Trackback(0)