2013-04-29 2 views
0

저는 Kinect-SDK를 사용하여 사람을 추적하고 있습니다. 그러나 Kinect-SDK는 관절에 대한 정보 만 제공합니다. 특정 신체 부위 또는 관절과 관련된 모든 픽셀을 얻고 싶습니다.특정 신체 부위와 관련된 픽셀을 가져옵니다.

예를 들어, 손, 발 또는 사지를 보이게하고 나머지 이미지는 제거해야합니다. 그러나 픽셀을 특정 인물의 특정 부분과 연관시키는 방법을 찾지 못했습니다. 내가 발견 한 유일한 것은 깊이 픽셀이 플레이어와 연관 될 수 있다는 것입니다.하지만 더 구체적인 픽셀을 얻을 수 있습니까?

SDK가 스켈레톤을 계산하기 위해 추적 대상자의 본문 부분에 라벨을 지정하고 있지만이 정보가 어떻게 든 액세스 할 수 있는지 알고 있습니다. http://research.microsoft.com/apps/pubs/default.aspx?id=145347

+0

CoordinateMapper - http://msdn.microsoft.com/ko-kr/library/jj663707.aspx를 살펴보십시오. 내 컴퓨터에있을 때 좀 더 자세한 대답을 볼 수 있습니다. –

+0

CoordinateMapper로 @EvilClosetMonkey afaik 조인트의 위치를 ​​색상/깊이 공간에만 매핑 할 수있었습니다. 그러나 이것은 하나의 포인트 만 제공하지만 어떤 픽셀이 어떤 관절과 관련되어 있는지에 대한 힌트는 없습니다. 색상/깊이 픽셀을 스켈레톤 공간에 매핑하는 것은 다시 예를 들어 도움이되지 못한다. 손 관절은 정확히 한 점이지만 골격 공간의 전체 영역은 아닙니다. –

+0

사실, 나는 그 질문을 놓쳤다. @MentohlBonbon이 언급했듯이, 정보를 빼내는 공식 SDK 방법은 없습니다. 'CoordinateMapper'와 OpenCV의 'findContours'를 조합하여 팔다리를 뺄 수 있습니다. –

답변

0

스켈레톤 추적에 사용할 수있는 opensource 라이브러리가 있습니다. 그 NITE라고 부릅니다. 여기에서 찾으십시오 : http://www.openni.org/files/nite/#.UX7UT8rOj2k

또한 이것을 사용하여 손을 추적 할 수 있습니다.

일반적으로 : kinect 맵의 RGB 이미지와 깊이 이미지. 따라서 깊이 이미지에서 손의 위치를 ​​확인한 다음 rgb 이미지의 해당 위치에 원을 그립니다. 예 : 예 : openCV.

더 궁금한 점이 있으시면 문의하십시오.

편집 :

당신은 손의 Z 좌표를 얻는다. 이것을 참조로 사용하면 손 영역에서 임계 값을 설정할 수 있습니다 (x 또는 y로 너무 먼 모든 것은 손에 속할 수 없습니다).

OpenCV를 사용하면 findContours 함수를 사용하여 이미지의 손 영역을 찾고 다른 이미지의 해당 영역을 원하는 방식으로 색칠 할 수 있습니다.

+0

나는이 방법을 사용하여 직접 구현해야 할 것 같습니다. – MentholBonbon

+0

나는 나 자신을 충분히 분명하게 만들지 않았기 때문에 초기 질문을 바꾸려고 노력했다. 저는 골격 추적을 할 수있는 라이브러리가 있으며이를 위해 Kinect-SDK를 사용하고 있습니다. 내 질문은 Kinect-SDK를 사용하여 Kinect에서 얻은 이미지에서 픽셀을 고밀도로 얻으려면 추적 대상자 골격의 특정 조인트에 할당되는 것입니다. –

+0

KinectSDK는 깊이 또는 rgb 이미지의 픽셀을 보증 조인트 또는 본문 부분과 연결하는 함수를 지원하지 않습니다. 당신은 그 코드를 직접 작성해야합니다. – MentholBonbon