Quantcast
Channel: Processing Forum
Viewing all articles
Browse latest Browse all 1768

Issue with a sketch from mac to windows, please help

$
0
0
Hi everybody,

I've a big issue with a sketch I've made 3 years ago in a macintosh, it won't work now that I want it on my pc. (and maybe because of processing 2)
The sketch must capture my cam video and decompose the motion of my body.
I'm a noob in processing,  I just remember that I mixed 2 sketches and that it worked... It seems that numPixel do not exist...


The sketch is:


import processing.video.*;



int numPixels;

int[] previousFrame;

Capture video;


boolean cheatScreen;


// All ASCII characters, sorted according to their visual density

String letterOrder =

" .`-_':,;^=+/\"|)\\<>)iv%xclrs{*}I?!][1taeo7zjLu" +

"nT#JCwfy325Fp6mqSghVd4EgXPGZbYkOA&8U$@KHDBWNMR0Q";

char[] letters;


float[] bright;

char[] chars;


PFont font;

float fontSize = 1.5;


void setup() {

size(1680, 1050); // Change size to 320 x 240 if too slow at 640 x 480 or 1680/1050

// Uses the default video input, see the reference if this causes an error

video = new Capture(this, width, height, 36);

numPixels = video.width * video.height;

// Create an array to store the previously captured frame

previousFrame = new int[numPixels];

loadPixels();

}


void draw() {

if (video.available()) {

// When using video to manipulate the screen, use video.available() and

// video.read() inside the draw() method so that it's safe to draw to the screen

video.read(); // Read the new frame from the camera

video.loadPixels(); // Make its pixels[] array available

int movementSum = 0; // Amount of movement in the frame

for (int i = 0; i < numPixels; i++) { // For each pixel in the video frame...

color currColor = video.pixels[i];

color prevColor = previousFrame[i];

// Extract the red, green, and blue components from current pixel

int currR = (currColor >> 16) & 0xFF; // Like red(), but faster

int currG = (currColor >> 8) & 0xFF;

int currB = currColor & 0xFF;

// Extract red, green, and blue components from previous pixel

int prevR = (prevColor >> 16) & 0xFF;

int prevG = (prevColor >> 8) & 0xFF;

int prevB = prevColor & 0xFF;

// Compute the difference of the red, green, and blue values

int diffR = abs(currR - prevR);

int diffG = abs(currG - prevG);

int diffB = abs(currB - prevB);

// Add these differences to the running tally

movementSum += diffR + diffG + diffB;

// Render the difference image to the screen

pixels[i] = color(diffR, diffG);

// The following line is much faster, but more confusing to read

//pixels[i] = 0xff000000 | (diffR << 16) | (diffG << 8) | diffB;

// Save the current color into the 'previous' buffer

previousFrame[i] = currColor;

}

// To prevent flicker from frames that are all black (no movement),

// only update the screen if the image has changed.

if (movementSum > 0) {

updatePixels();

println(movementSum); // Print the total amount of movement to the console

}

}

}



Viewing all articles
Browse latest Browse all 1768

Trending Articles