Kinect 센서로 찍은 장면에서 플레이어의 깊이 위치를 추정하여 손과 사람 사이의 거리를 평가해야하는 알고리즘에서이 정보를 사용하고 싶습니다. "선수의 시체". 이 경우, "플레이어의 몸"이라는 개념은 플레이어의 깊이 (즉 내가 찾고있는 것)의 위치를 나타내는 값으로 변환 될 수 있습니다.플레이어의 대략적인 위치 추정
분명히 사람이 공간에서 볼륨을 차지하기 때문에 장면에서 플레이어의 정확한 위치를 정의 할 수 없다는 것을 알 수 있습니다.
내가 알고 싶은 것은 다음과 같습니다. 해골 데이터를 사용하여 사람의 대략적인 위치를 계산하는 가장 좋은 방법은 무엇입니까?
I는 다음 코드 시도 : 상기 방법으로
Skeleton playerSkeleton = (from s in skeletonData where s.TrackingState == SkeletonTrackingState.Tracked select s).FirstOrDefault();
...
if (playerSkeleton != null)
{
Joint head = playerSkeleton.Joints[JointType.Head];
float averagePlayerPosition = head.Z;
}
, I가 플레이어의 위치를 정의하는 깊이 헤드를 사용했다.
좋은 선택인가요? (예 : 평균이 여러 개입니까? points of the skeleton)? 나의 선택이 개선 될 수 있다면, 더 나은 대안을 정당화 할 수있는 참고 문헌이 있는가?
다른 사람들은 '해골 포지션 (Fleetton.Position)'의 의미에 대해 이야기했으며 누군가가 "식별 된 사용자의 질량 중심"이 될 수 있다고 말했습니다 ... [링크] (http : // social.msdn.microsoft.com/Forums/en-US/kinectsdknuiapi/thread/ee12b17d-3606-4416-8924-12fa8e482421/) –
알맞은 모양입니다. 특히 비활성 뼈대에서 사용할 수 있기 때문입니다. 나는 이전의 코드를 보았고 실제로 "가장 가까운"사람을 원할 때 추적 할 사용자를 결정할 때 이것을 사용했습니다. (미안합니다.) 아주 잘 작동합니다. –