положение точки с помощью камеры Kinect V2

Я знал, что камера kinect v2 может определять положение сустава скелета, но мне нужно знать, как определить (x, y, z) положение определенной точки в комнате с помощью камеры kinect-v2?


person Ibrahim Seleem    schedule 04.07.2016    source источник
comment
Какой язык вы используете? С#, С++, ВБ?   -  person Franckentien    schedule 05.07.2016


Ответы (3)


вы можете взглянуть на библиотеки Vitruvius, так как в них есть то, что вы ищете, например, положение сустава и измерение расстояния.

Это получает координату y левого сустава

Пример совместного кода: body.Joints[JointType.HandLeft].Position.Y

Получает расстояние координат до сенсора Kinect V2.

Пример кода расстояния: Length(_bodies[_token.BodyArrIndex].Joints[JointType.SpineBase].Position)

Ссылка Vitruvius на GitHub: https://github.com/LightBuzz/Vitruvius

Ссылка на соединение жестов Vitruvius GitHub: https://github.com/LightBuzz/Vitruvius/tree/master/Kinect%20v2/WPF/LightBuzz.Vitruvius/Gestures

Веб-сайт Vitruvius: https://vitruviuskinect.com/

Надеюсь, поможет!

person bingcheng45    schedule 04.09.2017

Для этого вам нужно использовать CameraSpacePoint Structure

Я приведу вам пример на C#.

Для этого я буду отслеживать левую руку, и я полагаю, что у вас есть косяк.

internal Joint HandLeft;

Чтобы занять позицию, вам нужно использовать это:

CameraSpacePoint pointLeft = HandLeft.Position;

После этого вы можете использовать свою позицию следующим образом:

pointLeft.X
pointLeft.Y
pointLeft.Z

конечно, вы можете сохранить значение в поплавке:

float test = pointLeft.Y;
person Franckentien    schedule 05.07.2016
comment
В дополнение к этому, если точка находится вне тела человека (т.е. внутри рамки глубины, вам просто нужно сделать аналогичный расчет) - пожалуйста, обратитесь к страницам MSDN за соответствующей документацией. - person 16per9; 07.07.2016

вы можете определить (x, y, z) положение 1-25 точек человека в kinect v2. (Z) означает расстояние от каждой точки до сенсора kinect. если вам нужно найти каждую точку вашего кадра, вы должны использовать класс ColorFrame, тогда вы можете определить свою любимую позицию с помощью Ellipse, конечно, с позицией XY. Ваш кадр - это кадр 2D-просмотра, поэтому у вас нет позиции z

person Farshid Ahmadi    schedule 02.09.2017