1
kinect SDK를 사용하여 C#에서 응용 프로그램을 개발했습니다. 이제 나는 골격 추적에 의문을 가지고 있습니다.스켈레톤 추적 방법은 모두 kinect에서 정확합니까?
코드가 2 개이지만 두 가지 접근 방식이 있습니다. 나는 두 가지 방법이 같은 개념으로 연결된다는 것을 알고 싶습니까? 또는 다른?
코드 1 :
void Kinect_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
{
using (SkeletonFrame frame = e.OpenSkeletonFrame())
{
m_skeletons = new Skeleton[frame.SkeletonArrayLength];
frame.CopySkeletonDataTo(m_skeletons);
}
if(m_skeletons != null && m_skeletons.Length != 0)
{
foreach (Skeleton skeleton in m_skeletons)
{
if (skeleton != null && skeleton.TrackingState == SkeletonTrackingState.Tracked)
{
//doing some operations
}
}
}
}
지금 같은 다른 추적 방법
: 코드 2 :void Kinect_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
{
using (SkeletonFrame frame = e.OpenSkeletonFrame())
{
m_skeletons = new Skeleton[frame.SkeletonArrayLength];
frame.CopySkeletonDataTo(m_skeletons);
}
if(m_skeletons != null && m_skeletons.Length != 0)
{
foreach (Skeleton skeleton in m_skeletons.Where(s => s.TrackingState == SkeletonTrackingState.Tracked))
{
//doing some operations
}
}
}
모두 foreach (Skeleton skeleton in m_skeletons)
및
foreach (Skeleton skeleton in m_skeletons.Where(s => s.TrackingState == SkeletonTrackingState.Tracked))
이다 올바른지? 어떤 차이가 있습니까?