Я пытаюсь разработать то, что кажется простой программой, которая использует Kinect для Xbox360 для вычисления расстояния, пройденного человеком. Комната, на которую будет направлен Kinect, будет 10 x 10. После того, как пользователь нажмет кнопку, объект будет перемещаться по этому пространству. Как только субъект достигнет своего конечного пункта назначения в этом районе, пользователь снова нажмет кнопку. Затем Kinect выводит, как далеко перемещался объект между обоими нажатиями кнопок. Никогда не развиваясь для Kinect раньше, было довольно сложно начать. Моя проблема в том, что я не совсем уверен, что я должен использовать для измерения расстояния. В моих исследованиях я нашел способы рассчитать расстояние от объекта от Kinect, но это о нем.Использование Kinect для расчета пройденного расстояния
ответ
То, что вы слышали, - это простой вопрос о декартовой плоскости. Kinect имеет 20 суставов, которые существуют в пространстве XYZ, а расстояние измеряется в метрах. Для того, чтобы получить доступ к этим стыки, у вас есть эти заявления внутри класса «Tracker» (это C# ... не уверен, что если вы используете C# или C++ в SDK):
public Tracker(KinectSensor sn, MainWindow win, string fileName)
{
window = win;
sensor = sn;
try
{
sensor.Start();
}
catch (IOException)
{
sensor = null;
MessageBox.Show("No Kinect sensor found. Please connect one and restart the application", "*****ERROR*****");
return;
}
sensor.SkeletonFrameReady += SensorSkeletonFrameReady; //Frame handlers
sensor.ColorFrameReady += SensorColorFrameReady;
sensor.SkeletonStream.Enable();
sensor.ColorStream.Enable();
}
Это доступ цвет и скелетные потоки от Kinect. Поток скелет содержит суставы, так что вы сосредоточены на том, что с этими утверждениями:
//Start sending skeleton stream
private void SensorSkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
{
//Access the skeleton frame
using (SkeletonFrame skeletonFrame = e.OpenSkeletonFrame())
{
if (skeletonFrame != null)
{
//Check to see if there is any data in the skeleton
if (this.skeletons == null)
//Allocate array of skeletons
this.skeletons = new Skeleton[skeletonFrame.SkeletonArrayLength];
//Copy skeletons from this frame
skeletonFrame.CopySkeletonDataTo(this.skeletons);
//Find first tracked skeleton, if any
Skeleton skeleton = this.skeletons.Where(s => s.TrackingState == SkeletonTrackingState.Tracked).FirstOrDefault();
if (skeleton != null)
{
//Initialize joints
///<summary>
///Joints to be displayed, projected, recorded, etc.
///</summary>
Joint leftFoot = skeleton.Joints[JointType.FootLeft];
}
}
Так, в начале вашей программы, вы хотите, чтобы выбрать соединение (есть 20 ... выбрать тот, который будет ВСЕГДА быть обращен к Kinect, когда вы выполняете программу) и получить его расположение с чем-то вроде следующих утверждений:
if(skeleton.Joints[JointType.FootLeft].TrackingState == JointTrackingState.Tracked)
{
double xPosition = skeleton.Joints[JointType.FootLeft].Position.X;
double yPosition = skeleton.Joints[JointType.FootLeft].Position.Y;
double zPosition = skeleton.Joints[JointType.FootLeft].Position.Z;
}
в конце концов, вы будете хотеть иметь небольшую задержку перед тем, как остановить поток .. некоторое время между щелчком и отключением потока от Kinect. Затем вы выполните математику, необходимую для того, чтобы получить расстояние между двумя точками. Если у вас нет задержки, вы не сможете получить свою декартову точку.
- 1. Использование Phonegap для хранения пройденного расстояния
- 2. iOS - лучший подход для определения пройденного расстояния
- 3. Система подсчета NetLogo для пройденного расстояния
- 4. Обрезная коллекция, используемая для расчета расстояния
- 5. altbeacon - константы для расчета расстояния
- 6. Расчет расстояния, пройденного через телефон Windows.
- 7. Расчет расстояния, пройденного в моей игре
- 8. Расчет расстояния, пройденного в Android/Google Maps
- 9. расчет расстояния, пройденного в андроиде (при перемещении)
- 10. Расчет расстояния, пройденного при перемещении пользователя
- 11. Накопите ошибку пройденного расстояния в Android Studio
- 12. Нахождение полного расстояния, пройденного прыгающим шаром
- 13. Расчет расстояния, пройденного в Android в медленном движении
- 14. Расчет расстояния, пройденного b2body до его остановки в Box2D
- 15. Использование API Карт Google для расчета расстояния между двумя адресами
- 16. с использованием класса точек для расстояния, пройденного с помощью подшипников
- 17. Формула для расчета расстояния со скоростью затухания
- 18. формула для расчета расстояния между устройствами Bluetooth?
- 19. Оптимизация на Python Для расчета эуклидианского расстояния
- 20. Фильтрация запросов MySql для расчета расстояния
- 21. просчета расчета расстояния от dbgeography
- 22. Полилиния для расстояния и фактического расстояния: ios
- 23. Kinect глубина глубины до расстояния в метрах
- 24. Netlogo: вычислить время с использованием пройденного расстояния и скорости
- 25. Windows Phone 8.1 - Проблема с вычислением пройденного расстояния
- 26. Java-код/библиотека для расчета расстояния от земного шара
- 27. python - Проблема расчета расстояния manhatan, TypeError
- 28. Использование Xbox Kinect с последним Kinect SDK
- 29. Расчета расстояния между сгруппированными местами (разрезы)
- 30. Самый быстрый способ расчета сходства/расстояния OpenGL?
Какой SDK вы используете? OpenNI (1.54 или 2.0) или Kinect SDK? – ArturSkowronski
Я использую KinectSDK – TeegsD