// Ein Beispielprogramm zur Verwendung der CL_Eye Multicam Library (Felix Bonowski, 2014 , public domain) import cl.eye.*; // verwende die CLEyeMulticam Library CLCamera myCamera; // Ein Object vom Typ CLCamera mit dem Namen myCamera - es repräsentiert die Kamera in unserem Programm. PImage myImage; // Ein Object vom Typ PImage mit dem Namen myImage - wir verwenden es, um die Bildaten von der Kamera grafisch anzuzeigen. int cameraWidth = 640; int cameraHeight = 480; int cameraRate = 60; // Die Bildwiederholfrequenz, mit der wir aufnehmen wollen. void setup() { size(640, 480); // mache das Fenster genau so groß wie das Bild CLCamera.loadLibrary("C:\\CLEyeMulticam.dll"); // Hier müsst ihr den Pfad angeben, an dem ihr eure CLEyeMulticam.dll liegen habt! myCamera=getPS3EyeInstance(); // Alles, was wir tun müssen, um die Kamera in Gang zu setzen ist in einer eigenen Funktion, die uns eine laufende Kamera zurückgibt. myImage = createImage(cameraWidth, cameraHeight, RGB); // initialisiere das Bild, so dass die Kameradaten darin Platz haben frameRate(100); } void draw() { myCamera.getCameraFrame(myImage.pixels, 1000 ); // kopiere die Daten des nächsten Kamerabildes in den Pixelspeicher des Bildes myImage. Warte höchsten 1000ms auf ein neues Bild myImage.updatePixels(); // nachdem die pixel in myImage geändert wurden, müssen wir diese Funktion aufrufen, damit sie auch angezeigt werden. image(myImage, 0, 0); // zeichne das Bild in die obere linke Ecke des Fensters. } //Diese Funktion übernimmt die Einrichtung der Kamera CLCamera getPS3EyeInstance() { CLCamera myCamera=new CLCamera(this); // Erzeuge ein neues KameraObjekt myCamera.createCamera(0, CLCamera.CLEYE_COLOR, CLCamera.CLEYE_VGA, cameraRate); //stelle Farbe, Auflösung und Bildwiederholrate ein. myCamera.startCamera(); // Beginne mit dem Aufnehmen // Schalte die Automatische Belichtung und den Weißabgleich aus (das hilft, die Farben im Bild konstant zu halten) myCamera.setCameraParam(CLCamera.CLEYE_AUTO_GAIN, 0); myCamera.setCameraParam(CLCamera.CLEYE_AUTO_EXPOSURE, 0); myCamera.setCameraParam(CLCamera.CLEYE_AUTO_WHITEBALANCE, 0); // Stelle manuell die Belichtungszeit und den ISO (gain) ein. myCamera.setCameraParam(CLCamera.CLEYE_GAIN, 10); //[0, 79] myCamera.setCameraParam(CLCamera.CLEYE_EXPOSURE, 511); //[0, 511] // Stelle den Weißabgleich auf einen neutralen Wert. myCamera.setCameraParam(CLCamera.CLEYE_WHITEBALANCE_RED, 128);//[0, 255] myCamera.setCameraParam(CLCamera.CLEYE_WHITEBALANCE_GREEN, 128);//[0, 255] myCamera.setCameraParam(CLCamera.CLEYE_WHITEBALANCE_BLUE, 128);//[0, 255] return myCamera; // Gib das fertige Kameraobjekt zurück. }