から機能追加しました!!
・財布画像アップデート
twitter上で前回の動画に言及してくれていた
ちょりさん(http://www.nicovideo.jp/mylist/15194746)に
ダメもとで財布イラストを依頼してみたところ,
キレイな財布イラストを描いて頂きました.
本当にありがとうございます!!
・小銭音再生機能
加速度センサの値を取得して,激しく振りが検出された場合に
小銭の音が鳴ります.
・スライドして段階的にバリバリ鳴る
指をスライドすることで段階的にバリバリ鳴ります
・財布の開閉が可能
指を上下にスライドすることで財布が開閉します.
※バリバリ音は開くときのみに鳴ります
・「やめて!!」表示機能
振ったとき or たくさんスライドすると「やめて!!」という
メッセージが表示されます.
AppStore申請完了しました!!
受領されたらアプリの配信URLと動画を公開したいと思います.
このエントリの続きを読む »
1 コメント »
昨日の酒の勢いで,「彼氏の財布がマジックテープ式だった」を
iPhoneアプリで再現してみました.製作時間1時間ということで
かなりヘタレな実装ですが,マジックテープ式財布を扱った
iPhoneアプリとしては世界初なはず!!(多分)
絵が得意な方がいらっしゃいましたら,絵を提供下さい。。。
動画にある絵はパワポでてきとーに描きました(苦笑)
某絵師さんに財布のイラスト依頼しました!!
*************************
【追記(2009/10/26)】
タグがカオスな感じになってきた!!
「無駄に高画質」タグはちょっと意外だったかも.
無駄って言うな-!! ヽ(`Д´)ノウワァァァン
#ビデオカメラ持ってるのに出すのが面倒でデジカメで撮りました.
あと,「実写でもいいんじゃね」,「くだらねぇww」
ってコメントに対しては,自分でもそう思ってるので
全く反論の余地がありません(汗)
【追記(2009/11/1)】
描画方法をOpenGL ESに変更したり,100均でマジックテープ入手して
サンプリングしたりしてます.短い音をスワイプ量によって鳴らして
それらしく鳴るのかはやってみないとなんとも。。。
#コメントが流れすぎて要望機能の全てを拾えないかも.
今週末くらいに形になって,気分が乗ったらAppStoreに申請したいな-と.
このエントリの続きを読む »
コメントなし »
GAINERをC++で扱うライブラリgainercxx v0.1をリリースしました.
詳細はgainercxx公式サイトをご覧下さい.
現在,和文ドキュメントを作っていないので時間を見つけて作りたいな-と思っています.
あと,いくつか未実装のAPIがあるのでその辺は追々実装したいところ.
というわけで,ソースコード,ドキュメントも置いてあるので
ツッコミ等があればコメント欄 or メールでお願いします.
それにしても地味に疲れたなー.主に英語ドキュメント作成が。。。orz
コメントなし »
GAINERをC++で扱うライブラリをごにょごにょと整理中.
昔自分で書いたコードがコールバック関数をセットしないと落ちるようになっていて泣いた。。。orz
とりあえず,GAINERについているボタン押したとき,離したときのイベント発行等を確認.
APIとしてはこちらのサイトにあるのに近いかなと.
基本的にはprocessingにあるGAINERのAPIに合わせるつもりです.
あとはドキュメント整備かな-.これから英語がさらに必要になりそうなのでドキュメントは
英語で書こうかと思っています.日本語での需要があれば後で書きます(多分)
#Doxygenで生成するドキュメントのローカライズってどうすれば効率良いんだろう??
というわけで,アルファ版的なものを今週末に(できたら)リリース予定です.
やる気の波が非常に激しいdandelionの頑張りにご期待下さい(苦笑)
#とか書くとなんか打ち切りフラグのよう(以下略)
コメントなし »
dandelion’s log » CV・ARに関する普通じゃない勉強会で発表した
GAINERをC++で扱うライブラリ(for Windows)の公開準備中です.
自由に使って欲しいのでMITライセンスで配布予定.
#公式サイト,README,COPYING,ChangeLogを途中まで作って疲れた(苦笑)
#英語面倒くさい。。。orz
あと,現在,自身の環境ではWindows Vistaでしか動作確認できないため,
GAINERをお持ちでWindows XP環境で動作確認して頂ける方がおられましたら,
までご連絡下さい.
準備ができ次第追って連絡させていただきます.
■サンプル動画
加速度センサの値をもとにティーポットを傾けるサンプルプログラム.
Get the latest Flash Player to see this player.
加速度センサの値をもとにウマウマ(゚∀゚)するサンプルプログラム.
コメントなし »
あの楽器関連の進捗.
OSC(Open Sound Control)関連のライブラリを調査してみました.
※現段階でライセンスがGPLとわかっているものは除外.
・ObjC OSC
Objective-CによるOSC実装.iPhoneアプリに使うならこれが一番簡単?
ライセンスをこれから確認しないと。。。
・oscpack — a simple C++ OSC packet manipulation library
C++によるOSC実装.BSD-style license.
これをObjective-Cに移植するって手もありか?
ということで,とりあえず,Mac環境でoscpackライブラリを生成して,送受信サンプルプログラムを動作させる
ところまでやってみました.すんなりとObjective-Cに移植できるのかな??
************************
最近,第三者視点で顔色が悪いらしい.気付かなかった!!
言われてみればそんな感じがするような,しないような(←よくわかってない)
自覚が無いあたりがいろいろマズい気がする。。。orz
その辺にはあまり興味が無いんだろうな>自分
とりあえず,今日は早めに寝よう.
コメントなし »
動画投稿完了.昨日寝る前にやろうと思ったらアップロード300人待ちだったので,
諦めました.なので起きてから投稿.
基本的に前のエントリに書いたことを動画にしただけです.
#動画作成がどんどん適当になっているのは仕様d(以下略)
あと,サウンドエフェクトをちょっと勉強するために,
を買ってみました.C言語のサンプル付き(※ここ重要)で
説明もわかりやすいので初学者には良さそうですね.
*************************************
話ががらっと変わりますが,
@IT:OSSライセンスが求める条件とは?
という記事がわかりやすいです.OSSライセンスの説明には難しい用語がたくさん出てくるので
腰を据えて読むのが大変なんですが,この記事はよくまとまっているかなと.次回の記事を楽しみにしておきます.
コメントなし »
巷で流行のAdobe AIRアプリ開発の手始めとしてmp3 player(らしきもの)を作ってみました.
【参考サイト】:Adobe AIRでクールなMP3プレーヤーを作ってみる:CodeZine
ということで,上記サイトを読み始めると,
<対象読者>
* Flash、Flexでの開発経験のある人。
* 基本的なActionScript3.0の知識のある人。
* プラットフォームを問わないアプリケーションを開発したい人。
と書いてあったりします.
ええと,ちなみに自分のステータスについてですが,
* Flash、Flexでの開発経験のある人。 → 全くありません。。。orz
* 基本的なActionScript3.0の知識のある人。 → (ほとんど)ありません。。。orz
* プラットフォームを問わないアプリケーションを開発したい人。→ ちょっと興味アリ
ということでいきなり幸先が不安な感じです(苦笑)
まぁ,「細かいこと考えるより手を動かそう!!」という軽いノリでスタート.
上記サイト読みつつ,紹介されているものと同等の機能は10分位で実装完了.
ただ,差分機能を付けないと何だか負けな感じなので,ActionScriptのAPIを調べて,
PauseボタンとProgressBarを追加してみました.
あと,Openボタンの右側のテキストフィールドにはファイル名だけ入れるように
したかったんですけど,mp3のID3タグに格納されている曲名って文字コードが
Shift-JISだったりUTF-8だったりして,ちゃんとやろうと思うと文字コード判定,
文字コード変換が必要なので今回は諦めました orz (ActionScript初心者には荷が重かった。。。)
というわけで,今回の成果物を公開してみます. → download
※実行にはAdobe AIRランタイムを事前にインストールしておく必要があります.
全くのAdobe AIR初心者でも1時間位でmp3 player(らしきもの)が作れちゃう
この敷居の低さはスゴイなーと思いました.> Adobe AIR
コメントなし »

実例で学ぶゲーム3D数学
著者/訳者:Fletcher Dunn Ian Parberry
出版社:オライリージャパン( 2008-10-04 )
定価:¥ 3,570
Amazon価格:¥ 3,570
大型本 ( 484 ページ )
ISBN-10 : 4873113776
ISBN-13 : 9784873113777
をO’Reilly様より献本頂きました.ありがとうございます.
読了後レビューを書かせていただきます.
ということで,気分も乗ってきたので
OpenCVのCVS版(20081010)で遊んでみた
というエントリで試したSURFを動画に適用してみました.
※追跡対象は
「実例で学ぶゲーム3D数学」です.
ある程度オクルージョンが発生してても追跡できてますね.
Get the latest Flash Player to see this player.
1 コメント »
PS3Eye Camera SDK for use in your own applications!!! « Alex Popovich’s Weblogより,
PS3用のwebカメラPlayStation EyeをDirectShowでキャプチャするためのライブラリ
PS3EyeLibが公開されたようです.
AlexPさん,ありがとう.
これで先走って買ってしまったPlayStation Eyeも自作アプリで活用できます!!
ということで,早速配布されているSDKを利用し,OpenCVと組み合わせたサンプルを紹介します.
※上記サイトのサンプルを少しいじっただけですけど。。。
間違い等ありましたら,ご指摘ありましたらよろしくお願いします.
(気が向いたら)wikiの方に利用方法を書くかもしれません.
※注意 下記コードの利用は自己責任でお願いします.
C++:
//----------------------------------------------------------------------
// 概要 : PS3EyeLibを用いたキャプチャサンプル
// ファイル名 : CapturePS3Eye.cpp
// 使用ライブラリ:
// OpenCV for MS-Windows 1.1
// http://sourceforge.net/projects/opencvlibrary/
//
// PS3EyeLib
// http://alexpopovich.wordpress.com/2008/10/20/ps3eye-camera-sdk-for-use-in-your-own-applications/
//
// Author : dandelion
// Date : Oct 22, 2008; 20:00
//----------------------------------------------------------------------
#include <iostream>
#include <cstdlib>
//ヘッダインクルード(OpenCV関連)
#include "cv.h"
#include "cxcore.h"
#include "highgui.h"
//ヘッダインクルード(PS3EyeLib関連)
#include "IPS3EyeLib.h"
//ライブラリ読み込み(OpenCV関連)
#pragma comment(lib,"cv.lib")
#pragma comment(lib,"cxcore.lib")
#pragma comment(lib,"highgui.lib")
//ライブラリ読み込み(PS3EyeLib関連)
#pragma comment(lib,"PS3EyeLib.lib")
#define CAPTURE_WIDTH 320 //キャプチャサイズ(幅)
#define CAPTURE_HEIGHT 240 //キャプチャサイズ(高さ)
#define FPS 30 //フレームレート
#define COLOR_DEPTH 24 //depth
using namespace std;
// 利用可能フォーマット表示関数(プロトタイプ宣言)
void displayAvailableFormats(void);
int main(int argc, char *argv[])
{
int key = 0;
//キャプチャ画像
IplImage *image = cvCreateImage(cvSize(CAPTURE_WIDTH, CAPTURE_HEIGHT), IPL_DEPTH_8U, 3);
//ウィンドウ
char* window_name = "Capture using IPS3EyeLib";
cvNamedWindow(window_name, CV_WINDOW_AUTOSIZE);
// PS3EyeLibオブジェクト生成
IPS3EyeLib *pCam = IPS3EyeLib::Create();
// 利用可能なフォーマットの表示
displayAvailableFormats();
// キャプチャフォーマットの設定
pCam->SetFormat(IPS3EyeLib::GetFormatIndex(CAPTURE_WIDTH,CAPTURE_HEIGHT,FPS));
// イメージ用バッファの確保
PBYTE pBuffer=new BYTE[(CAPTURE_WIDTH*CAPTURE_HEIGHT*COLOR_DEPTH)/8];
// キャプチャ開始
pCam->StartCapture();
//ESCキーが押されるまでキャプチャを続ける
while(key != 0x1b)
{
if(pCam->GetFrame(pBuffer, COLOR_DEPTH, false))
{
//キャプチャ画像をimageDataにコピー
memcpy(image->imageData, pBuffer, image->imageSize);
//画像表示
cvShowImage(window_name, image);
}
//キー入力
key = cvWaitKey(1);
}
// イメージ用バッファの解放
delete [] pBuffer;
// 後処理(PS3EyeLib関連)
pCam->StopCapture();
delete pCam;
// 後処理(OpenCV関連)
cvDestroyWindow(window_name);
cvReleaseImage(&image);
return 0;
}
// 利用可能フォーマット表示関数
void displayAvailableFormats(void)
{
cout <<"[Available Formats]" <<endl;
for(int i=0; i<IPS3EyeLib::GetNumFormats(); i++)
{
int width, height, rate;
char *description;
width = IPS3EyeLib::GetFormats()[i].width;
height = IPS3EyeLib::GetFormats()[i].height;
rate = IPS3EyeLib::GetFormats()[i].rate;
description = IPS3EyeLib::GetFormats()[i].formatTxt;
cout <<description <<endl;
}
}
現在,PS3EyeLibで利用できるのは以下のフォーマットのようです(※2008/10/22現在).
320x240@15fps,
320x240@30fps,
320x240@60fps,
320x240@75fps,
320x240@100fps,
320x240@125fps,
640x480@15fps,
640x480@30fps,
640x480@40fps,
640x480@50fps,
640x480@60fps,
640x480@75fps
4000円のwebカメラでこれだけできるなんて,コストパフォーマンスがスゴすぎると思います.
学生の方は研究のお供として1台あっても良いかも.
コメントなし »