クロノス・クラウン - 記事検索

おすすめ
自作の本やゲーム他を販売
便利なWebアプリが多数
ソフトウェア
めもりーくりーなー Winのメモリーを掃除
Novel Supporter 小説推敲補助ソフト
PCソフト まとめ
Webサービス
Kindle Unlimited マンガまとめ 巻数の多いマンガを集計
ゲームブック
闇の聖杯の儀式 電書のゲームブック
ゲーム
Little Land War... Win向けSRPG
Little Bit War Switch向け高速RTS
TinyWar... 1面数分の8bit風RTS
EX リバーシ 変形盤面、盤面多数
http://crocro.com/html5/jscam/app/test/index.html
2011年12月29日 04:43:05
 今年の春ぐらいに、JavaでARToolkit代替のライブラリをフルスクラッチで作ったのですが、JavaではWebカメラを使用する制限が大きいので、どうしようかなと思い、塩漬けにしていました。

 その後HTML5を少し触り、カメラの画像を取る仕様があることを知り、JavaScriptに移植しようかなと思ったのですが、ブラウザ未実装なことを知り、がっかりしていました。

 昨日、Flex SDKをダウンロードしてみて、今更ながらFlashを触り始めたので、ActionScriptからJavaScriptにデータを転送する形で、WebカメラのデータをCanvasに表示するライブラリを作ってみました。

□実験 - JSカメラ

 ActionScriptは、まだ完全な初心者なので、手探りでの実装です。



 とりあえず、既知の問題は以下2点。

 1番大きな問題は、IEでメモリが肥大していくことです。ChromeやFirefoxでは発生しないので、IEのバグなのかなあと思います。

 2番目の問題は実行速度が遅いことです。FlashからJavaScriptへのデータの受け渡しが非常に重いようです。ここはどうにもならないので、どうしようかなあというところです。

 なので、リアルタイム向けというよりは、Flashでプレビューして撮影みたいな使い方しかできないかもなあという感じです。

 うーん。



 とりあえず、将来、HTML5でカメラが実装された時に、そのまま使えるような形で、AR系の処理を実装できればなと思います。

 とはいえ、年末の空き時間2日を使って突貫で作ったので、先は未定です。

 ドキュメントを作って、ライブラリとして正式公開するのは、年明けかなあと思います。



 以下、ライブラリを使ったソースコードです。それなりにシンプルです。

// 変数
var one, loop;

// 起動時処理
$(document).ready(function() {
  initJsCam();  // JSカメラ初期化
});

// JSカメラ初期化
function initJsCam() {
  // JSカメラ初期化
  crocro.jscam.initJsCam();

  // キャンバスの初期化(ループ描画用)
  loop = new crocro.jscam.CanvasSet("cnvsLoop", "loop");
  var fps = new crocro.jscam.calcFps("outFps");
  loop.setExtrFnc(function() {fps.outVal()});
  loop.capture();   // ループでキャプチャ開始

  // キャンバスの初期化(1回描画用)
  one = new crocro.jscam.CanvasSet("cnvsOne", "one");
}

// ループの停止・再開
function swicthCaptureLoop(my) {
  loop.switchLoop(my.checked);
}

// キャプチャ1回分
function captureOne() {
  one.capture();   // 1回キャプチャ
}

// 画像出力
function outputImg() {
  var dId = "img" + new Date().getTime();
  $("#output").append($("<img>").attr("id", dId));
  loop.outputImage(dId, "");
}
最新20件 (全て見る)

オススメ電書 (全て見る

動画講座 (全て見る

サイト目次

おすすめ

PCソフト/Webアプリ

ゲーム

マンガ

記事

柳井の同人活動

開発

携帯・スマホ

アナログ・ゲーム

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