lunes, 17 de diciembre de 2012

videos

















Proyecto  Cuatrimestre II

Maestría En Artes Electrónicas - Untref- Prof. Augusto Zanela 







PROYECTO
 II CUATRIMESTRE

IMAGEN – SONIDO

Objetivo general : transformar la imagen en sonido.

Objetivos específicos:
- Investigar algoritmos generadores de  espejos en processing
- Investigar sobre la disposición de lentes para alterar las imágenes tomadas por una cámara de video.
- Producir  un video, para registrar las transformaciones.
- Crear un instrumento generador de sonidos a partir de imágenes-luz.

Descripción

En primera instancia se elaboraron unos prototipos con lentes para modificar las imágenes que registra una cámara digital de video con lente fijo. Se trataba de lograr mas profundidad y texturas en las imágenes.
Una vez producido el video, se proyecta , tratando de lograr cierta tridimensionalidad holográfica a través de un fresnel antepuesto a la pantalla del computador. El cual amplifica la imagen y la luz que este produce.
A continuación se crea un dispositivo que con sensores LDR, conectados a un circuito integrado y a un amplificador de sonido, es sensible a la  intensidad de luz y la transforma en sonidos
Lo anterior queda articulado en el montaje de una video - instalación sonora.


Memoria Conceptual

“Transformar lo que veo en lo que escucho”.
Esta video instalación consiste en dos proyecciones de video sobre una pared; El primer video trata sobre los mil rostros del progresismo, cuando el espectador se coloca frente a esta proyección, su imagen es grabada por una cámara y proyectada en la proyección adyacente, como un rostro mas. A su vez, en cada zona de proyección se han adherido fotorresistencias a la pared de manera que la luz de las proyecciones incide sobre los sensores generando sonidos.

Al elegir las imágenes que representan lo que quiero expresar, estoy partiendo de conceptos pre establecidos; ya sea que se trate de registrar los hechos mas espontáneos e impredecibles que estén ocurriendo, al quedar grabados, remiten a situaciones que se traducen en ideas y estas en conceptos nuevamente. Al transformar un proceso de percepción visual, en uno auditivo pasamos de una forma de comunicación verbal a una pre verbal  y de una manera simultanea, se va resinificando lo que vemos.



LA VISIÓN DIGITAL  : LOS ESPEJOS EN PROCESSING.

Para ello experimente con unos códigos de captura de video que a partir del brillo, transforman  la imagen, dando a lo largo del proceso los siguientes resultados
1) fragmentando cada pixel  en pequeños rectángulos del blanco al azul; y donde el tamaño de cada pixel depende de su cantidad de brillo.
2) cada pixel rota, lo cual imprime a la imagen una textura en constante variación. 3) el modo de color pasa de blanco y azul a RGB

ESPEJO 1

Este código funciona con detección de movimiento y además del modo RGB, tiene un canal alfa  que permite ver una imagen de fondo, junto con el video que se va capturando.

ESPEJO 2

En el siguiente código cada pixel es dibujado como un rectángulo cuyo tamaño depende de la intensidad del brillo de la imagen

ESPEJO 3

En este código,  además de que dibuja cada pixel como un rectángulo , cuyo tamaño depende de la intensidad del brillo de la imagen; hace rotar cada rectángulo.




ESPEJO 4
Este espejo, hace lo mismo que los anteriores, pero con
 Modo de color RGB





EL SONIDO

- Construcción de un instrumento sonoro con LDRs, conectados a un amplificador de sonido.




PROPUESTA TECNOLÓGICA

1- Los espejos en processing
2- Un oscilador, con fotorresistencias y el circuito integrado 74HC14


experimenté con unos códigos de captura de video que a partir del brillo, transforman  la imagen, dando a lo largo del proceso los siguientes resultados
1) fragmentando cada pixel  en pequeños rectángulos del blanco al azul; y donde el tamaño de cada pixel depende de su cantidad de brillo.
2) cada pixel rota, lo cual imprime a la imagen una textura en constante variación. 3) el modo de color pasa de blanco y azul a RGB












ESPEJO 1

Este código funciona con detección de movimiento y además del modo RGB, tiene un canal alfa  que permite ver una imagen de fondo, junto con el video que se va capturando.

import codeanticode.gsvideo.*;
// import processing.video.*;                // MAC

GSCapture cam;
// Capture cam;
PImage imgb;// MAC

PImage imgout;

color ca,cb,cd,ct;
float ra,ga,ba;
float rb,gb,bb;

float rt,gt,bt;

float alfa = 0.7;

void setup() {

  size(640, 480);
  background(0);

  cam = new GSCapture(this, 320, 240);
  //cam = new Capture(this, 320, 240);        // MAC

  imgout = createImage(cam.width,cam.height,RGB);
  imgb = loadImage("noticia.jpg");

  cam.start();

}

void draw() {

 alfa= map(mouseX,0,width,0,1);

  if (cam.available() == true) {
   
    cam.read();
   

   
    transformar();
   
    image(imgout, 0, 0,width,height);
   
  }

}

void transformar() {

  for (int j=0;j<cam.height;j++) {
    for (int i=0;i<cam.width;i++) {
    
      ca = cam.get(i,j);
     
      ra = red(ca);
      ga = green(ca);
      ba = blue(ca);
    
      cb = imgb.get(i,j);
     
      rb = red(cb);
      gb = green(cb);
      bb = blue(cb);
     
     
      
     
      rt = alfa * ra + (1- alfa) *rb;
      gt = alfa * ga + (1- alfa)*gb;
      bt = alfa * ba +(1- alfa)*bb;
     
     
      ct= color(rt,gt,bt);
      imgout.set(i,j,ct);
     
    }
  }


}


void keyPressed (){

  if (key==' '){
    //save(ij.jpg)
    saveFrame("ia####.jpg");
  

  }


}

ESPEJO 4
Este espejo, hace lo mismo que los anteriores, pero con
 Modo de color RGB

/* Mirror 2
 * by Daniel Shiffman.
 *
 * Each pixel from the video source is drawn as a rectangle with size based on brightness. 
 */

import processing.video.*;
float rot= 0;
// Size of each cell in the grid
int cellSize = 20;
// Number of columns and rows in our system
int cols, rows;
// Variable for capture device
Capture video;


void setup() {
  size(1280,960, P2D);
  frameRate(30);
  //set up columns and rows
  cols = width / cellSize;
  rows = height / cellSize;
  colorMode(RGB, 255,255, 255, 100);
  rectMode(CENTER);

  // Uses the default video input, see the reference if this causes an error
  video = new Capture(this, width, height,12);

  background(125, 125, 125,200);
}
void draw() {
  if (video.available()) {
    video.read();
    video.loadPixels();

    background(125, 125, 125, 200);

    // Begin loop for columns
    for (int i = 0; i < cols;i++) {
      // Begin loop for rows
      for (int j = 0; j < rows;j++) {

        // Where are we, pixel-wise?
        int x = i * cellSize;
        int y = j * cellSize;
        int loc = (video.width - x - 1) + y*video.width; // Reversing x to mirror the image
        float r = red(video.pixels[loc]);
        float g = green(video.pixels[loc]);
        float b = blue(video.pixels[loc]);
        // Make a new color with an alpha component
        color c = color(r, g, b, 75);
        // Code for drawing a single rect
        // Using translate in order for rotation to work properly
       
        float sz = (brightness(c) / 255.0) * cellSize;
        fill(c);
        noStroke();
        rect(x + cellSize/2, y + cellSize/2, sz, sz);
        translate(x, y);
        rotate(rot);
        rect(0, 0, cellSize+6, cellSize+6);
        resetMatrix();
         while (x < 16) {
         
          while (y < 16) {
            // we give a unique rotation amount to each rectangle, depending
            // on which column and row the rectangle is located (x and y)
            //drawRotatingrectangle();//50 + x )* 40, (50 + y) * 30, 16, rot +2x + 2y);
            y = y + 1;
          }
          x = x + 1;
        }
        rot = rot +0.9;
      }
    }
  }
}






OSCILADOR

1.    
2.   74C14
3.   Resistencia 10 K
4.   Capacitor 1 Mf
5.   Potenciómetro 1M
6.   Coneccion a Bateria
7.   RCA hembra
8.   LDRs