Februar 28, 2012
![](../../../../files/2012/02/Unbenannt-1.jpg)
![](../../../../files/2012/02/Bildschirmfoto-2012-02-28-um-09.19.15.png)
![](../../../../files/2012/02/Bildschirmfoto-2012-02-28-um-09.18.56.png)
import processing.video.*; Capture myCapture; int pixelx= 1; int pixely= 1; color [] farbe; int coutner = 0; void setup() { size(800, 450); String s = "DV Video"; myCapture = new Capture(this, width, height); // Set the frameRate to read 4 new images per second myCapture.frameRate(25); farbe = new color[(800)*(450)]; } void draw() { if (myCapture.available()) { myCapture.read(); } //image(myCapture, 0, 0); // println(Capture.list()); coutner = 0; if(mousePressed == true){ farbe = sort(farbe); for (int y = 0; y<height; y+=pixely) { for (int x = 0; x < width; x+=pixelx) { noStroke(); fill(farbe[coutner]); coutner++; rect(x,y,pixelx,pixely); } } }else{ farbe = new color[(800)*(450)]; for (int y = 0; y<height; y+=pixely) { for (int x = 0; x < width; x+=pixelx) { color c = getAvarageColor(myCapture, x, y, pixelx, pixely); noStroke(); fill(c); farbe[coutner] = c; coutner++; pixelx = int(map(mouseX,0,width,1,20)); pixely = int(map(mouseY,0,height,1,20)); rect(x,y,pixelx,pixely); } } } } color getAvarageColor(Capture _img, int _posX, int _posY, int _w, int _h) { int vR = 0; int vG = 0; int vB = 0; for (int y=_posY; y<_posY+_h; y++) { for (int x=_posX; x<_posX+_w; x++) { vR += red(_img.get(x, y)); vG += green(_img.get(x, y)); vB += blue(_img.get(x, y)); } } return(color(vR/(_w*_h), vG/(_w*_h), vB/(_w*_h))); }