kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




Verwendung einer eingebauten Webcam plattformunabhängig

(EN google-translate)

(PL google-translate)

Ohne Änderung des Processing Quelltextes soll die eingebaute Kamera sowohl beim Laptop im Java-Mode, als auch im Android-Mode bei einem Android-Tablet angesprochen werden.

Vorgehen:

  • Zwei Klassen, eine für Java, eine für Android werden geschrieben. Beide implementieren ein
  • Interface iKamera.
  • Eine Klasse Kamera (Fassade-Pattern) zieht je nach Betriebssystem (von Info geliefert) die eine oder andere Kameraklasse an.
Klassen-Struktur (Klassen-UML-Diagramm) aus BlueJ.

Bild 0-1: Klassen-Struktur (Klassen-UML-Diagramm) aus BlueJ.

mikroanw_20160418_einf_processing_3.zip - BlueJ-Projekt, inklusive JAR-Datei-Erzeugung und JAVADOC-Erzeugung.
kamera.zip - Aus dem BlueJ-Projekt gewonnene Processing-Library.
Damit BlueJ die Processing-Klassen kompilieren kann, werden die Processing Libraries in /usr/share/bluej/userlib eingefügt.

Bild 0-2: Damit BlueJ die Processing-Klassen kompilieren kann, werden die Processing Libraries in /usr/share/bluej/userlib eingefügt.


import kamera.Kamera;
import processing.video.Capture;
import ketai.camera.*;

Kamera kamera;
PImage bild;
void setup() 
{
  orientation(LANDSCAPE);
  size(displayWidth,displayHeight);
  imageMode(CENTER);
  
  kamera = new Kamera(this);  
}

void draw() 
{   
    bild = kamera.holeBild();
    if(bild!=null)
        image(bild,displayWidth/2,displayHeight/2);
}

Code 0-1: Einfacher Processing-Sketch, der von der Plattformunabhängigen Library Gebrauch macht.