Webcambeeld gebruiken

Hieronder staat de volledige Processing-code om een webcambeeld in te lezen en weer te geven:

import processing.video.*;

Capture cam;



void setup() {

  size(640, 480);

  String[] cameras = Capture.list();

  if (cameras == null || cameras.length == 0) {

      println("Geen camera gevonden!");

      exit();

  }else{

      cam = new Capture(this, cameras[0]);

      cam.start();

  }

}



void draw() {

  if (cam.available()) {

    cam.read();

  }

  image(cam, 0, 0);

}

Stap 1:Importeren van de video-bibliotheek.

import processing.video.*;

Hiermee importeer je de video-bibliotheek in Processing, die nodig is om de webcam te kunnen gebruiken.

Stap 2:Definieer een Capture-object.

Capture cam;

Hiermee maak je een variabele genaamd cam aan van het type Capture, waarmee je later het webcambeeld kunt opslaan.

Stap 3:Setup-functie om het scherm in te stellen en de webcam te initialiseren.

void setup() {

  size(640, 480);

}

Dit stelt de grootte van het venster in op 640 pixels breed en 480 pixels hoog.

Stap 4:Lijst van beschikbare camera's ophalen.

String[] cameras = Capture.list();

Deze regel haalt een lijst op van alle beschikbare camera's die op je computer zijn aangesloten.

Stap 5:Controleer of er camera's beschikbaar zijn.

if (cameras == null || cameras.length == 0) {

  println("Geen camera gevonden!");

  exit();

}

Hier controleer je of er geen camera's beschikbaar zijn. Als dat het geval is, wordt er een foutmelding gegeven en de applicatie afgesloten.

Stap 6:Initialiseer de webcam.

cam = new Capture(this, cameras[0]);

cam.start();

Hiermee initialiseer je de webcam en start je deze. We kiezen hier de eerste beschikbare camera.

Stap 7:Draw-functie om de webcambeelden te tonen.

void draw() {

  if (cam.available()) {

    cam.read();

  }

  image(cam, 0, 0);

}

Deze code controleert eerst of er een nieuw frame van de webcam beschikbaar is. Als dat het geval is, wordt dat frame gelezen. Vervolgens wordt het beeld van de webcam op het canvas weergegeven met

image(cam, 0, 0);
.

Volgende pagina