範例一:
程式碼:
import SimpleOpenNI.*;
SimpleOpenNI openni;
void setup(){
size(600,400);
openni = new SimpleOpenNI(this);
openni.enableRGB();
openni.enableDepth();
openni.enableUser();
}
void draw(){
openni.update();
background(255);
image(openni.userImage(), 0,0 ,600,400);
}
程式碼:
SimpleOpenNI openni;
void setup(){
size(600,400);
openni = new SimpleOpenNI(this);
openni.enabledRGB();
openni.enabledDepth();
openni.enabledUser();
}
void draw(){
openni.update();
background(255);
image(openni.userImage(),0,0,300,200);
int [] userList = openni.getUsers();
PVector pos = new PVector(0,0,0);
for(int userID : userList){
openni.getJointPositionSkeleton(userID,SimpleOpenNI.SKEL_LEFT_HAND,pos);
}
ellipse(pos.x,pos.y,50,50);
println(pos);
}
void onNewUser(SimpleOpenNI curContext,int userId){
openni.starTrackingSkeleton(userId);
}
範例三:
程式碼:
import SimpleOpenNI.*;
SimpleOpenNI openni;
void setup(){
size(600,400);
openni = new SimpleOpenNI(this);
openni.enableRGB();
openni.enableDepth();
openni.enableUser();
}
void draw(){
openni.update();
background(255);
image(openni.userImage(),0,0,640,480);
PVector pos = new PVector(0,0,0);
int [] userList = openni.getUsers();
for(int userID : userList){
openni.getJointPositionSkeleton(userID,SimpleOpenNI.SKEL_LEFT_HAND,pos);
openni.convertRealWorldToProjective(pos,pos);
fill(0,0,255);ellipse(pos.x,pos.y,50,50);
openni.getJointPositionSkeleton(userID,SimpleOpenNI.SKEL_RIGHT_HAND,pos);
openni.convertRealWorldToProjective(pos,pos);
fill(255,0,0);ellipse(pos.x,pos.y,50,50);
openni.getJointPositionSkeleton(userID,SimpleOpenNI.SKEL_HEAD,pos);
openni.convertRealWorldToProjective(pos,pos);
fill(255,255,0);ellipse(pos.x,pos.y,50,50);
}
ellipse(pos.x,pos.y,50,50);
println(pos);
}
void onNewUser(SimpleOpenNI curContext,int userId){
openni.startTrackingSkeleton(userId);
}
另外,因為一個偶然的原因,讓我知道了原來Kinect可以像Leap motion一樣,結合Unity引擎進行開發,這或許是一個好消息,因為期末作品也可以考慮用Unity來做。
Unity接入Kinect的步驟如下:
1、打開Unity:
2、按Ctrl + 9 打开asset store,然后搜索Kinect SDK:
3、點擊下載:
4、最後接入xbox按運行就成功了,雖然不知道這demo是幹什麼用的,還有一個綠色的球:
5、還有一個Kinect1.7的SDK,裡面的內容稍微有點不一樣,個人感覺這個更加直觀,可以直接偵測身體的動作:
沒有留言:
張貼留言