ITP

Posted by Omer

04 Apr 2013 — No Comments

Posted in ITP, Works

Here's something I did with Surya Mattu for James George's video art class at ITP. For now, it's a program that takes feeds from traffic cameras, extracts cars and turns them into sprites. There's some fun stuff coming up in part 2, so watch this space.

Tools: openFrameworks, OpenCV.

Posted by Omer

03 Mar 2013 — No Comments

Posted in ITP

PermCamera.png

This is a little thing I've been working on for James George's class. It's a sketch that evolves a 2D image sequence from a single video line. Right now it uses some form of averaging, but soon I'll write a 1D cellular automaton to make it more interesting. Here are some results.

Here's the code:

/**
 *  Type 1,2 for different 'flame' modes
 *	type 'c' to turn clipping on/off
 *	@author Omer Shapira
 */

import processing.video.*;

Capture video;
PImage img;
boolean clip = true;
int type = 0;

void setup(){
  size(640, 480);
  video = new Capture(this);
  video.start();
  img = createImage(640,480, RGB);
  img.loadPixels();
}

void draw(){
  update();
  image(img,0,0);
}

void update(){
  if (video.available() == true) {
    video.read();
    video.loadPixels();

    int ix,iy;
    for (int i = width*height-1; i>=0; i--){
      ix = i%width;
      iy = i/width;
      if (iy >= height-2){
        img.pixels[i] = video.pixels[i];
        } else {
        	switch (type){
        		case 0 :
        			img.pixels[i] = averageColors(clip, img.pixels[i+width - 1], img.pixels[i+width] ,(ix==width-1? img.pixels[i+width - 1] : img.pixels[i+width + 1]), img.pixels[i+width*2]);
        		break;	
        		case 1 :
        			img.pixels[i] = averageColors(clip, img.pixels[i], img.pixels[i+width]);		
        		break;	

        	}
      }
  }
  img.updatePixels();
}
}

int averageColors(boolean clip, color... colors){
  float tempfloat = 0;
  int tempColor = 0;

  for (int i = 0; i<4; i++){
    int range = 255<<(8*i);
    for (color c : colors){
          tempfloat += (c&range);
      }

    tempfloat /= (float) colors.length;
    tempColor += (!clip ? int(tempfloat) : int(tempfloat)&range);
    tempfloat = 0;
    }
return tempColor;
}

void keyTyped(){
	if (key < '9' && key > '0'){
	type = int(key)%2;	
	} else if (key=='c') {
		clip = !clip;
	}
}

Posted by Omer

22 Feb 2013 — No Comments

Posted in ITP, Works

This is my first assignment for James George's class, Emerging Processes in Video Art. The pixel sorting program was written by me. It runs in real time.

Posted by Omer

20 Feb 2013 — No Comments

Posted in ITP

This week, Ryan Bartley and I set out to Brad's at NYU. We set up a node.js server on an Amazon EC2 instance, ran spacebrew on it, and wrote a little chat program to communicate. We also had too many beers. Enjoy.

Posted by Omer

13 Feb 2013 — No Comments

Posted in ITP

This week, Ryan Bartley and I started making spacebrew tutorials in pubs. The first installment discusses starting a spacebrew server on your own computer, using WiFi you stole at Spike Hill, Williamsburg.