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/11/28 15:00]
fbonowski
techniken:ps3eye [2018/11/27 17:06] (aktuell)
SabidJFejzula
Zeile 1: Zeile 1:
-===== Unter Windows ===== +====== Unter Windows =====
-Treiber runterladen und installieren:​ +===== Update vom Update: ===== 
-[[http://​codelaboratories.com/​get/​cl-eye-driver/​]]+ 
 +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. 
 +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:
  
-Processing library installieren:​ 
 [[http://​thomasdiewald.com/​processing/​libraries/​diewald_PS3/​]] [[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. 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"​. Die Lösung: Ein altes Java aus einer alten Processing Version in eure Installation "​transplantieren"​.
Zeile 12: Zeile 89:
 [[http://​thomasdiewald.com/​processing/​app/​temp/​]] [[http://​thomasdiewald.com/​processing/​app/​temp/​]]
  
-Die alte Version ist auch auf den USB-Sticks im Kurs, ihr braucht sie nicht herunterzuladen+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.. 
techniken/ps3eye.1385647207.txt.gz · Zuletzt geändert: 2016/01/21 12:45 (Externe Bearbeitung)