Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
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. |