Измерение длины бедер с помощью Kinect
Для приложения я должен принять измерения человека. Есть ли способ измерить размер его бедра по данным ИК и изображения, которые у меня есть?
1 ответ
Поток изображения глубины имеет возможность отметить, какие пиксели принадлежат каждому человеку. Вы можете использовать это и положение тазобедренного сустава, чтобы измерить бедро, используя простой метод: просто начните с положения тазобедренного сустава и используйте петлю для перемещения вправо и влево. Когда у вас есть пиксели на изображении глубины, которые соответствуют краю силуэта пользователя, преобразуйте их в мировые координаты, чтобы получить их расстояние в миллиметрах. Но имейте в виду, что вы не получите точных результатов. Такие вещи, как одежда и аксессуары могут заставить Kinect неправильно определять форму пользователя.
Чтобы определить, принадлежит ли пиксель в рамке глубины пользователю, посмотрите на этот пример в MSDN ( https://msdn.microsoft.com/en-us/library/jj131025.aspx):
private void FindPlayerInDepthPixel(short[] depthFrame)
{
foreach(short depthPixel in depthFrame)
{
int player = depthPixel & DepthImageFrame.PlayerIndexBitmask;
if (player > 0 && this.skeletonData != null)
{
// Found the player at this pixel
// ...
}
}
}