Поднять событие, когда происходит движение - PullRequest
0 голосов
/ 15 ноября 2011

Я использую Kinect SDK для считывания данных с Kinect.Сейчас у меня есть приложение, которое просто сохраняет изображение из потока каждые несколько секунд и начинает запись звука, однако я хочу, чтобы он выполнял код только при обнаружении движения (представьте себе камеру безопасности, которая начинает запись при обнаружении движения).Я не вижу ни одного события, которое возникает в примерах кода, если обнаружено движение, единственное, что даже близко, это nui_SkeletonFrameReady , которое я мог бы использовать (если я прав), если обнаружено тело человека.Есть ли простой способ сделать это?

Ответы [ 2 ]

1 голос
/ 06 января 2012

В настоящее время в этом сценарии нет событий. То, что я сделал, было подписано на событие image ready, которое поставляется с API, и сравнило предыдущее изображение с текущим изображением, используя библиотеки на AForge.net .

0 голосов
/ 28 ноября 2011

Вы можете инициализировать среду выполнения Kinect с флагом RuntimeOptions.UseSkeletalTracking для получения данных отслеживания скелета с устройства:

var runtime = new Runtime();
runtime.Initialize(RuntimeOptions.UseSkeletalTracking| RuntimeOptions.UseDepthAndPlayerIndex | RuntimeOptions.UseColor);

Затем подписаться на событие SkeletonFrameReady:

runtime.SkeletonFrameReady += nui_SkeletonFrameReady;

Этособытие будет происходить непрерывно, и вам нужно будет перебрать коллекцию из шести возможных скелетов в коллекции SkeletonFrame, чтобы определить, отслеживаются ли какие-либо из них.

void nui_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
{
     SkeletonFrame allSkeletons = e.SkeletonFrame;

     //get the first tracked skeleton
     SkeletonData skeleton = (from s in allSkeletons.Skeletons
                         where s.TrackingState == SkeletonTrackingState.Tracked
                         select s).FirstOrDefault();

     if skeleton != null
     {
         // Start recording audio, etc
     }
}

Дополнительные сведения и примеры приведены в этом видео на канале 9:

Основы отслеживания скелета

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...