目的
JavaScriptで、Webカメラの画像を取得するためのライブラリです。
2011年の春ぐらいに、JavaでARToolkit代替のライブラリをフルスクラッチで作ったのですが、JavaではWebカメラを使用する制限が大きいので、JavaScriptに移植したいと思ったのが切っ掛けです。
HTML5にはカメラの仕様があるのですがブラウザでは未実装なので、Flash経由で取得してみることにしました。
AR系のソースは、その内時間を見つけて実装していきたいです。
2012.01.18
ドットパターンの変更を実装。マーカー形式に対応。サンプルページに、パターンをクリックで描画可能にする。高速化、エラー対策の実施。
2012.01.17
検出パターンを切り抜いて抜き出す仕様を実装。パターン検出時のコールバック処理を実装。
2012.01.15b
2012.01.15
処理を整理。コールバックの取得データを指定することで、Flashから「Flash上に描画された画像」「生画像」「ラベリング・データ」「ラベリングの2D配列」を取得できるようにしました。
2012.01.11
ラベリングの処理を実装。Javaで作った時と、少し処理を変えました。
2012.01.08
Flashのキャプチャ画面を隠すことができないので、JS側のループはなくしました。IEのメモリが肥大する問題もあるので、これでよいかと思います。また、2値化の処理をActionScript側で入れました。結構重いので、この先の各種処理をどうするか悩んでしまいます。
(追記)ActionScriptのArrayをVectorに変えると爆速になりました。
既知の問題
1つ目は、IEでFlashからJavaScriptのデータ転送ごとに消費メモリが肥大していくことです。ChromeやFirefoxでは発生しないので、IEのバグだと思います。
2つ目は、実行速度が遅いことです。FlashからJavaScriptへのデータの受け渡しが重いです。なのでプレビューをFlash側で行い、必要なデータをJavaScriptにコールバックで取得する仕様にしました。