У меня есть два чрезвычайно простых проекта Kinect для Windows.Распознавание рук (курсор) в Kinect Регион не работает в новом проекте
Один проект основан на оригинальной Kinect для Windows, разработки SDK образец V2 кода под названием ControlsBasics-WPF (доступен в браузере V2 SDK), а другой, который был создан с нуля с помощью нового проекта, а затем ссылки на Kinect SDK через менеджер пакетов nuget.
Код в обоих проектах соответствует следующему 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 образец кода скала и ведет себя так же, как и ожидалось (с курсором появляются и отслеживания) почти сразу же. Версия, основанная на новом проекте, демонстрирует прерывистое поведение, когда очень редко курсор появляется на экране.
Вы можете найти следующие два решения, которые демонстрируют проблему:
Также обратите внимание, что я намеренно удалил ссылки DLL из образца версии SDK кода и используется nuget, чтобы ссылаться на SDK, чтобы гарантировать, что те же самые библиотеки были указаны, и это не повлияло на поведение. Код внутри двух проектов (насколько я могу сказать) идентичен, но, очевидно, я что-то упускаю.
Любой вход был бы очень оценен!