'Skeleton'에 해당되는 글 1건

  1. 2012.01.07 Skeleton 의 Joint 와 Depth 값 구하기(130923_소스추가) 40




키넥트의 Skeleton 알고리즘은 공개되어있지 않다.

궁금하긴 하지만.. 당연 수학적인 요소들이 엄청나게 들어가있을꺼라 생각한다.

다음에 수학공부를 좀 더 해서 그때 파해쳐 봐야겠고... (이것만으로도 근데 논문 주제가 되겠다는 생각이...)



어째뜬 오늘은 SDK가 지원해주는 Skeleton 알고리즘을 이용하여 화면에 출력 해보았다.

함수는 NuiTransformSkeletonToDepthImageF(Vector4 vPoint, FLOAT *pfDepthX, FLOAT *pfDepthY) 를 이용하면 된다.

이함수는 각 관절의 위치를 얻어오는 함수인데, x,y 의 값을 얻어올수있다.

그런데 내가 원하는 데이터는 Z축 데이터 , 즉 깊이값!!

이는..

SkeletonPosition을 HRESULT NuiTransformSkeletonToDepthImageF(Vector4 vPoint, FLOAT *pfDepthX, FLOAT *pfDepthY, FLOAT *pfDepth) 

이 함수를 이용하면 얻어올수가 있는데,

각 Joint 마다 그 수치를 출력해봤는데, 매우 정확한듯했다.

키넥트.. 정말 잘만들고 정교하다......는걸 새삼 다시 느끼게 되었다.

말이 샜는데 어째뜬 이는 물론 키넥트 SDK 셈플소스에 추가되어있다.

(난 이것도 모르고 뻘짓을 몇시간동안이나...ㅠㅠ)

여기에는 매개변수가 총 3개가 들어가는데, 인터넷에서 검색해서 공부하고 찾아본 내용을 설명을 하자니.. 너무 광범위 하다.

그래서 블로그를 하나 소개 하겠다.


site : http://www.cyworld.com/krop_spiller/6824891

 

http://www.cyworld.com/krop_spiller (사이트 링크 수정 : 2012. 07.25)



여기인데, 알고보니 후배 블로그 였다는...

어째뜬 이곳에 가면 후배녀석이 아주 상세하고 자세하게 적어놓았다. (저도 여기서 공부했다는.. 헤헤 ^^;;)


이것은 나의 결과 스샷!!!

 

 



누군가가 도와줬으면 좋겠지만, 이때 연구실에 아무도 없었다는 ㅠㅠ

위에 보면 머리부분과 손이 가장 가까운데, 머리 부분을 보면 7560 이라 되어있다

이는 0.75m 가 떨어져있다는 소리겠지요??


참고로 나의 개발환경은..

Window 7 32bit,

Visual studio 2010

C++,  MFC

Kinect SDK 이다.

 

 

 

 

 

/*//////////////////////////////////////////////////////////////////////////

130923_추가.

//////////////////////////////////////////////////////////////////////////*/

 

소스코드를 보고싶어 하시는 분들이 많으셔서 업로드 하게 되었습니다.

 

그전에 말씀 드릴것은,

 

2012. 1. 6 에 만들었던 프로젝트 파일이며,

 

VS2010, OpenCV2.0, Kinect SDK beta2 버전입니다.

 

이사람은 이렇게 했었구나.. 라고만 참조하시면 좋을듯 합니다.

 

1년 반 전에 처음 키넥트SDK 가 나왔을때 공부목적으로 만든 소스코드라 엉망이라는점,

 

염두해주시면 감사하겠습니다. ^^

 

/*//////////////////////////////////////////////////////////////////////////

120106_Kinect_MFC(Depth, Skeleton with Z, depthdata).zip

//////////////////////////////////////////////////////////////////////////*/

 

 

 

 

Posted by Tommy™
,