実験 - JSカメラ2 - クロノス・クラウン


Version : 2012/01/18 Edition Author : Masakazu Yanai (Cronus Chrown)

※ 2023-08-17 : Flash終了により、このページは動作しません。そのため、コードはコメントアウトしています。

このページは、テスト用のページです。正式なライブラリやドキュメントの配布は、追ってクロノス・クラウンのサイト上でアナウンスする予定です。

推奨ブラウザ:Chrome、Firefox (IEは8未満では動きません。9ではキャプチャが遅いです)
説明1:「1回ずつ描画」ボタンを押すと、各種情報もJavaScriptで取得したダンプします。
説明2:「ドットパターン検出」「マーカー検出」を選んでいる場合は、初回検出時に自動で情報を取得します。


●ドットパターン形式
(マスのクリックで大小を切り替え)


1
1
0
1
1
0
0
1
0
0
0
1
1
1
1
1
●マーカー形式
(マスのクリックで白黒を切り替え)




ドットパターン検出 : 
マーカー検出 : 



JavaScriptでWebカメラの画像を取得するライブラリ「crocro.jscam」について

目的

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にコールバックで取得する仕様にしました。


著作権について

プログラム

プログラムはクロノス・クラウンの柳井政和が作成したものです。クロノス・クラウンおよび柳井政和に著作権があります。


ライセンスについて

現在

まだテスト中なので、使用は許諾していません(仕様の整理やドキュメントの整備が終わっていませんので)。
ある程度完了し次第、使用可能にします。

Cronus Crown(クロノス・クラウン)のトップページに戻る
(c)2002-2024 Cronus Crown (c)1997-2024 Masakazu Yanai
ご意見・お問い合わせはサイト情報 弊社への連絡までお願いします
個人情報の取り扱い、利用者情報の外部送信について