Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

techniken:ps3eye

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

ps3Eye.ino
// 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 PImage, welches es auf dem Bildschrim anzeigt. In der Processing Referenz steht, wie Ihr an die Pixeldaten kommt.

Unter Mac

ToDo..

Unter Linux

ToDo..

techniken/ps3eye.txt · Zuletzt geändert: 2018/11/27 17:06 von SabidJFejzula