『 Flash + OpenCV 』

2010 年 8 月 10 日

AIR2.0の新機能でOpenCVと連携してみました。AIRアプリを起動してTwitterID入力 → Webカメラを選択すると、カメラ映像から顔領域を検出してアイコンが顔を隠します。TwitterIDを空欄にすると笑い男が出現します。俺の目を盗みやがったなという具合に。

» OpenCVFaceDetection
» ソース一式

・Iキー ・・・ アイコンの表示/非表示を切り替えます。
・Rキー ・・・ 検出された全顔領域の表示/非表示を切り替えます。
Continue Reading »

『 ひとつのWebカメラを複数のアプリケーションから同時に使う 』

2010 年 8 月 7 日

最近OpenCVとFlashの連携というものを研究していて、例えばFlashがWebカメラにアクセスしているときにOpenCVが同じWebカメラにアクセスしちゃうと、デバイスがロックされているためにアプリケーションが落ちたりして\(^o^)/になるんですけど、それを解決してくれるソフトウェアがありました。

» WebCam Splitter ($19.95)

Continue Reading »

『 C++とOpenCVでWebカメラを簡単に扱う 』

2010 年 8 月 6 日

C++でWebカメラからの映像を取り込むとき、OpenCV純正の関数が不安定なので使っていたEWCLIBというライブラリがありまして、このライブラリを簡単に扱うためのDirectShowというライブラリがあったりするんですが、EWCLIBが2.0にバージョンアップしてからDirectShowが使えなくなっていたので少し書き直してみました。中身はほぼDirectShowと一緒です。(EWCLIBの呼び出し引数変更とgetterを加えたくらい)

» CameraEwclib2.h
» CameraEwclib2.cpp

Continue Reading »

『 マウスイベント発生中に親を変更した場合の挙動 』

2010 年 7 月 21 日

想定外の挙動だったのでメモ。

MouseEvent.MOUSE_DOWNの発生後にマウスを押したまま対象インスタンスの親インスタンスを変更した場合、つまり別のDisplayObjectContainerにaddChildし直した場合の挙動。

予想では、マウスダウン中に別の親にaddChildしてしまうとマウスを離してもMouseEvent.MOUSE_UPは発生しないと思っていたのだけど、普通にイベントが発生した。これを利用すると、たくさんのアイテムの中からドラッグ中のものを一時的に最前面に表示するなどの処理が実装しやすくなる。

//親コンテナ parentA, parentB を作る
var parentA:Sprite = addChild( new Sprite() ) as Sprite;
var parentB:Sprite = addChild( new Sprite() ) as Sprite;

//子オブジェクト child を作り、parentA に配置しておく
var child:Sprite = parentA.addChild( new Sprite() );
child.graphics.beginFill(0x0);
child.graphics.drawCircle(0, 0, 50);
child.graphics.endFill();
child.x = 100;
child.y = 100;

//子オブジェクトに対してイベントを登録する
child.addEventListener(MouseEvent.MOUSE_DOWN, function(e:MouseEvent):void {
  trace("down");
  //マウスダウンで parentB の子として addChild し直す
  parentB.addChild(child);
});

child.addEventListener(MouseEvent.MOUSE_UP, function(e:MouseEvent):void {
  //マウスを離すと、マウスダウン時と親が違っていてもちゃんと実行される
  trace("up");
});

『 トップページ更新 Cells 』

2010 年 7 月 12 日

トップページにコンテンツを追加しました。
» Cells

今回はボロノイ図とパーティクル操作を組み合わせたものとなっています。ボロノイ図のアルゴリズムには高速なFortuneのアルゴリズムを用いています。Fortuneのアルゴリズムは空間を上から下に走査していきながら、各々のボロノイ母点が作り出す放物線(beach line)同士が交わる点列をボロノイ境界とみなします。

» アルゴリズム解説
» C++版 by Matt Brubeck
» AS3版 by Controul

wonderflに投稿されているkndさんの『Fortuneのアルゴリズムの可視化』が直感的で分かりやすいです。

『 PixelBender (.pbj) をActionScriptに埋め込む 』

2010 年 7 月 12 日

まじめにPixelBenderやろうかなと思いつつ、いちいちpbjファイルをロードするのも面倒くさいなと思ったので、ちょっと便利そうなツールを作ってみました。

pbjファイルをローカルからアップロードすると、PixelBenderのコードを内部に埋め込んだActionScriptのクラスを生成します。pbjファイルがパラメータを含む場合は、各パラメータに対して自動的にgetter/setterも用意します。インプットに対しても自動でgetter/setterを生成します。

このツールの利点としては

  • コンパイル時にPixelBenderのコードを含めることができるので、pbjファイルを外部読み込みする必要が無くなる
  • pbjファイルにどのようなパラメータやインプットを設定すればいいのか分かる

といったことがあります。wonderflに投稿する際にメインのコードとPixelBenderをひとつのファイルにまとめたり、パラメータやインプットの指定ミスを減らせることができるかと思います。
Continue Reading »

『 ActionScriptで変態言語Whitespaceのインタプリタ 』

2010 年 7 月 12 日

何かを作るとき、色々な技術の応用や組み合わせばかりにとらわれている気がして、ActionScriptという言語自体に真剣に向き合ってみようと思ったらいつのまにかWhitespaceという言語に真剣に向き合っていた。な… 何を言ってるのかわからねーと思うが(ry

RunをクリックするとSource Codeに記述したコードが実行され、実行結果がOutputへ出力されます。場合によっては(というかPreset Codeでは Hello, World! 以外全て)入力待ち状態になるのでその際はInputに要求された文字列もしくは数値を入力してSendをクリックします。
Continue Reading »

『 最近読んだ&気になる本 』

2010 年 6 月 25 日

最近って言っても、この記事の下書きを書き始めたのが1ヶ月前という事実。

読んだ本


Data Flow: Visualising Information in Graphic Design
個人作品のデザイン勉強のために買ったグラフィック集。データの美しいビジュアライズがひたすら。ここから何ページか読めるので、ピンときた人にはお薦め◎
Continue Reading »

『 遺伝的アルゴリズムで歩行動作獲得への道 ~3歩目~ 』

2010 年 5 月 11 日

earthwalker03

超マイペースでぼちぼち作っていた、AIで歩行動作を学習しようプロジェクト(1歩目2歩目)なのですが、先日のイベントでお話したこともあり一段落したので、ひとまずトップページで正式公開することにしました。

» Earthwalker

今回のアップデートは遺伝的アルゴリズムの最適化、インターフェースの強化、そしてエディタ機能です。

今までは頑張るイモ虫君を見ているだけでしたが、これからは好きな構造の生き物を創って歩かせることができます。誰も見たことのない生き物たちが頑張って歩き方を覚えていく様子を、ほほえましく見守ってあげてください。
Continue Reading »

『 GEEKs Flash モーションプログラミング 』

2010 年 3 月 9 日

公式サイトから抜粋

GEEKs」は自由な発想でテクノロジーを駆使し、モノを作る楽しさと独創性を刺激するセミナーイベントです。
今回のテーマは、Flash ActionScriptによるモーショングラフィックスです。
Flashにおける、動きのデザイン、インタラクティブデザインには、見る人を魅了して驚かせる効果があります。制作者には、ビジュアルを表現するだけではなく、それを成り立たせる構造やしくみをデザインする技術が必要となります。
本イベントでは、ROXIK の城戸雅行(きどまさゆき)氏と alumican.net の奥田透也(おくだゆきや)氏をゲストに迎え、ActionScript 3.0で複雑なモーションプログラムを構築するための、考え方や手法をご紹介いただきます。

というわけでロクナナ様のイベントで喋ります。ご一緒させていただくもう一人の登壇者はあの『エコだ動物園』や『全日本バーベイタム選手権』を手がけられたROXIKの城戸さんです。こんなことってあるんですね、すごい。

肝心の話す内容なのですが『Flashを使って自由にやっていいですよ』とのことでしたので、僕は1時間半壇上でニヤニヤしていたいと思います。半分本当で半分冗談です。あまり仕事にすぐには使えないかもだけど、Flash使ったらこんなおもしろそうなことできるよね!そしたらこんなこともできちゃうよね!みたいなことをみんなと考えたいな!!もしよろしければ皆様もFlashを始めた頃の気持ちに戻って、ご一緒にニヤニヤしませんか。
Continue Reading »

Next »