i am trying build a face detection with the opencv and openkinect libraries. for the image input i want to use the xbox kinect v2. i am basing my code on the face detection example within the opencv library. i am working on a mac.
this is my code so far:
import gab.opencv.*;
import java.awt.Rectangle;
/* KINECT */
import org.openkinect.freenect.*;
import org.openkinect.freenect2.*;
import org.openkinect.processing.*;
OpenCV opencv;
Kinect2 kinect2;
Rectangle[] faces;
void setup() {
opencv = new OpenCV(this, 640/2, 480/2);
size(640, 480);
// Kinectv2
kinect2 = new Kinect2(this);
kinect2.initVideo();
kinect2.initDevice();
opencv.loadCascade(OpenCV.CASCADE_FRONTALFACE);
faces = opencv.detect();
}
void draw() {
opencv.loadImage(kinect2.getVideoImage());
image(kinect2.getVideoImage(), 0, 0, 640, 480);
noFill();
stroke(0, 255, 0);
strokeWeight(3);
for (int i = 0; i < faces.length; i++) {
rect(faces[i].x, faces[i].y, faces[i].width, faces[i].height);
}
}
the problem seems to be in the line "opencv.loadImage(kinect2.getVideoImage());" since the detection does not work. when working with the isight camera (using the build-in function "capture" and "video"-add-on) instead of kinect everything works perfectly fine.
can anyone help?