import gohai.glvideo.*; import gab.opencv.*; import java.awt.Rectangle; import processing.io.*; SPI adc; GLCapture video; OpenCV opencv; Rectangle[] faces; int threshold = 60; void setup() { //init adc adc = spiInit(0); //set window size size(640, 480, P2D); //init camera String device[] = GLCapture.list(); video = new GLCapture(this, device[0]); video.play(); //load opencv opencv = new OpenCV(this, 640, 480); //using color or gray opencv.useColor(); //load cascade data opencv.loadCascade(OpenCV.CASCADE_FRONTALFACE); } void draw() { if (video.available()) { //read camera image video.read(); opencv.loadImage(video); //show image image(opencv.getOutput(), 0, 0, 640, 480); //face detect faces = opencv.detect(); //draw face detect area 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); } //get value int val = getAdcValue(adc, 0); println("val :" + val); println("faces :"+ faces.length); if (val > threshold && faces.length > 0) { println("upload image"); PImage temp = video; Upload("http://localhost/pictures/upload.php", temp); say("画像をアップロードします"); delay(5000); } } }