投稿者: dandelion, カテゴリ: Mac
出版社サイト:
Quartz Composer Book —クォーツ コンポーザー ブック— (株式会社ビー・エヌ・エヌ新社)
を読みながら,サンプルをごにょごにょいじったりしています.
プログラミングの知識が無くても,自分のアイデアを簡単に可視化できるツールなので使っていて楽しい.
また,章ごとにあるプロローグ,エピローグはメッセージ性があって,単にツールの使い方に
とどまっていないのも個人的に好印象.
Macを持っている人で,Quartz Composer使ったことない人は一度遊んでみても良いかも.
コメントなし »
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台あっても良いかも.
コメントなし »
投稿者: dandelion, カテゴリ: 日々
巷で噂の電脳フィギュアがつい最近発売されたらしい.
#製品的にも技術的にも興味無いですが,ARの商用化事例として今後の成り行きには
#興味があるので(だいぶ離れて)静観の構え.
ただ,いろいろ不具合があるようで某巨大掲示板にもかなりの書き込みがある模様.
ざっと眺めた感じだと以下の不具合があるみたい.
(1)サーバからファイルがダウンロードできない
「電脳フィギュア ARis」のソフトがダウンロードできない不具合 - ITmedia +D PC USERの記事によると,
アクセスが集中したためサーバが処理できてないみたい.
それにしても,上記のITmediaの記事にある
昨日はアリスに「そんなのあんまりですぅ」と言わせてみたが、今日は逆に言わされてしまった……
アリスのキャラ設定にツンデレ属性はないはずだが。
という表現が皮肉すぎる。。。(うまいことまとめたなとは思うけど)
(2)アプリ終了時にプロセスが死なない
電脳フィギュア - サポートの
Q. アプリケーションを一度終了し、再び起動した際、「二重起動は出来ません!」というエラーメッセージが表示されます。
にも書かれているように,アプリ終了時にプロセスが残ってしまうバグがあるみたいです.
事前にテストされていれば気付きそうなものですが。。。
#イベント出展,PV作成等のPRに力を入れすぎてテストがずさんになった?
(3)処理が重い
AKIBA PC Hotline! Junk Blog.: ミニレビュー:電脳フィギュアを使ってみたにCPU使用率について
レビューがありますが,かなりCPUパワーを要するようです.
第弐回天下一カウボーイ大会で展示されていた時に動作が遅い感じがしたのは気のせいじゃなかったってことか。。。
#逆にCore 2 Quad Q6600をここまで追い詰めるのはスゴイ気がする(むしろ,どうやったらそうなるかが気になる所)
#これより低速なCPUってのはざらにあると思われるので,推奨動作環境以上に動作ハードルは高い?
また,社長のblogの
もち肌ビジネスマン奮闘記: 電脳フィギュア ダウンロード混雑&インストール不具合につきご迷惑おかけしております。
というエントリのコメント欄はかなり荒れている模様.リリース早々雲行きが怪しくなってきたようです.
*********************
【追記】
Google Analyticsのログを見たら,10/17のアクセスがやたらと多いので何事かと思い,
調べてみたところ,
「電脳タイプの次世代魔人形」 電脳フィギュアARis(アリス)発売 - アキバBlog
という記事にリンクされているのが原因っぽい.
あああああ,なんてところに目を付けられてしまったんだ。。。 orz
と地味に凹んでたら,某勉強会でお世話になった方の記事も紹介してあって何とも言えない安心感が(苦笑)
道連れ。。。じゃなかった,仲間がいた!!みたいな.
・
「攻殻機動隊」「電脳コイル」の世界を実現! - ARToolKitを使った拡張現実感プログラミング
・
『攻殻機動隊』『電脳メガネ』どころではない拡張現実感技術の現在 | 王様の箱庭
コメントなし »
投稿者: dandelion, カテゴリ: 日々
テクニカルエンジニア(ネットワーク)試験直前対策講座 < ITpro スキルアップ:ITpro
という便利なサイトがあることに昨日気付きました(遅)
それにしてもこのサイトはよくまとまっていてわかりやすい!!(もう少し前にこのサイトに気付いていれば。。。)
とりあえず,可能な限りあがいてみようと思います.
コメントなし »
OpenCV@SourceForge.netにOpenCV 1.1pre1がリリースされました(2008/10/16現在,Windows版のみ).
RecentChanges等の紹介は夜にでも書こうかなと(仮)
********************************
【追記】
早速ダウンロードして,下記の環境でビルドしてみましたが失敗。。。
OS: Windows Vista Ultimate
IDE: Visual Studio 2005 Pro
OpenCV: 1.1pre1(20081016)
highguiライブラリ(Debug版)生成時のリンクでこけますね.
あと,ソリューションの構成やリンクしているライブラリが一部怪しい気がする.
まぁ,pre1ってことなのでしょうがないのかな.今日はもう寝ます。。。
【追記②】
OpenCV 1.1pre1には
OpenCV\otherlibs\_graphics\src\libjasper
にあるべき,libjasper.vs2005.vcprojやその他もろもろのファイルが抜けている気がします.
そのため,CVS版からOpenCV\otherlibs\_graphics 以下のファイルを持ってきて,
OpenCV 1.1pre1のファイルと差し替えるとビルドは一応通りました.
後で1.1pre1とCVS版のdiffでもとってみるか。。。
コメントなし »
10/13(月) PM
来週,10/19(日)がネットワークの試験なので,
を片手にスタバで勉強.
ネットワークは用語が小難しくて相変わらず
やる気が起きない,じゃなくて苦手です.
#午後問題の解答なんかは,当たり前のことが書いてあるんだけどね(苦笑)
しかし,このエントリのタイトルだけ読むと,自信アリ・ナシどちらにもとれるなー.
まぁ,いろいろ察してください。。。 orz
************************************************************************
帰る途中にスーパーに寄ったら,夕食はスパゲティを作る気分になったので,
ミートソースを一からつくることに.
最近はスパゲティのソースをレトルトに頼りっぱなしだったんだけど,実家にいたとき(中学以前)は
ソースから作ってたので何も見ずに作れた.小さい頃の記憶は偉大.
自分で作った方がおいしいので,時間があるときはちゃんと作ろう.>自分
************************************************************************
OpenCVのCVSリポジトリを確認したところ,
・gcc 4.3を使ったコンパイルでwarningが出た箇所の修正
・サンプルプログラムの追加
・ドキュメントの追記
等が行われているようです.
もうちょっとでリリースされるのかな?
2 コメント »
OpenCVのCVS版(2008/10/10)をダウンロードして,いろいろ遊んでみました.
自身の動作環境は以下の通りです.
OS: Windows Vista Ultimate
IDE: Visual Studio 2005 Pro
DirectShow: Windows SDK v6.0
OpenCV: CVS版(20081010)
まず,気になる機能としてSURFがあるので,OpenCVで用意されているサンプルプログラム
C:\Program Files\OpenCV\samples\c\find_obj.cpp
を試してみました.
おおー,いろいろ応用できそうな感じですね.
***********************************
また,CVS版では,highguiのキャプチャ機能に
videoInput Libraryが
組み込まれているようです.なので,highguiで提供されているcvCreateCameraCapture関数で
DirectShowのキャプチャが利用できるようになるみたい.コード例を以下に示します.
C++:
#include <cv.h>
#include <cxcore.h>
#include <highgui.h>
#pragma comment(lib,"cv.lib")
#pragma comment(lib,"cxcore.lib")
#pragma comment(lib,"highgui.lib")
int main(int argc, char **argv)
{
CvCapture *capture = 0;
IplImage *frame = 0;
int c;
//カメラキャプチャ(DirectShow)の初期化
capture = cvCreateCameraCapture(CV_CAP_DSHOW);
//ウィンドウの表示
cvNamedWindow ("Capture", CV_WINDOW_AUTOSIZE);
while(1)
{
frame = cvQueryFrame(capture);
cvShowImage("Capture", frame);
c = cvWaitKey(1);
//ESCキーが押されたら終了
if(c == '\x1b')
{
break;
}
}
cvReleaseCapture(&capture);
cvDestroyWindow("Capture");
return 0;
}
といった感じで,これまでの記述と同じ感じでDirectShowのキャプチャが簡単にできるようになるようです.
※ただし,2008/10/10現在のvideoInput Libraryにはfps変更用のメソッドがないので,fps変更はできません.
ということで,
OpenCV/videoInput Libraryによるビデオキャプチャ
という記事の存在意義がなk(以下,自主規制)
1 コメント »
投稿者: dandelion, カテゴリ: 日々
NUI Group » Sony PS3 EYE running under Windows!!! **UPDATED** (Selectable Capture Frame Rate and Resolution)
を確認したところ,
*UPDATE* 10-01-2008
I just published the early version of PS3Eye Camera DirectShow Capture Source Filter.
You can find all the info and download the files here.
という記述を発見.
Sony PS3Eye Camera DirectShow Capture Source Filter « Alex Popovich’s Weblog
でDirectShow対応ドライバを配布しているみたい.ちょっと週末試してみる!!
ということで,先走って買ってしまったPlayStation Eyeも活用できそうです(苦笑)
コメントなし »