enableGesture() not defined Simple-OpenNI



在我收到有关我正在使用的Simple-OpenNI版本的评论之前,我安装了Google下载页面上唯一的版本(v 1.96)。我在另一个线程中看到我必须用kinect.startGesture(...)替换行kinect.enableGesture(),但随后其他方法搞砸了。 我正在关注恩里克·拉莫斯·梅尔加(Enrique Ramos Melgar)的《Arduino and Kinect Projects》一书,但该代码似乎不是最新的。

我受影响的代码如下:

void setup() {
  kinect = new SimpleOpenNI(this);
  // enable mirror
  kinect.setMirror(true);
  // enable depth map, hands, and gestures
  kinect.enableDepth();
  kinect.enableGesture();
//  kinect.startGesture(SimpleOpenNI.GESTURE_WAVE);
  kinect.enableHands();
  // add focus gesture to start tracking
  kinect.addGesture("Wave");
  size(kinect.depthWidth(), kinect.depthHeight());
  String portName = Serial.list()[0];
  myPort = new Serial(this, portName, 9600);
}
void onRecognizeGesture(String strGesture, PVector idPosition, PVector endPosition) {
  kinect.removeGesture(strGesture);
  kinect.startTrackingHands(endPosition);
}

出现以下错误:

The method enableGesture() is undefined for the type SimpleOpenNI
The method enableHands() is undefined for the type SimpleOpenNI
The method addGesture(String) is undefined for the type SimpleOpenNI
The method removeGesture(String) is undefined for the type SimpleOpenNI
The method startTrackingHands(PVector) is undefined for the type SimpleOpenNI

确保以

import SimpleOpenNI.*;
SimpleOpenNI kinect;

然后,您使用 SimpleOpenNI 1.96 中不再存在的方法,检查文档。自从OpenNi/Nite的大更新以来,SimpleOpenNi完全不同:

enableHands() 现在是 enableHand(),

addGesture(String) 现在是 startGesture(int gesture),

removeGesture(String) is endGesture(int gesture),

startTrackingHands(PVector) is startTrackingHand(float[] pos)

Nite 尚未在 simpleOpenNi 1.96 中实现,所以据我所知,我认为只有 3 种手势可以使用,GESTURE_CLICK、GESTURE_HAND_RAISE、GESTURE_WAVE

相关内容

  • 没有找到相关文章

最新更新