Motion

import processing.video.*; import ddf.minim.*; import processing.sound.*; AudioPlayer player; Minim minim;//audio context SoundFile file; Capture cam; Capture cam2; int count=1; PImage myImg=null; PImage myImg2=null; void setup() { frameRate(1); size(600, 300); cam = new Capture(this, 320, 240, 30); cam.start(); cam2 = new Capture(this, 320, 240, 30); cam2.start(); minim = new Minim(this); file = new SoundFile(this, "/Users/bartce20/Downloads/man-scream-01.mp3"); } void draw() { if(count<2){ if(cam.available()) { cam.read(); myImg=cam; count++; } }else{ if(cam2.available()) { cam2.read(); myImg2=cam2; } } if(myImg!=null && myImg2!=null){ image(myImg, 0, 0,200,200); image(myImg2, 300, 0,200,200); loadPixels(); myImg.loadPixels(); myImg2.loadPixels(); int change = 0; int threshold = 180;//YOU WILL NEED TO TWEAK //VALUE COULD BE MUCH HIGHER //no need to look at all pixels //a sample of 200 should do for (int i = 0; i < 200 && count > 1; i++) { float r = red(myImg.pixels[i]); float r2 = red(myImg2.pixels[i]); if (r!= r2){ change++; } //you may want to compare r to r2 }//for loop ended if (change > threshold){ System.out.println("motion"); myImg = null; myImg2 = null; count = 0; file.play(); } //once change is greater than threshold //println - motion has been detected //when motion is detected you will wan to : //1)set myImg and myImg2 equal to null //2) set count = 0 //extra credit --> play a sound when motion is detected updatePixels(); } }//end of draw

Be the first to comment

You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.