Processingによる顔認識 外付けWebカメラ Buffalo
Processingによる顔認識をしようとするとノートPCに元々ついているものはいいんだけど、外付けカメラでやろうとするとサンプルどうりにやるとうまくいかない問題があって、解決したのでアップ。OpenCVとVideoはライブラリをいれる。
たぶんポイントはCapture.list()[20]で直接参照すること。nameで参照してもうまくいかなかった。
たぶんポイントはCapture.list()[20]で直接参照すること。nameで参照してもうまくいかなかった。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import gab.opencv.*; | |
import processing.video.*; | |
import java.awt.*; | |
Capture video; | |
OpenCV opencv; | |
void setup() { | |
size(640, 480); | |
video = new Capture(this,width/2,height/2,Capture.list()[20]); | |
opencv = new OpenCV(this, width/2, height/2); | |
opencv.loadCascade(OpenCV.CASCADE_FRONTALFACE); | |
video.start(); | |
} | |
void draw() { | |
scale(2); | |
opencv.loadImage(video); | |
image(video, 0, 0 ); | |
noFill(); | |
stroke(0, 255, 0); | |
strokeWeight(1); | |
Rectangle[] faces = opencv.detect(); | |
//println(faces.length); | |
for (int i = 0; i < faces.length; i++) { | |
println(faces[i].x + "," + faces[i].y); | |
rect(faces[i].x, faces[i].y, faces[i].width, faces[i].height); | |
} | |
} | |
void captureEvent(Capture c) { | |
c.read(); | |
} |
Post a Comment