合計 昨日 今日

アバター
Dixq (管理人)
管理人
 
記事: 1596
登録日時: 2010年10月12日(火) 20:16
お住まい: 北海道札幌市
日記: 日記を見る (581)
日記
- 2月 2018
999 (0)
   2018年2月12日(月) 00:37
PS4のHDDをSSDにしたら爆速になった… (14)
   2018年2月08日(木) 23:43

+ 1月 2018
+ 12月 2017
+ 11月 2017
+ 10月 2017
+ 9月 2017
+ 8月 2017
+ 7月 2017
+ 6月 2017
+ 5月 2017
+ 4月 2017
+ 3月 2017
+ 2月 2017
+ 1月 2017
+ 12月 2016
+ 11月 2016
+ 10月 2016
+ 9月 2016
+ 8月 2016
+ 7月 2016
+ 6月 2016
+ 5月 2016
+ 4月 2016
+ 3月 2016
+ 2月 2016
+ 1月 2016
+ 12月 2015
+ 11月 2015
+ 10月 2015
+ 9月 2015
+ 8月 2015
+ 7月 2015
+ 6月 2015
+ 5月 2015
+ 4月 2015
+ 3月 2015
+ 2月 2015
+ 1月 2015
+ 12月 2014
+ 11月 2014
+ 10月 2014
+ 9月 2014
+ 8月 2014
+ 7月 2014
+ 6月 2014
+ 5月 2014
+ 4月 2014
+ 3月 2014
+ 2月 2014
+ 1月 2014
+ 12月 2013
+ 11月 2013
+ 10月 2013
+ 9月 2013
+ 8月 2013
+ 7月 2013
+ 6月 2013
+ 5月 2013
+ 4月 2013
+ 3月 2013
+ 2月 2013
+ 1月 2013
+ 12月 2012
+ 11月 2012
+ 10月 2012
+ 9月 2012
+ 8月 2012
+ 7月 2012
+ 6月 2012
+ 5月 2012
+ 4月 2012
+ 3月 2012
+ 2月 2012
+ 1月 2012
+ 12月 2011
+ 11月 2011
+ 10月 2011
+ 9月 2011
+ 8月 2011
+ 7月 2011
+ 6月 2011
+ 5月 2011
+ 4月 2011
+ 3月 2011
+ 2月 2011
+ 1月 2011
+ 12月 2010
+ 11月 2010
+ 10月 2010
フォロー
カテゴリー
日常
1 記事
フィード
1つ前へ次へ

KinectとOpenNI

パーマリンクby Dixq (管理人) on 2011年3月09日(水) 23:12

kinectでやろうとしたことと全く同じ事をニコニコに先にうpされたので意気消沈してましたけど、勉強を引き続きやってます。

何がしんどいってkinectをハックして使うための参考書やら参考サイトがあるわけじゃないし、
あってもほとんど英語だから頑張って英語読むか、サンプルプログラムを見て理解するしかない・・。
そして行列計算やOpenGLのコードがわんさか出てきます。

それに最近帰るのが遅いから家に帰って夕飯食べて風呂入ったら寝る時間・・学ぶ時間が無い(T_T

とりあえず忘れないうちに覚え書き。

GLを使うとコードが長くなるので、CVで試してみました。
参考にしたサンプルプログラムから更に不要な部分を限界まで削った最小プログラムがこちら。

コード[C++]: 全て選択
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <cv.h>
#include <highgui.h>
#include <XnCppWrapper.h>
 
#pragma comment(lib,"C:/Program files/OpenNI/Lib/openNI.lib")
#define SAMPLE_XML_PATH "C:/Program Files/OpenNI/Data/SamplesConfig.xml"
using namespace cv;
using namespace xn;
 
int main(){
    Context context;
    context.InitFromXmlFile(SAMPLE_XML_PATH);
 
    DepthGenerator depth;
    context.FindExistingNode(XN_NODE_TYPE_DEPTH, depth);
   
    ImageGenerator image;
    context.FindExistingNode(XN_NODE_TYPE_IMAGE, image);
 
    DepthMetaData depthMD;
    ImageMetaData imageMD;
 
    Mat depthshow, show;
    int key = 0;
    while ( key != 'q' ){
        context.WaitAnyUpdateAll();
 
        image.GetMetaData(imageMD);
        depth.GetMetaData(depthMD);
               
        Mat imni(480,640,CV_8UC3,(uchar*)imageMD.WritableData());
        Mat depth16(480,640,CV_16SC1,(unsigned short*)depthMD.WritableData());
       
        cvtColor(imni,show,CV_RGB2BGR);    
        depth16.convertTo(depthshow,CV_8U,-255/4096.0,255);
 
        imshow("depth",depthshow);
        imshow("image",show);
        key = waitKey(33);
    }
    context.Shutdown();
    return 0;
}


まずコンテキストはXMLファイルから生成するようです。
本サンプルはメタデータとしてRGBデータと、depthデータを取ってきています。
InitFromXmlFileでコンテキストを生成したら、rgm imageとdepthをFindExistingNodeします。

この関数の実体を見てみると
XnStatus FindExistingNode(XnProductionNodeType type, ProductionNode& node) const
となっていました。ProductionNodeクラスをアドレス参照していることに注意。

WaitAnyUpdateAllで情報を更新します。

image.GetMetaData(imageMD);
depth.GetMetaData(depthMD);

でimage, depthそれぞれのメタデータを取得します。

Mat imni(480,640,CV_8UC3,(uchar*)imageMD.WritableData());
Mat depth16(480,640,CV_16SC1,(unsigned short*)depthMD.WritableData());

は、きっと取得したデータをCVで使える行列に変換しておるのでしょう。
CVのMatクラスは使った事無いので後で勉強しておくことにします。

depth16.convertTo(depthshow,CV_8U,-255/4096.0,255);

はメタデータを画像データに変換してるのかな?
どっちにしてもMatクラスを勉強しなきゃ
後は

imshow("depth",depthshow);
imshow("image",show);

で表示してるだけですね。
こんな短くスマートにかけるのはCVならではですね~。
実行したらこうなります。

画像

いや~綺麗にdepthが取れるものですね。

コメント数: 2 閲覧数: 24607

くろびぃの新曲

パーマリンクby Dixq (管理人) on 2011年3月06日(日) 23:11

くろびぃとは私のリア友で、龍神録やAerobeatの効果音、Aerobeatのテーマ曲(http://dixq.net/music/Aerobeat.mp3)などを作ってくれた人です。
彼の家にはあふれんばかりの楽器や音楽ソフトがあり、いつも音楽の話をしてます。
好きなんですねぇ。
そんな彼が新曲を投下したようです。




なんかこんなのを見てると自分も何か作曲したくなってきます(´▽`)

ピアノ買ったのにずっと放置してあるし、、、。
最後に編集したユーザー Dixq (管理人) [ 2011年3月06日(日) 23:21 ], 累計 1 回

コメント数: 0 閲覧数: 24264

あ~やっと・・

パーマリンクby Dixq (管理人) on 2011年3月03日(木) 22:25

やっと終わった><
あ~もう北海道を走り回りたい気分w
ずっと気がかりだった論文も無事通ったし、今日発表終わりました(≧▽≦)
いや~緊張したけど、それだけに終わった時は

「いや~終わったぜ~(≧▽≦)」

って気になりましたw
休憩していたら、休憩ルームに入ってくる人たちが
皆(知らない人なのに)発表お疲れだったね~と話しかけてきてくれて色々話ができました^^

そして先輩が打ち上げやろうとダーツバー連れて行ってくれることになりました。
いっぺん行って見たかった

画像

に行って来ようと思いますヽ(´▽`)ノ
雰囲気よさそう♪

コメント数: 4 閲覧数: 26565

MMD杯第六回閉会

パーマリンクby Dixq (管理人) on 2011年2月27日(日) 22:24

MMD杯第六回終わりましたね~。
私は毎回この大会を楽しみにしています(´▽`)

すごい動画が沢山投稿されるのに、いつも優勝作品は「ん?」という作品がノミネートされる不思議w

なので勝手に私の中での一位と二位を発表します!

私の独断で勝手につけた優勝はこちら!


タイムクライシスをプレイしたことがあるならすごい「あるあるw」って思いながら見れると思いますw
これをMMDでやってしまったというのがすごい。
この動画を面白いと思った人は是非こちらも!
http://www.nicovideo.jp/watch/sm11977634
オチが用意してあるのがまたすごいw

続いて・・
私の独断で勝手につけた準優勝はこちら!


ゲキド街はやっぱこういうワクワクする戦闘シーンじゃないとね!
この人は過去にも面白い動画をアップしているので、この動画が面白いと思った人は是非こちらも!
http://www.nicovideo.jp/mylist/18852589
何故かこの人の作品ってすごいのに再生数が伸びない・・。
MMD杯では「スイカバー賞」という良く分からない賞受賞になるしw


いや~しかし今回も面白かったな~。
第七回は私も出てみようかな!

コメント数: 0 閲覧数: 24885

論文の次はプレゼン...

パーマリンクby Dixq (管理人) on 2011年2月27日(日) 02:57

論文はやっとの思いで出せました。
ホッとしたのもつかの間、来週の木曜日は論文発表会です(´~`;)

丁度1ヶ月前、仕事させて欲しいと言ってさせてもらえることになったのはいいものの、少しでもいい物を納品したくて毎日帰るのが遅い・・。
あんな時間じゃ自炊する気にもならず、コンビニ弁買って帰って食べて風呂入ったらもう寝る時間・・。

そんな中でプレゼン資料作り;
課長は「業務中に資料作っていいよ」と言って下さるもののそんな時間があるなら早く帰ってますって・・。

も~仕事ヤヴァイんですよ~。
「○○で××だから、申し訳ないんですが、▽▽日でβ版もらえないでしょうか・・。」
なんてことを最初のテレビ会議で言われたりしてもう涙目。
話も聞いてない状態からβ版リリースまで▽▽日なんて個人製作じゃあるまいし・・。
それに最初の1週間は先輩がサポートに付いて下さっていたものの、もう今じゃ完全一人でもう涙m・・(ブツブツ



ちゅーことで、土日はもっぱら資料作りです。
先ほど大体完成したものの、ページ数見てみると、30分の発表(内10分質疑)でスライド40枚。。。。多すぎ!
折角書いたのにまた削るんかい!
・・・確か前もこんなことやったような・・・。

コメント数: 6 閲覧数: 29817

オンラインデータ

登録ユーザー: なし