let video; // flusso video
let quadratinoSize = 8; // dimensione dei quadratini
let isColored = false; // effetto BN
function setup() {
createCanvas(640, 480);
pixelDensity(2); // controllo pixel
video = createCapture(VIDEO, streamLoaded); // inizializzo la cattura video
video.size(width, height); // adatto il video alla canvas
video.hide(); // nascondo il feed originale
}
function draw() {
background(220);
video.loadPixels(); // carico i pixel del video
// griglia di pixel
for (let y = 0; y < video.height; y += quadratinoSize) {
for (let x = 0; x < video.width; x += quadratinoSize) {// Indice per accedere ai dati RGBA dei pixel let i = (x + y * video.width) * 4; let r = video.pixels[i]; let g = video.pixels[i + 1]; let b = video.pixels[i + 2]; // Calcolo luminosità per effetto BN let brightness = (r + g + b) / 3; // Definisco l'effetto interattivo if (isColored) { // Se isColored è vero, uso i colori originali (R, G, B) fill(r, g, b); } else { // Se è falso, uso il valore di luminosità per il bianco e nero fill(brightness); } // Disegno il quadratino della griglia noStroke(); rect(x, y, quadratinoSize, quadratinoSize); }
}
}
// Interazione per cambiare tra BN e Colore:
function mousePressed() {
isColored = !isColored;
}
function streamLoaded() {
console.log(“Videoooooo!!!!”);
}

Lascia un commento
Devi essere connesso per inviare un commento.