c# - 如何锁定单个骨架

标签 c# sdk kinect

我正在使用 SDK 创建一个应用程序,其中我必须只有一个用户并将其锁定,这样如果有人出现,即使那个人离 Kinect 更近,应用程序也会继续跟踪它跟踪的第一个骨架。

从 msdn 库中我发现我可以使用骨架流类:

属性:AppChoosesSkeletons = 获取或设置一个 bool 值,该值确定应用程序是否选择要跟踪的骨架。

方法:SkeletonStream.ChooseSkeletons (Int32) = 选择一个骨架进行追踪。 语法:public void ChooseSkeletons (int trackingId1)

我不太擅长编程,而且我正在使用 C#,我想写下类似代码的东西,但它说我正在使用无效的表达式。

SkeletonFrame SFrame = e.OpenSkeletonFrame();
if (SFrame == null) return;

Skeleton[] Skeletons = new Skeleton[SFrame.SkeletonArrayLength];
SFrame.CopySkeletonDataTo(Skeletons);

int firstSkeleton = Skeletons[0].TrackingId;
sensor.SkeletonStream.ChooseSkeletons(int firstSkeleton);

if (firstSkeleton == null)
return;

if (SkeletonTrackingState.Tracked == firstSkeleton.TrackingState)
{
//body...

问题出在 sensor.SkeletonStream.ChooseSkeletons(int firstSkeleton,它说 int firstSkeleton cannot be used
有人可以帮我吗?谢谢!

最佳答案

sensor.SkeletonStream.ChooseSkeletons(int firstSkeleton);

你想用这条线达到什么目的?

如果你想将 firstSkeleton 转换为 int,我想这样写:

sensor.SkeletonStream.ChooseSkeletons((int) firstSkeleton);

如果你不想强制转换它而只是将 int 变量提供给 methid 只需写:

sensor.SkeletonStream.ChooseSkeletons(firstSkeleton);

关于c# - 如何锁定单个骨架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10189678/

相关文章:

wpf - 如何在SpeechRecognized事件处理程序中保存RGB帧?

c++ - Kinect 相机偏航运动

c# - 我应该使用什么样的数据结构?

iphone - 程序员之间是否可以共享 Apple Developer Program 许可证?

algorithm - 在哪里可以找到和了解Kinect V2基本面部跟踪算法?

android - flutter packages 获取失败,版本解析失败

java - 编程的 Android 应用程序不显示在 AVD 中

c# - Microsoft Dynamics CRM 2013 (CRM-Webservice) 支持的交易

c# - 路径上的Window.DataContext错误不能为null

c# - 为什么 Thread.Sleep 在其他应用程序运行时等待的时间比请求的时间长?