2013-11-02 1 views
1

Можно ли отделить палец (который надавлен на стене) от стены на карте глубины Kinect? Чтобы прояснить проблему, цель состоит в том, чтобы получить карту глубины, которая позволяет мне отделять палец, который нажимается на стену по пороговому значению, что означает, что Kinect должен иметь возможность измерять разницу в глубине между пальцем и стена. используетсяKinect для ограничения глубины диапазона XBOX для сенсорного сенсора

Инструменты:

  • Kinect для XBOX360
  • OpenCV 2.4
  • Openni2
  • Microsoft Visual Studios 2010

ответ

1

библиотек вы даете не делать это автоматически , Я не уверен, насколько вы сообразительны с обработкой изображений, но ради ответа я предполагаю, что вы есть.

Я не уверен, что вы хотите просто наметить пиксели как «стены» или «палец», или если вы хотите знать, когда палец попал на некоторый порог расстояния стены.

Если у вас есть чистая рамка, где Kinect просто смотрит на стену, и пальцев нет, вы можете использовать эту раму, чтобы точно определить, где находится стена. Вы можете создать простой фоновой фрейм на глубине, усреднив кадр глубины на несколько кадров. Затем для последующих кадров, если есть какая-либо значительная разница (скажем,> 3 см), вы можете объявить это пальцем.

Немного более сложной альтернативой является использование нормалей поверхности. Для каждого пикселя глубины (x, y, z) возьмите поперечное произведение вектора между этим пикселем и (x + 1, y, z1) и этим пикселем и (x, y + 1, z2). Если вы смотрите на неизогнутую стену, нормали поверхности должны быть равномерными. В Kinect Fusion Video они отображают нормали поверхности (x, y, z) на (r, g, b), и эффект действительно хорош. Все, что имеет нормальную поверхность, которая не такая же, как стена, вы можете объявить пальцем.