반응형

다음은 kinect에서 full resolution 값을 추출하여 실제 단위로 컨퍼팅하는 예제이다.


import SimpleOpenNI.*;

SimpleOpenNI kinect;

void setup()

{

size(640, 480);

kinect = new SimpleOpenNI(this);

kinect.enableDepth();

}

void draw()

{

kinect.update();

PImage depthImage = kinect.depthImage();

image(depthImage, 0, 0);

}

void mousePressed(){

int[] depthValues = kinect.depthMap();

// depthMap() 함수는 depth 정보를 Integer 배열로 전달한다.

// 이 배열은 640 x 480 의 이차원 배열은 하나의 row로 전달한 것이다. 다시 말해 특정 pixel의 데이터는 

// x+640*y 로 접근 가능하다.

int clickPosition = mouseX + (mouseY * 640);

int millimeters = depthValues[clickPosition];

float inches = millimeters / 25.4;

println("mm:"+ millimeters  +" inches: " + inches);

}

줄자를 가지고 정확도가 어느정도 되는지 측정해 보았다.



100cm 정도로 줄자를 늘리고 손 주변을 측정한 결과 96cm가 나옴..


반응형
Posted by alias
,