サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
www.digifie.jp
Python + OpenCV3.1 で 特徴量を検出しての画像マッチングを試してみました。 使用した検出方法は A-KAZE、KNN です。 A-KAZE(ACCELERATED-KAZE)は、有名な SURF や SHIFT と同様の検出アルゴリズムです。 SURF や SHIFT は著作権の関係で OpenCV では contrib ライブラリ行きになってしまっていますが、A-KAZE は core ライブラリから使用できます。 KNN(K-Nearest Neighbor algorithm)は、参考にした記事によると探索空間から最近傍のラベルをK個選択し、多数決でクラスラベルを割り当てるアルゴリズムだそうです。 二通りの探索方法、総当たり法(Brute-Force)と高速近似近傍探索法(FLANN: Fast Library for Approximate Nearest Nei
以前 ARDrone を Flash(AIR) で飛ばして遊んでるときに使用していた DatagramSocket。 これ、実案件では年に一回使うか使わないかだったりして、必要な時はいろいろ忘れているので…自分用メモ。 ・ドキュメントクラス package { import com.bit101.components.InputText; import com.bit101.components.Label; import com.bit101.components.PushButton; import com.bit101.components.TextArea; import flash.desktop.NativeApplication; import flash.display.Sprite; import flash.events.Event; import flash.even
Adobe AIR を使って、Webカメラの映像をキャプチャして動画ファイルで保存できるサンプルアプリを作ってみました。 カメラから取り込んだ動画のエンコード・保存には、FMS などのサーバは一切使用せずに、このアプリ内の機能のみで動画をエンコードしてファイル( .flv )として保存できるようにしてみました。 今回は、【映像の取り込み 〜 エンコード 〜 保存 〜 保存した映像を再生】という、一通りの動作が確認できるものを作ってみました。 次はこれに音声の取り込み・エンコードもできるようにしてみようかと思っています。 今回作ったサンプルアプリのダウンロード( Adobe AIR 3.9 以降が必要です )は こちらから。 今回映像のエンコードに使用したライブラリ( leelib.util.flvEncoder )は こちらを使用させていただきました。 このライブラリを使用すれば、今回サン
ちょっと前に話題になってた ParticleEmitterJS を Haxe + CreateJs + Sublime Text2 で試してみました。 ParticleEmitterJS については、Clockmaker さんの記事 や にゃあプロジェクトさんの記事 で紹介されています。 で、これを Haxe でやろうとしたところ… Haxe で ParticleEmitterJS をどうやって使うのかがわからないじゃないですかw リファレンスをみてみると「extern クラス」を使えと書いてあったので、こりゃめんどいなーと思いながらも extern クラスを作ろうとしたのですが、もうちょっとググってみると… クラスメソッドのブログで Taiga さんの記事 を見つけました。 こちらに ParticleEmitterJS の extern クラスが用意されていたので、これを参考にしてやって
何も予備知識がない僕が Google先生に教えを請いながら何とか Haxe + CreateJs を Sublime Text 2 で開発する環境ができたっぽいので自分用にメモ。 1. Haxe のインストール 公式サイトから Haxe Toolkit をダウンロード http://haxe.org/?lang=jp .pkg インストーラーなので手順通りに簡単インストールするだけ。(Macの場合) 2. プラグインのインストール 1. haxelib のセットアップ ターミナルで下記コマンドを実行 $ haxelib setup 実行後 Hit enter for default (/usr/lib/haxe/lib) と訊かれるけど めんどくさいからデフォルトで。 2. CreateJs のインストール ターミナルで下記コマンドを実行 $ haxelib install createj
先日公開された Adobe AIR 3.8 Beta から DatagramSocket(UDPソケット)がモバイルAIRでも使えるようになったということだったので… DatagramSocket を使用してデータの送受信を行っている AR.Drone を AIR for iOS で飛ばせるかどうか試してみました。 ※ Adobe AIR 3.8β についての新機能はこちらにわかりやすく書かれています。 AIR で AR.Drone を飛ばす試みは以前のエントリーでいろいろ書いていましたが、AIR 3.7 までは DatagramSocket がデスクトップAIRでしか使用できなかったため、Drone を飛ばす際、飛行操作は iPhone や iPad でできても、モバイルAIRではDroneと直接通信する手段がなかったため… Droneとモバイル端末の間にデスクトップAIRのアプリを起動
先日お仕事でちょっとした音ゲーを作らせていただく機会があったので仕組みについてメモ。 下のリンクが今回制作させていただいたゲームになります。(主に AS3 でのプログラミングを担当しました) ONI RHYTHM(オニリズム)| ワンダーエージェント:FOURTH SEASON 音ゲーといえば曲のビートとゲームの挙動をシンクロさせないと何も始まらないのですが、今回は SiON を使用してビートとゲームの挙動をシンクロさせています。 曲のビートとシンクロさせる基本的な仕組みはこちら。 SiON MP3 and Beat Example – wonderfl build flash online ビートの同期については、曲のBMPを決めて(サンプルでは BPMAnalyze.estimateBPM() で .mp3 の BPM を取得しています)SiONTrackEvent.BEAT で BP
先週末、東京から AKABANA の有川さんが Leap Motion を持って弊社に遊びに来てくれたので、せっかくなので勉強会をやりました。 今回はとりあえず Leap を動作させてみたあとに、GitHub で公開されている SDK のコードを解析して、これで何ができそうなのかなど、参加者でディスカッションしたりしてみました。 そこでわかったこと(?)というか、気づいた点は有川さんが facebook にポストしてたので、ちょっと追記して転載しておきます。 ・アプリ開発は C++ / ObjC / Java / as3 / js でいけそう ・サーバが起動する ・他のデバイスからアクセスできる (TCP Socket 経由でネットワーク接続できる) ・検出モードは三種類 (精密、スピード重視、その中間) ・手とその向き。+ 加速度 ・指とその向き。+ 加速度 (加速度が API から取得
ちょっと仕事がらみでユージン先生作の超素敵な AR エンジン「IN2AR」を試していたなかで、AR マーカーファイルをアプリにエンベットせずにサーバー上から動的に読み込んでも無事動作したのでちょっとだけメモ。 マーカー読み込み部分のコードはこんな感じ。(エラー処理は省略) private var _loader:URLLoader; private var _markerData:ByteArray; private function dataLoader():void { var req:URLRequest = new URLRequest( "マーカーデータのURL" ); req.contentType = "application/octet-stream"; // URLLoaderDataFormat.BINARY でロード _loader = new URLLoader()
噂の Makey Makey が届きました。 そこで、オフィシャルサイトの動画で、水を使ってゲームを操作しているヤツがあったのを思い出して、ホントに水で動くのかどうかをとりあえず試してみました。 動いている様子はこんな感じ。 ついでにミカンでも試してみました。 (手つきがエロいとツッ込まれましたがこれは仕様です) 使い方は簡単。 接続は、Mac と Makey Makey を USB で接続。 そしてMakey Makey のグランドに線をつないで、あとは Makey Makey に割り当てられたキーのうち好きなキーの接点か、これも最初から割り当てられてるマウスクリックの接点につなぐだけで準備完了です。 今回の場合は、グランドを片手に持って、マウスクリックの接点につないだ線をコップの中の水に浸して… その水に指をつっ込んだだけです。 簡単ですね。 これだと Flash のコンテンツでも簡単
2012 年 8 月 25 日に福岡国際会議場で開催された【FxUG 第173回 勉強会@福岡】に参加してきました。 今回の FxUG は、下記の通り、いつもより5割増しくらいの密度の濃さで… いろんな話題で盛りだくさんのセッションでした。 —– Deep Dive into Stage3D ~Away3Dを使ったクロスプラットフォームな3D制作~ by 株式会社ICS 池田 泰延 氏 twitter: @clockmaker blog : http://clockmaker.jp/blog/ —– Alternativa3Dを使ったゲーム開発について by 松瀬 隆一 氏 twitter: @matsuse blog : http://www.loveloveheart.com/ —– モバイル開発の最前線:AIRでモバイルアプリ作成 by AKABANA 有川 榮一 氏 witter
AIR for iOS で作成しているアプリで、iPhone で撮影した写真の向きを調べるため Exif を取得しようとしたら、予想以上に手こずってひどい目に遭ったので忘れないようにメモ。 JPEG 画像から Exif を取得できるライブラリとして Exif library AS3 がありますが、このライブラリを使用して iPhone で撮影した写真の Exif を取得して Orientation を調べようとしましたが何故かうまくいきませんでした。 (参考:Exif の Orientation 一覧) こりゃこまったなーと思いながら色々調べてみると… Reading exif data on iOS (Adobe AIR) というタイトルのブログの記事を見つけて、ここ書いてあるとおりに ExifInfo のソースを書き直すと無事読み込めるようになりました。 どのように動作するか見てみたい
AIR for iOS でのビデオを再生するアプリで、ビデオ映像が再生できないケースが発生してちょっとハマったのでメモ。 AIR for iOS で flash.media.Video クラスを使って H.264 ビデオを再生しようとしたら、FlashBuilder のシミュレータでは再生できるけど実機では再生できず、H.264 のプロファイルをいろいろ変えて試してはみたのですがやっぱりダメでした… flash.media.Video を flash.media.StageVideo に変更すれば問題なく再生できるのですが、他の DisplayObject の上に Sprite 内に配置したビデオを表示する必要があるので、これは使えません。 なので、ビデオを FLV(On2 VP6) に変えてみたらなんとか再生できたのですが、FLV だと画質的にはちょっとアレで…これじゃぁ地味に不便なので
画像認識のフレームワーク OpenCV が使える ANE( AIR Native Extension )を見つけたので、付属のサンプルコードをちょちょっといじって、上のスクリーンショットのような Desktop AIR 用「のぞき見アプリ」を作って遊んでみました。 これ、どんなアプリかといえば、OpenCV で見ている人の顔を追跡して、顔の位置に応じて Away3D 4.0 のカメラをグリグリ動かしています。 顔の位置にカメラが付いてくるので、表示されている 3Dモデルを上下左右からのぞき込んだり、近くに寄ったり遠くに離れたりして… こんな感じで動きます。 これまでも Flash で顔認識を実装したライブラリはあったのですが、OpenCV からの移植版で動作がもっさりとしたものばかりで、3D と組み合わせるととても恐ろしいことになっていましたが、ネイティブの C++版 OpenCV をラッ
FlashBuilder 4.6 で作ったAdobe AIR の API を含むライブラリから、ASDoc の書き出しでちょっとハマったのでメモ。 FlashBuilder からの ASDoc 書き出しは http://blog.asial.co.jp/692 にわかりやすく解説してあるのでこちらを参照していただくとして… AIR を使わないライブラリだとここに書いてある方法で出力できるのですが、AIR を使っているとエラーが出て(文字化けしているので何が書いてあるかは分かりません…)出力に失敗します。 これではちょっと困るので、色々と調べていると… http://blog.suz-lab.com/2009/03/flashdevelopairasdoc.html に FlashDevelop での解決方法がありました。 それで早速これを真似してみようと思ったのですが… FlashBuil
Adobe のサンプルに ジャイロスコープ(Gyroscope)の ANE があったので、ちょっと試してみました。 ちなみにジャイロスコープとは何かというと、XYZ3軸の回転角度が取得できるセンサで、値は[ラジアン / 秒]で返ってきます。 iPhone のジャイロについてはここにわかりやすい説明があります。 このジャイロから、先に紹介した ANE(Netive Extention)を使用して値を取得し、この値を利用して Away3D 4.0 Beta のカメラをグリグリ動かしてみる AIR for iOS のアプリを試しに作ってみました。 (動画を表示する VideoPlayer は StageVideo を使用していますので見れない方はこちら) 今回のデモのコードはこんな感じです。 /* Gyroscope の ANE に付属の Gyroscope クラスをインポートして使用しています
今日も定時を過ぎたので、ちょっとだけ Away3D 4.0 Beta の勉強を。 以前 wonderfl に PV3D を使った こういうの をポストしたことがあって、これになんかいい感じのエフェクトを付けてみたかったんですが激重で… 動かすだけで一杯一杯だったのであっさり断念しました。 そして月日は流れ、Stage3D を手軽に使える便利な世の中になってきたので、今回は Away3D 4.0 を使って再挑戦してみました。 で、なんとなくできたのがこれ。 ※ 画像をクリックするとデモが開きます。 今回のコードはこんな感じ。 away3d.filters.BloomFilter3D でキラキラ効果を付けています。 package { import away3d.cameras.Camera3D; import away3d.cameras.lenses.PerspectiveLens; im
AR.Drone for AS3 を使用した AIRアプリ + iPadアプリと、Away3D 4.0 Beta を使用した Flash を RTMFP で連携させて、Drone から取得できる飛行データを利用した 3Dドローイングの実験をやってみました。 Drone から取得できる Roll と Yaw(傾斜角度)と、X,Y,Z の移動距離(?)と、飛行高度を利用してこんな感じで描画します。 ※画面を動画でキャプチャしながらの映像なので 3D の Flash がガクガクしてますが、実際のフレームレートは 60fps 近く出ています。 今回使用した Away3D で描画する Flash のコードはこれ。 package { import away3d.cameras.Camera3D; import away3d.cameras.lenses.PerspectiveLens; import
Away3D 4.0 Beta でプリミティブの球体の頂点(vertexData)を取得して、その頂点に向けてランダムな位置からラインを引いてみたらこんな感じになりました。 画像クリックでデモ画面が開きます。 ※ FlashPlayer 11 および GPU レンダリングが出来る PC が必要です(たぶん) コードはこんな感じ。 package { import away3d.cameras.Camera3D; import away3d.containers.Scene3D; import away3d.containers.View3D; import away3d.core.base.SubGeometry; import away3d.debug.AwayStats; import away3d.entities.Mesh; import away3d.entities.Segme
先日 Stage3D本 も届いたことだし、ちょっとだけ Away3D 4.0 Beta をさわって遊んでみたら、こんなのが出来ました。 画像クリックでデモ画面が開きます。 ※ FlashPlayer 11 および GPU レンダリングが出来る PC が必要です(たぶん) ちなみに負荷など何も考えずこれだけ適当に作っているのに、僕の環境では「MacPro 2008 で 58〜60 fps」「MacBook Air 2011 で 35〜40 fps」程度のフレームレートで動作しました。 (MacBook Air 2011 は再起動したら MacPro と同様に 58〜60 fps 出るようになりました。) 今回のコードはこんな感じ。 package { import away3d.cameras.Camera3D; import away3d.containers.Scene3D; impor
最近ちょっと仕事が忙しくなってきたことと、AR.Drone からの映像の取得でつまづいて開発が滞っている AR.Drone for AS3 ですが、先日「RTMFP 野郎の会」が開催されて以降ブーム(?)の RTMFP を使って、モバイルデバイス(iPhone, iPad)で操作する実験をしてみました。 まぁもともとこの Drone のネイティブの開発環境では iOS を使用したモバイルデバイスで飛ばすことは普通なのですが、今回は AS3 で飛ばすというプロジェクトなので、Drone とのデータの送受信に不可欠な flash.net.DatagramSocket がモバイルデバイスでは使えないため… デスクトップアプリを中間サーバとしてシステムを作る必要がありました。 で、今回の動作フローとしては… 1. AR.Drone に内蔵されているルータに Mac と iPad を WiFi で接
Procesing から Kinect や Xtion を使えるようにする SImple OpenNI(http://code.google.com/p/simple-openni/)を試してみました。 今回は以前勉強会用に作ったこれ(https://www.digifie.jp/blog/archives/579)を Simple OpenNI 版に改造してみました。 OpenNI 版では… ・Xtion と Flash Xtion(OpenNI)→ AIR2.0(NativeProcess)を使用して… Xtion で取得した手の座標を送信する簡易サーバをつくり… RTMFP で Flash に値を送信しています。 という手順で Flash に Xtion から取得した座標情報を送っていたのですが、 今回の Simple OpenNI 版では… ・Xtion と Flash Xtion
これまでの記事で AR.Drone を Prcessing のライブラリ ARDroneForP5 で飛ばしてみたり、ARDroneForP5 と Flash をソケット接続して Flash で Drone を飛ばしてみたりしてみましたが… 昨日 Twitter 上で、数名の Flash のエキスパートの方々にいろいろとご教授いただいたところ、「Flash から直接 AR.Drone へコマンドを送信しても飛ぶんじゃね?」ということになったので… さっそく試してみました。 この「Flash から直接 AR.Drone へコマンドを送信しても飛ぶんじゃね?」というクエスチョンの答えからいうと飛びます。 もう一度言います。 Flash から直接 AR.Drone へコマンドを送信してもDrone は飛ばせます。 というわけで、取り急ぎ Takeoff と Landing のコマンドだけ送信でき
AR.Drone を Processing で操作できるようなるフレームワーク ARDroneForP5 を使って、AR.Drone を飛ばす実験に成功したため、次のステップとして Flash で作った UI から操作できないかを試してみました。( ARDroneForP5 の詳しい説明はこちら) ちなみに、こんなことやる意味があるかということについてのツッ込みはナシの方向でおねがいします… 下の動画が飛ぶ様子なのですが… またしても狭い室内で試したのであまり飛ばせませんでしたが、一応こんな感じで飛びました。 で、実装の概要ですが、Flash と Processing 間の通信はこの記事の時に検証済みでしたので、今回も Flash と Processing をソケット(バイナリ)で接続して、Flash 側の UI 操作の結果をソケット経由で ARDroneForP5 に送るようにしました。
OpenKinect の Processing 版であるこれを試してみました。 しかしただ試すだけでは面白くもなんともないので、Processing でソケットサーバを作って Flash と通信させて何かやってみることにして… なんとなく出来たのが、これです。 で、上のヤツをちょっとだけ発展させてみたのがこれです。 使っているのは深度情報を利用したハンドトラッキングだけなので、Processing 側も Flash 側も 60fps でやってみたところそれなりの速度で動いているようです。 但しこのライブラリでは OpenNI などを使う場合と違って、仕組み上スケルトンは利用できないので、スケルトントラッキングは必要とせずなんとなく手の座標だけが取れればいいとか、被写体との深度情報だけが取れればいいというような場合は、こっちの方が高速で使いやすいのではないかと思いました。 参考のため、今回使
一時的ながら、やっとクライアントワークが落ち着いてきたので、Unity の Flash エクスポートを試してみました。 適当に小一時間でプリミティブを並べただけの Unity アプリを作って、エクスポートしただけの単純なデモですが、思った以上に簡単で驚きました。 Flash エクスポートの手順としては下記の通り。 Unity のメニューバーの「 File > Build Settings… 」で「FlashPlayer(Preview)」を選択して、Buildボタンか Build and Runボタンをポチッと押して… しばらく待つだけで swf と html や swc(これは何に使うのだろう?他のアプリケーションにクラスとしてインポートできるのだろうか? AKABANA さんのブログに使い方がありました )が書き出されます。 で、Unity はほとんど触ったことがない僕でも小一時間でち
2月25日(土曜日)に地元福岡で開催された、RIA / AIR の勉強会「Flex勉強会第163回@福岡」に参加してきました。 この日のセッションは、 『 Flex/AIRを使ったスマートフォンとタブレットアプリケーション開発について』 by AKABANA 有川 榮一 氏 twitter: (@_a1j_) http://akabana.info/ 『 Flash, AIR を使用した展示系コンテンツの開発について』 by 合同会社デジフィ 吉田 和隆 氏 twitter: (@mousepancyo) http://www.digifie.jp/ 『AIR for Andoridで高速演算!ネイティブ拡張(ANE)とNDKによるチューナアプリ開発について』 by 九州大学大学院 修士課程 直江 憲一 氏 twitter: (@kirl0076) 『RIA開発におけるサービス開発の現状に
仕事がアレで全然触れてなかった Xtion(例のKinectのちっこいヤツね)を、OpenNI(NiHandTracker)と Flash(AIR 2.0 NativeProcess))で結合させて、以前 Wonderfl にポストしていた WebCmera を使ったモーショントラックで遊ぶヌンチャクごっこを、精度が高い Xtion版として作り直してみました。 動作のデモ映像はこちら。 (ヌンチャクの綴りが間違っているようですが気にしない気にしないw) で、Flash と Xtion をどうやって結合したかといえば… AIR 3.0 の ANE(ネイティブ拡張)を使用してくっつけようかとも思ったのですが、今日一日しか触れる時間が取れそうになかったので、安全策(?)をとって、AIR 2.0 の NativeProcess API を使用して C++(OpenNI)のコンソールアプリケーション
Kinect と同様のモーションキャプチャが取得できて、しかも USB Bus Power で動いてくれるという話題のデバイス、Xtion(エクシオン?エクティオン?なんて読むんだろう…)を衝動買いしてしまったので NITE のサンプルコードが動くところまで試してみました。 開発および実行環境のセットアップは Kinect の時とほぼ同じ手順でできました。 Windows と Linax は SDK が付属していましたが、今回使用した Mac は公式にサポートされていないようですので以下の手順でセットアップを行いました。 ※ 以前入れていた Kinect の開発環境は念のため最初にアンインストールしました。 それでは手順です。 1. libusb のインストール ターミナルで $ sudo port install libusb-devel +universal として libusb をイ
次のページ
このページを最初にブックマークしてみませんか?
『::DigiFie:合同会社デジフィ::福岡を拠点とする「展示システム」「インタラク...』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く