Processing/JS

Vídeo Ejemplos 2

Manipular el vídeo

Para modificar el tamaño de la ventana de visualización del vídeo, según la posición del ratón, mouseX y mouseY

import processing.video.*;
Capture video;

void setup() {
size(640,480);
video = new Capture(this,640,480,5);
video.start();
background(255);
}

void draw() {
if (video.available()) {
video.read();
}
image(video,0,0,mouseX,mouseY);
}

Ajustar el brillo

import processing.video.*;
Capture video;

void setup() {
size(640,480);
video = new Capture(this,640,480,5);
video.start();
background(0);
}

void draw() {
if (video.available()) {
// If so, read it.
video.read();
}

loadPixels();
video.loadPixels();

for (int x = 0; x < video.width; x++) {
for (int y = 0; y < video.height; y++) {

int loc = x + y*video.width;
// para leer los valores R,G,B de una imagen
float r,g,b;
r = red (video.pixels[loc]);
g = green (video.pixels[loc]);
b = blue (video.pixels[loc]);

// Calcula y cambia el brillo según la proximidad del ratón
float maxdist = 100;// dist(0,0,width,height);
float d = dist(x,y,mouseX,mouseY);
float adjustbrightness = (maxdist-d)/maxdist;
r *= adjustbrightness;
g *= adjustbrightness;
b *= adjustbrightness;

// Limita los valores RGB entre 0-255
r = constrain(r,0,255);
g = constrain(g,0,255);
b = constrain(b,0,255);

// muestra el nuevo color del pixel en la ventana
color c = color(r,g,b);
pixels[loc] = c;
}
}
updatePixels();
}

Learning Processing
Daniel Shiffman
http://www.learningprocessing.com