====== Unter Windows ====== ===== Update vom Update: ===== Importiert die Library PS3Eye über Sketch>Library importieren>Library hinzufügen. Dann schaut euch die Beispiele unter Datei>Beispiele>Contributed Librarys an. ===== Neue Anleitung hier: (Veraltet) ===== Treiber für Windows gibts es hier: [[https://www.isis.tu-berlin.de/2.0/mod/resource/view.php?id=134766]] Die Zuverlässigste Library für Processing kommt aus einer alten Version des SDK (die neuen laufen nicht mehr unter Windows mit 64Bit): [[https://www.isis.tu-berlin.de/2.0/mod/resource/view.php?id=134767]] Der in der .zip Datei enthaltene Ordner muss ins Dokumente/Processing/libraries Verzeichnis entpackt werden. Die Library braucht zusätzlich eine .dll Datei:[[https://www.isis.tu-berlin.de/2.0/mod/resource/view.php?id=134768]] Diese muss irgendwohin, wo ihr sie wiederfindet. Dieser Pfad muss dann in das Processing-Programm eingetragen werden, damit die .dll auch gefunden wird. ==== Ein Beispielprogramm ==== // 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. } ===== Update: Diese folgende Anleitung ist obsolet, und steht hier nur noch der Vollständigkeit halber: ===== Unter Windows ist ein spezieller Treiber nötig, der dafür aber auch einen Haufen nützlicher Funktionen bietet. Folgende Schritte sind notwendig: ==== Treiber runterladen und installieren: ==== Ladet den Treiber Installer auf [[http://codelaboratories.com/get/cl-eye-driver/]] herunter, führt ihn aus und folgt den Instruktionen... ==== Processing Library installieren: ==== Für die Verwendung der Library hat Thomas Diewald eine Library geschrieben und ins Netz gestellt. Ihr findet sie hier: [[http://thomasdiewald.com/processing/libraries/diewald_PS3/]] Auf der Seite sind auch die für die Installation nötigen Schritte beschrieben. ==== Auf 64bit Systemen: Processing patchen ==== Unter Windows 7 auf 64bit Systemen gibt es ein Problem mit der aktuellen Java-Version. Die Lösung: Ein altes Java aus einer alten Processing Version in eure Installation "transplantieren". Wie das geht ist hier beschrieben : [[http://thomasdiewald.com/processing/app/temp/]] Die alte Version ist auch auf den USB-Sticks im Kurs, ihr braucht sie nicht herunterzuladen. ==== Los gehts! ==== Ob alles geklappt hat, mit dem Processing Beispiel //**Contributed Libraries/diewald_PS3/basicCapture**// ausprobieren. Das Beispiel startet die Kamera und kopiert in jedem "draw" Zyklus die aktuellen Videodaten in ein Bild vom Typ [[http://processing.org/reference/PImage.html|PImage]], welches es auf dem Bildschrim anzeigt. In der Processing Referenz steht, wie Ihr an die Pixeldaten kommt. ====== Unter Mac ====== ToDo.. ====== Unter Linux====== ToDo..