前置作業!!!!
很忙很忙
下載的地方:120.125.70.53
(1)KinectSDK-v1.8-Setup
(2)MeshLab
open:
processing-2.2.1-windows32
先匯入需要的東西
(1)sketch
(2)import library
(3)add library
(4)SimpleOpenNI
(1)KinectSDK-v1.8-Setup
(2)MeshLab
open:
processing-2.2.1-windows32
先匯入需要的東西
(1)sketch
(2)import library
(3)add library
(4)SimpleOpenNI
<i>踢足球
SimpleOpenNI openni;
void setup(){
size(600,400);
openni = new SimpleOpenNI(this);
openni.enableRGB();
openni.enableDepth();
openni.enableUser();
}
void draw(){
openni.update();
image(openni.userImage(),0,0,600,400);
for(int userId : openni.getUsers()){
PVector pos = new PVector(0,0,0);
float confidence = openni.getJointPositionSkeleton(
userId,SimpleOpenNI.SKEL_HEAD,pos);
ellipse(pos.x,pos.y,50,50);
println(pos);
}
}
void onNewUser(SimpleOpenNI openni,int userId){
openni.startTrackingSkeleton(userId);
}
<ii>左腳會有球
SimpleOpenNI openni;
void setup() {
size(600, 400);
openni = new SimpleOpenNI(this);
openni.enableRGB();
openni.enableDepth();
openni.enableUser();
}
float Xpos(PVector pos) {
return width/2+pos.x*500/pos.z;
}
float Ypos(PVector pos) {
return height/2-pos.y*500/pos.z;
}
void draw() {
openni.update();
image(openni.userImage(), 0, 0, 600, 400);
for (int userId : openni.getUsers ()) {
PVector pos = new PVector(0, 0, 0);
float confidence = openni.getJointPositionSkeleton(
userId, SimpleOpenNI.SKEL_LEFT_FOOT, pos);
ellipse(Xpos(pos), Ypos(pos), 50, 50);
println(pos);
}
}
void onNewUser(SimpleOpenNI openni, int userId) {
openni.startTrackingSkeleton(userId);
}
<iii>頭 左腳 右腳 會有球
SimpleOpenNI openni;
void setup() {
size(600, 400);
openni = new SimpleOpenNI(this);
openni.enableRGB();
openni.enableDepth();
openni.enableUser();
}
float Xpos(PVector pos) {
return width/2+pos.x*500/pos.z;
}
float Ypos(PVector pos) {
return height/2-pos.y*500/pos.z;
}
void draw() {
openni.update();
image(openni.userImage(), 0, 0, 600, 400);
for (int userId : openni.getUsers ()) {
PVector pos = new PVector(0, 0, 0),pos1 = new PVector(0, 0, 0),pos2 = new PVector(0, 0, 0);
float confidence;
confidence = openni.getJointPositionSkeleton(
userId, SimpleOpenNI.SKEL_LEFT_FOOT, pos1);
ellipse(Xpos(pos1), Ypos(pos1), 50, 50);
println("Foot: " +confidence);
confidence = openni.getJointPositionSkeleton(
userId, SimpleOpenNI.SKEL_HEAD, pos);
ellipse(Xpos(pos), Ypos(pos), 50, 50);
confidence = openni.getJointPositionSkeleton(
userId, SimpleOpenNI.SKEL_RIGHT_FOOT, pos2);
ellipse(Xpos(pos2), Ypos(pos2), 50, 50);
println(abs(pos1.y-pos2.y));
if(confidence>0.6 && abs(pos1.y-pos2.y)>100){ //畫面變紅
fill(255,0,0,128);
rect(0,0,600,400);
}
}
}
void onNewUser(SimpleOpenNI openni, int userId) {
openni.startTrackingSkeleton(userId);
}
沒有留言:
張貼留言