SSブログ

「魔法の杖」アプリ [OpenCV関係]

こないだ作った「魔法の杖」アプリをベータ版として公開することにした。まだ全然完成度が低いので公開するつもりはなかったんだけど、自分の環境だけでは確認できないことが多いので、他の人に見てもらおうと思った。できれば小さなお子さんのいる人に、子供のおもちゃとして動作させた様子を教えてもらえればありがたいです。よろしくお願いします。

ダウンロードはここから(zip圧縮3.6MB)

ベータ版という位置づけなので、アプリはFaceTimeカメラからの画像にパーティクルを重ねるだけで、パラメータの調整などはまったくできなくて、決めうち。日本語リソースも無くヘルプも無し。

動作環境は
  • OS X10.7Lion以降
  • FaceTimeカメラを内蔵したiMacやMacBook Pro/Airか、AVFundationが認識できるWebカメラなどが接続されたMac mini/Mac Pro

ところで、アプリの名前「Magiquand」は「Magic Wand(魔法の杖)」と発音は同じになる。アプリの名前はアプリアイコン
0830magiquand.png
(うう、ダセぇアイコン、他人のだけど)と同じようにプログラミングとは無関係だけど、かなり悩ましい問題。これはけっこういい名前だろうと思ったんだけどググると他所のサイトがヒットする。残念。

僕のアプリにしては巨大(10.1MB)になってるけど、OpenCVをプライベートフレームワークとしてバンドルに含めてしまったせい。僕として確認したいのは
  1. OpenCVのプライベートフレームワークがちゃんと動作するか
  2. 違う解像度やアスペクトのカメラでどのように動作するか
  3. 他にいいアイデアは無いか
の3点。もちろんこれ以外に、動かしてみて感じることがあればぜひメールしていただきたい。

最初にも書いたけど、ベータ版なので
  • たいしたアプリではないのに大きい
  • 実行時のメモリ要求も大きい
  • CPU負荷も高い
  • ユーザはカメラに写ること以外することがない
などなど、問題は多い。その原因の多くは僕がCALayerの使い方をよくわかっていないせい。CALayerはこれまでのOS Xのプログラミングスタイルとは違う点が多くて、なかなか馴染むまで試行錯誤が必要になっている。

ところでOpenCVのフレームワーク全体をバンドルに含めるとこの倍のサイズになる。実はアプリで使わないdylibはフレームワークから削除してバンドルに入れた。含まれているのは
  • libopencv_core.2.4.6.dylib
  • libopencv_imgproc.2.4.6.dylib
  • libopencv_video.2.4.6.dylib
の3つだけ。インチキプライベートフレームワーク。さらにソースをアプリに含めて必要なところだけコンパイルして含めるようにするとさらに半分になる。そこまでするか、という気もするけどOpenCVはBSDライセンスなのでそういうのも許される(と僕は理解している)。ソースはあまりにも汚くて恥ずかしいので、ベータがとれるまでにちゃんと整理した上で公開することにする。

ベータがとれた版では
  • 半分のアプリサイズ
  • 半分のメモリ要求
  • パーティクルのパラメータをユーザ設定可能に
を目標にしたい。最終的には、このアプリでも利用したOpenCVのオプティカルフローを使って、カメラの前のジェスチャによるアプリの制御に流用したいと思っている。

みなさん、よろしくお願いしまうー。
nice!(0)  コメント(3)  トラックバック(0) 

nice! 0

コメント 3

おれんじ

数学やプログラミングの話題は、よく理解できないながら、興味深く読ませていただいています。

Magiquand ですが、当方の環境では動きませんでした。
iMac 21.5" (Mid 2011)
OS X 10.8.1

起動しようとすると「問題が起きたため、Magiquand (Beta) を開けません。」と出ます。

Dyld Error Message:
Library not loaded: @loader_path/Libraries/libopencv_flann.dylib
Referenced from: /Applications/Magiquand (Beta).app/Contents/Frameworks/opencv2.framework/Versions/2.4.6.1/opencv2
Reason: image not found

by おれんじ (2013-09-02 01:17) 

decafish

コメントありがとうございます。
すみません、やっぱりOpenCVのプライベートフレームワークがまずいようです。
確認してみます。
by decafish (2013-09-02 06:35) 

decafish

修正版を作ってみました。
http://decafish.blog.so-net.ne.jp/2013-09-02-1
お手数ですが、確認よろしくお願いします。
by decafish (2013-09-05 12:26) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

献立08/30献立08/31 ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。