Benutzer-Werkzeuge

Webseiten-Werkzeuge


techniken:ps3eye

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
techniken:ps3eye [2013/12/13 11:39]
fbonowski
techniken:ps3eye [2018/11/27 17:06] (aktuell)
SabidJFejzula
Zeile 1: Zeile 1:
 ====== Unter Windows ====== ====== 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 ====
 +<file Java 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. ​
 +}
 +
 +</​file>​
 +
 +
 +===== 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. Unter Windows ist ein spezieller Treiber nötig, der dafür aber auch einen Haufen nützlicher Funktionen bietet.
techniken/ps3eye.1386931163.txt.gz · Zuletzt geändert: 2016/01/21 12:45 (Externe Bearbeitung)