Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Loading…

mirroring #1

Open
techno94 opened this Issue · 3 comments

2 participants

@techno94

hello is it possible to have mirroring in you re sketch
and register a movie of the painting ?

thanks

@ericbarch
Owner

Just saw your post on my blog...is this what you were looking to see changed?

int[] imgNormal = videoSrc.cameraImage();

for(int i=1; i<width;i++){
for(int j=1;j<height;j++){
this.pixels[(videoSrc.width() - i - 1) + j * videoSrc.width()] = imgNormal[(i) + j * videoSrc.width()];
}
}

@ericbarch
Owner

Don't have a way of recording a movie at the moment =/ It's actually been quite some time since I've looked at this...it was just put together quickly one night. Are you interested in help develop it?

@techno94

hi hello sorry i don t pass on the web site since a moment.
yes i put
int[] imgNormal = videoSrc.cameraImage();

for(int i=1; i<width;i++){
for(int j=1;j<height;j++){
this.pixels[(videoSrc.width() - i - 1) + j * videoSrc.width()] = imgNormal[(i) + j * videoSrc.width()];
}
}
on you re web site.
i ve found a sketch of mirroring, but i don t arrived to mix you re sketch and this sketch.
i just arrived to have mirroring, or light painting not both.

for recording, i ve take a look, i arrived to record but the sketch become very slow.
here what i do with you re sketch thanks

/* Light Painting Assist App v0.1 by Eric Barch (ttjcrew.com) */

//Sets the minimum value to be counted as intense (Max of 255)
int INTENSITY_MIN = 175;
import processing.video.*;
MovieMaker mm;

/* Begin Main Code /
import JMyron.
;
JMyron videoSrc;
int[] currFrame;
int[] lastFrame;

void setup() {
size(640, 480);
videoSrc = new JMyron();
videoSrc.start(width, height);
videoSrc.findGlobs(0);

videoSrc.update();
lastFrame = videoSrc.image();
mm = new MovieMaker(this, width, height, "painting.mov" , 15, MovieMaker.H263, MovieMaker.HIGH);
}

void draw() {
videoSrc.update();
currFrame = videoSrc.image();

loadPixels();

for (int i = 0; i < width*height; i++) {
float r = red(currFrame[i]);
float g = green(currFrame[i]);
float b = blue(currFrame[i]);
float rl = red(lastFrame[i]);
float gl = green(lastFrame[i]);
float bl = blue(lastFrame[i]);

//if it's bright we need to save it
if (((r + g + b)/3) > INTENSITY_MIN) {
  lastFrame[i] = color(r, g, b);
} //dark...overwrite with current cam frame
else if (((rl + gl + bl)/3) <= INTENSITY_MIN) {
  lastFrame[i] = color(r, g, b);
}

pixels[i] = lastFrame[i];

}

updatePixels();
mm.addFrame();

}

void mousePressed() {
videoSrc.update();
lastFrame = videoSrc.image();
}

public void stop() {
videoSrc.stop();
super.stop();
}
void keyPressed() {
// Finish the movie if space bar is pressed!
if (key == ' ' ) {
println( "finishing movie" );
// Do not forget to finish the movie! Otherwise, it will not play properly.
mm.finish();
}
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.