How to delete wavy effect on this code

/**

  • Time Displacement
  • by David Muth
  • Keeps a buffer of video frames in memory and displays pixel rows
  • taken from consecutive frames distributed over the y-axis
    */

import processing.video.*;

Capture video;
int signal = 0;

//the buffer for storing video frames
ArrayList frames = new ArrayList();

void setup() {
size(640, 480);

// This the default video input, see the GettingStartedCapture
// example if it creates an error
video = new Capture(this, width, height);

// Start capturing the images from the camera
video.start();
}

void captureEvent(Capture camera) {
camera.read();

// Copy the current video frame into an image, so it can be stored in the buffer
PImage img = createImage(width, height, RGB);
video.loadPixels();
arrayCopy(video.pixels, img.pixels);

frames.add(img);

// Once there are enough frames, remove the oldest one when adding a new one
if (frames.size() > height/4) {
frames.remove(0);
}
}

void draw() {
// Set the image counter to 0
int currentImage = 0;

loadPixels();

// Begin a loop for displaying pixel rows of 4 pixels height
for (int y = 0; y < video.height; y+=4) {
// Go through the frame buffer and pick an image, starting with the oldest one
if (currentImage < frames.size()) {
PImage img = (PImage)frames.get(currentImage);

  if (img != null) {
    img.loadPixels();
    
    // Put 4 rows of pixels on the screen
    for (int x = 0; x < video.width; x++) {
      pixels[x + y * width] = img.pixels[x + y * video.width];
      pixels[x + (y + 1) * width] = img.pixels[x + (y + 1) * video.width];
      pixels[x + (y + 2) * width] = img.pixels[x + (y + 2) * video.width];
      pixels[x + (y + 3) * width] = img.pixels[x + (y + 3) * video.width];
    }  
  }
  
  // Increase the image counter
  currentImage++;
   
} else {
  break;
}

}

updatePixels();

// For recording an image sequence
//saveFrame(“frame-####.jpg”);
}

This code is example from processing, and I want to delete wave effect. However, to show a few seconds before scene, does this effect is necessary?

Hi @pushhand,

Can you please format your code by using the </> button when editing your message or surround your code with backticks like so ``` code ``` → code?

Try to understand how the code works. If you are not familiar with pixel processing and images/video, follow the tutorials on the Processing website:

Once you understand how it works, you will be able to see where the wave effect occurs and adapt it to your needs but it’s not as simple as “remove X from this code” :wink:

2 Likes