Kinect区域内的手检测(光标)在新项目中不起作用



我有两个非常简单的Kinect for Windows项目。

一个项目基于名为ControlsBasics WPF的原始Kinect for Windows开发SDK V2代码示例(可在V2 SDK浏览器中获得),另一个项目是通过一个新项目从头开始创建的,随后通过nuget包管理器引用Kinect SDK。

两个项目中的代码相当于以下XAML。

<kinectTools:KinectRegion x:Name="kinectRegion">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="2*" />
            <RowDefinition Height="8*" />
        </Grid.RowDefinitions>
        <kinectTools:KinectUserViewer Grid.Row="0" />

    </Grid>
</kinectTools:KinectRegion>

以及下面的C#

public MainWindow()
{
    InitializeComponent();
    KinectRegion.SetKinectRegion(this, kinectRegion);
    this.kinectRegion.KinectSensor = KinectSensor.GetDefault();
}

如果我运行该项目,预期的行为是,一旦手臂(左或右)抬起,光标就会出现在屏幕上定义的KinectRegion区域内。

然而,尽管基于ControlsBasics WPF示例代码的版本是坚如磐石的,并且几乎立即按照预期运行(光标出现并跟踪)。基于新项目的版本表现出间歇性行为,光标很少出现在屏幕上。

请找到以下两种解决方案来证明问题:

  1. 工作检测
  2. 破损检测

还要注意,我故意从SDK代码示例版本中删除了dll引用,并使用nuget引用SDK,以确保引用了相同的库,这不会影响行为。这两个项目中的代码(据我所知)完全相同,但显然我遗漏了一些东西。

如有任何意见,我们将不胜感激!

制作一个kinect支持的WPF程序所需的一切都是:

1-创建一个新的WPF程序。2-添加参考"Microsoft.Kinect"&"Microsoft.Kinect.Wpf控件"。3-将此行添加到xaml页面中的Window对象中。xmlns:k="http://schemas.microsoft.com/kinect/2014"

最后,只需创建一个运动学区域对象,也许可以在其中添加一个按钮。类似于:

<k:KinectRegion x:Name="kinectRegion">
<Grid>
<Button Content="sdfsdfdsfsdfsdf" Background="#FF2F55A6" BorderThickness="6"  Width="150" Height="50" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
</Grid>
</k:KinectRegion>

}

当你运行你的项目时,你应该能够看到手动光标,并按下你刚刚创建的按钮。只有一个xaml页面。看起来和这个一模一样:

<Window x:Class="KinectDynamicAppLive.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:k="http://schemas.microsoft.com/kinect/2014"
        Title="MainWindow" Height="350" Width="525">
    <k:KinectRegion x:Name="kinectRegion">
    <Grid>
            <Button Content="sdfsdfdsfsdfsdf" Background="#FF2F55A6" BorderThickness="6"  Width="150" Height="50" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"/>
        </Grid>
      </k:KinectRegion>
</Window>

相关内容

  • 没有找到相关文章

最新更新