opencvとopenkinectライブラリで顔検出を構築しようとしています。画像入力のために私はxbox kinect v2を使いたいです。私はopencvライブラリ内の顔検出の例に私のコードを基づいています。私はMacで働いています。Opencv、open kinect、kinect v2で処理中の顔検出
これはこれまでのところ私のコードです:
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);
}
}
問題はラインであると思われる "opencv.loadImage(kinect2.getVideoImage());"検出が機能しないためです。 kinectの代わりに、ビルドイン関数 "capture"と "video" -add-onを使用して、isightカメラを操作すると、すべて正常に動作します。
誰でもお手伝いできますか?
もっと具体的にする必要があります。問題がその行にあるようだと言うと、どういう意味ですか?それがうまくいかないと言ったらどういう意味ですか?何が起こると思いますか?代わりに何が起こるのですか?異なる行為はどの行のコードから始まるのですか? –
opencv.loadImage(kinect2.getVideoImage()); //ここで私はopencvが動作していないkinectによって記録されたビジュアルデータを処理することを期待しています。 "問題はその行になければならない"と言うと、opencvは関数 "kinect2.getVideoImage()"から取得したデータを処理できず、別のフォームが必要になることがあります入力の。 image(kinect2.getVideoImage()、0、0、640、480); //ここで私はxbox kinectで記録されたビジュアルデータの出力を期待しています。 – mindcraft