1
私はkinect SDKを使用してC#でアプリケーションを開発しています。今私は骨格を追跡するための疑いがあります。両方のスケルトントラッキング方法はkinectで正しいですか?
私は2つのコードを持っていますが、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))
は正しいですか?違いはありますか?