Hi liebe Leute- ich hoffe ich poste hier im richtigen Bereich...
hab ein problem:
Um für ein Arch-Projekt etwas anzutesten benötige ich dringend eine tx-transformation die ich mit processing.org inklusive passendem script durchführen will...
jetzt bin ich nun alles andere als ein experte auf diesem gebiet und übersehe ständig einen fehler (ich glaube es hat mit dem input video zu tun) -und ich komm einfach nicht weiter...bin mir aber sicher das es nur eine kleinigkeit ist....
ich würde mich freuen wenn sich jemand finden würde der mal 5 min drüberliest...und mir weiterhelfen kann.
prog: processing.org
script: http://www.flong.com/writings/lists/list_slit_scan.html
hier das script:
ZitatAlles anzeigen// Simple Slit-Scan Program for QT Video
// Written for Processing version 123.
// Golan Levin, December 2006.
//
// This demonstration depends on the canvas height being equal
// to the movie height. If you would prefer otherwise,
// consider using the image copy() function rather than the
// direct pixel-accessing approach I have used here. -- GL// Load a movie using Processing's QT library.
import processing.video.*;
Movie myMovie;int draw_position_x;
boolean b_newFrame = false; // fresh-frame flag//--------------------------------------------
void setup(){
myMovie = new Movie(this, "titanic.mov");
myMovie.loop();
size(600, 120);
draw_position_x = width - 1;background(0,0,0);
}//--------------------------------------------
void movieEvent(Movie m) {
m.read();
b_newFrame = true;
}//--------------------------------------------
void draw() {
if (b_newFrame) {
int vWidth = myMovie.width;
int vHeight = myMovie.height;
int video_slice_x = myMovie.width/2;
// Copy a column of pixels from the middle of the video
// To a location moving slowly across the canvas.
loadPixels();
for (int y=0; y<vHeight; y++){
int setPixelIndex = y*width + draw_position_x;
int getPixelIndex = y*vWidth + video_slice_x;
pixels[setPixelIndex] = myMovie.pixels[getPixelIndex];
}
updatePixels();
// Wrap the position back to the beginning if necessary.
draw_position_x = (draw_position_x - 1);
if (draw_position_x < 0) {
draw_position_x = width - 1;
}
b_newFrame = false;
}
}
hier der fehler:
ich geh auf "add file" wähle mein vid aus- click auf "play" und es erscheint die meldung:
ZitatAlles anzeigenArrayIndexOutOfBoundsExeption: 72599
java.lang.ArrayIndexOutOfBoundsException: 72599
at Temporary_4662_6317.draw(Temporary_4662_6317.java:48)
at processing.core.PApplet.handleDisplay(PApplet.java:1459)
at processing.core.PGraphics.requestDisplay(PGraphics.java:690)
at processing.core.PApplet.run(PApplet.java:1556)at java.lang.Thread.run(Unknown Source)
java.lang.ArrayIndexOutOfBoundsException: 72599at Temporary_4662_6317.draw(Temporary_4662_6317.java:48)
at processing.core.PApplet.handleDisplay(PApplet.java:1459)
at processing.core.PGraphics.requestDisplay(PGraphics.java:690)
at processing.core.PApplet.run(PApplet.java:1556)
at java.lang.Thread.run(Unknown Source)
die zeile im script ist rot unterlegt:
Zitatpixels[setPixelIndex] = myMovie.pixels[getPixelIndex];
mein input movie:
filename: titanic.MOV
codec: mp4v
auflösung: 720x480
framerate: 29.970029
laufzeit: 06sek
das mitgelieferte beispielmovie das funktioniert:
filename: titanic.MOV
codec: cvid
auflösung: 240x120
framerate: 10.000000
laufzeit: 07sek
irgendwie hab ichs geschafft das ichs schon wieder eilig hab...wäre über jede idee dankbar und lass auch das ein oder andere bier springen
danke im voraus !
mfg