Virtuelles Eingabemedium basierend auf optischen Trackingverfahren

Größe: px
Ab Seite anzeigen:

Download "Virtuelles Eingabemedium basierend auf optischen Trackingverfahren"

Transkript

1 Virtuelles Eingabemedium basierend auf optischen Trackingverfahren Sabine Bamberger DIPLOMARBEIT eingereicht am Fachhochschul-Diplomstudiengang Medientechnik und -design in Hagenberg im Juni 2004

2 c Copyright 2004 Sabine Bamberger Alle Rechte vorbehalten ii

3 Erklärung Hiermit erkläre ich an Eides statt, dass ich die vorliegende Arbeit selbstständig und ohne fremde Hilfe verfasst, andere als die angegebenen Quellen und Hilfsmittel nicht benutzt und die aus anderen Quellen entnommenen Stellen als solche gekennzeichnet habe. Hagenberg, am 16. Juni 2004 Sabine Bamberger iii

4 Inhaltsverzeichnis Erklärung Danksagung Kurzfassung Abstract iii v vi vii 1 Einleitung Zielsetzung Aufbau der Arbeit Trackingsysteme WasistTracking? MechanischesTracking Magnetisches Tracking AkustischesTracking InertialTracking OptischesTracking HybridesTracking OptischeFingertrackingverfahren TrackingdurchFarb-Segmentierung Konturbasiertes Tracking Detektion durch Korrelation Markerbasiertes Tracking Konzept und Design AnforderungenundFunktionsumfang CamShiftBoard LaserBoard Aufbau der Hardware CamShiftBoard LaserBoard Aufbau der Software iv

5 INHALTSVERZEICHNIS v 3.4 Keyboard Design Implementierung VerwendeteBibliotheken OpenCV LibXml Initialisierung CamShiftBoard Kalibrierung Camshift-Algorithmus LaserBoard Kalibrierung Blobanalyse xmlparser Auswertung der getrackten Koordinaten TrackBoard Bedienung CamShiftBoard LaserBoard Verwandte Arbeiten Keyboards mit Sensoren Senseboard Virtual Keyboard KITTY Lightglove InkLink Projizierte Keyboards VKey - Virtual Keyboard Siemens-Smartphone SX Weiterentwicklungen TrackingmitInfrarot Alternative Eingabeflächen Resumée 62 Literaturverzeichnis 63

6 Danksagung Ich möchte mich bei all jenen Menschen bedanken, die mich in der Zeit während der Diplomarbeit bewusst oder auch unbewusst unterstützt haben. Besonders möchte ich mich bei meinem Betreuer DI Dr. Michael Haller bedanken, der mich zu diesem Thema motivierte. Er stand mir jederzeit mit Rat und Tat zur Seite und gab mir genügend Druck, der mich bis zum ersten Termin im Juli fertig werden ließ und mir so einen schönen Sommer ermöglicht. Weiters gebührt mein Dank meinem Freund Daniel Schwarzenberger, der sehr viel Verständnis zeigte, wenn wieder einmal wegen dieser Arbeit keine Zeit für ihn blieb. Er gab mir stets Rückhalt und hatte in stressigen und von Verzweiflung geprägten Momenten immer aufmunternde Worte für mich parat. Schließlich möchte ich mich noch bei meinen Kollegen des Jahrgangs 2000 bedanken, mit denen ich in den letzten vier Jahren eine wirklich schöne Zeit verbringen durfte. Ich werde mich immer gerne daran erinnern. vi

7 Kurzfassung In den letzten Jahren ist die Bedeutung von mobilen Kommunikations- und Informationssystemen stetig größer geworden. Dabei sind diese Systeme immer mehr zusammengewachsen. Heutzutage ist z. B. der Persönliche Digitale Assistent (PDA) längst nicht nur noch der verlängerte Arm für den Desktop-PC. Auch dem Mobiltelefon kommt eine weitaus größere Rolle zu, als noch vor ein paar Jahren. Mittlerweile wird das Handy nicht nur zum Telefonieren genutzt, sondern auch zum Surfen im Internet, zum Chatten und für vieles mehr. Nicht zu Vergessen die große Beliebtheit der so genannten SMS (Short Message Service). Doch die Eingabemöglichkeiten sind auf Grund der immer kleiner werdenden Geräte sehr beschränkt, da z. B. der Ziffernblock eines Telefons deutlich weniger Tasten bietet als das Alphabet Buchstaben enthält. Auch bei PDAs, die im Gegensatz zu Mobiltelefonen mit berührungsempfindlichen, stiftgesteuerten Kleinbildschirmen ausgestattet sind, ist die Zeicheneingabe eher mühsam. Im Rahmen dieser Diplomarbeit soll nun die Grundlage zur Lösung dieser Probleme geschaffen werden. Es handelt sich hierbei um die Implementierung eines virtuellen Eingabemediums, das auf optischen Fingertrackingverfahren basiert. Das Hauptaugenmerk liegt dabei auf einer virtuellen Tastatur, die auf jede glatte Oberfläche mittels eines Projektors in Originalgröße projiziert werden kann. Der Benutzer kann nun wie gewohnt mit dem 10- Finger-System seine Texte eingeben, jedoch ohne jeglichen physischen Widerstand der Tasten. Damit soll auch die Basis für weitere Eingabemöglichkeiten, wie z. B. eine Maus, geschaffen werden. vii

8 Abstract In recent years the importance of mobile communications and information systems has been steadily increasing. Thereby, these systems grew together. Nowadays, the Personal Digital Assistant (PDA) for example is no longer the extended arm for the Desktop PC but merely an independent device. Also, the mobile phone plays a more important role than just a few years ago. Meanwhile, the cell phone is not only used for telephony, but also to surf the web, to chat and much more. Not to forget the large popularity of Short Message Service (SMS). But the input devices are very limited due to the small size. The numerical pad of a telephone for example clearly offers fewer keys than the number of letters in the alphabet. Also, with PDAs, which are equipped with touch-sensitive displays, usually used together with a stylus, typing texts is rather painful. This thesis is an approach to solve these problems by designing a virtual input medium based on optical fingertracking. The main focus lies on a full size virtual keyboard which can be projected on any flat surface. The users are able to type their texts using the 10-finger typing system, but without any physical response from the keys. This approach could also be the basis for exploring further input methods, as for example a virtual mouse. viii

9 Kapitel 1 Einleitung Der Markt wird immer mehr von mobilen Geräten übersäht. Dazu gehören Pocket PCs, PDAs, Smart Phones und noch vieles mehr. Diese Geräte werden nun immer kleiner und leichter und dadurch wird es aber dem Benutzer mehr und mehr erschwert, Daten bequem und schnell einzugeben, da ja wegen der Größe der Geräte auf eine brauchbare Tastatur z. B. verzichtet wird. Die Texteingabe ist somit meist sehr eingeschränkt bzw. sehr umständlich, da man z. B. jedes einzelne Zeichen mit einem Stift oder anhand eines Zifferblocks eingeben muss. Aber nicht jeder hat so flinke Finger wie mancher Teenager, der eine SMS in Sekundenschnelle in die Handy-Tasten haut. 1.1 Zielsetzung Ziel dieser Arbeit ist es, ein virtuelles Eingabemedium zu implementieren, das auf optischen Fingertrackingverfahren basiert und als Grundlage zur Lösung des oben geschilderten Problems dienen soll. Diese Anwendung trägt den Namen TrackBoard und setzt sich aus zwei Prototypen zusammen, denen jeweils ein anderes optisches Trackingverfahren zur Lokalisierung der Finger zu Grunde liegt. Die Hauptfunktion liegt dabei auf einer virtuellen Tastatur, die mittels eines Projektors auf eine glatte Oberfläche projiziert wird. Die projizierte Fläche hat dieselbe Größe wie eine normale Tastatur. Dem Anwender ist mit etwas Übung möglich, seine Texte wie gewohnt mit dem 10-Finger-System einzugeben. Da bereits ähnliche Produkte am Markt existieren, ist es das Ziel, ein Eingabemedium zu implementieren, das beliebig erweitert werden kann, wie zum Beispiel die Möglichkeit, eigene Keyboardlayouts zu kreieren. Im Rahmen dieser Arbeit sollen die Konzepte und Grundlagen vorgestellt werden, auf denen der funktionierende und ausbaufähige Prototyp aufbaut. Darüber hinaus werden auch Ansätze anderer Projekte vorgestellt. 1

10 KAPITEL 1. EINLEITUNG Aufbau der Arbeit Diese Arbeit und der Inhalt der einzelnen Kapitel gliedern sich wie folgt: Kapitel 2 erklärt den Begriff Tracking und gibt einen Überblick über Trackingsysteme, im Speziellen auch über Fingertrackingsysteme. Kapitel 3 stellt die Konzeption und den Systemaufbau von TrackBoard vor. Es werden die einzelnen Komponenten näher erläutert wie auch die dazugehörigen Hardware-Setups. Kapitel 4 stellt den Kern dieser Arbeit dar. Es wird die Implementierung des Konzeptes aus Kapitel 3 dargestellt. Dabei werden die verwendeten Algorithmen, um einen Finger zu tracken, genau erklärt. Kapitel 5 erklärt die Anwendung TrackBoard. Es wird darauf eingegangen, was bei der Bedienung von TrackBoard zu beachten ist. Kapitel 6 gibt einen Überblick über verwandte Arbeiten. Dabei wird zwischen Eingabemedien mit Sensoren und Eingabemedien mit projizierten Interaktionsflächen unterschieden. Kapitel 7 beschreibt die geplanten Weiterentwicklungen der Anwendung TrackBoard. Kapitel 8 bildet den Abschluss dieser Arbeit.

11 Kapitel 2 Trackingsysteme Im folgenden Abschnitt werden die Grundlagen für das Verständnis dieser Arbeit gelegt. Zunächst wird der Begriff Tracking erläutert, anschließend wird ein Überblick über existierende Trackingsysteme, im speziellen auch Fingertrackingsysteme, gegeben und dieser näher beleuchtet. 2.1 Was ist Tracking? Das Wort Tracking kommt aus dem Englischen und heißt übersetzt verfolgen. Tracking bedeutet das fortlaufende Ermitteln der Position und Orientierung von Benutzern (Körperteilen), Interaktionsgeräten und Objekten. Gerade für virtuelle Eingabemedien ist die Position und Orientierung von Hand/Finger von großer Relevanz. Trackingsysteme werden wie folgt eingeteilt [30]: Mechanisches Tracking Magnetisches Tracking Akustisches Tracking Inertial Tracking Optisches Tracking Hybrides Tracking Diese Trackingsysteme werden in folgenden Abschnitten näher in Betracht genommen. 3

12 KAPITEL 2. TRACKINGSYSTEME 4 (a) (b) Abbildung 2.1: (a) Mechanische Systeme am Oberkörper, (b) mechanischer Arm [7] Mechanisches Tracking Ein mechanischer Tracker ist vergleichbar mit dem haptischen Empfindungssystem beim Menschen. Es muss eine physikalische Verbindung zwischen zu trackendem Objekt und Messinstrument geben (siehe Abbildung 2.1(a)), z. B. einen beweglichen mechanischen Arm, der am Objekt befestigt ist. Bewegt sich nun das Objekt, so tut dies auch der Arm, dessen Positionsveränderung dann gemessen wird. Mechanische Tracker können z. B. genutzt werden um reale Objekte zu digitalisieren [7]. Man fährt dabei mit einem Stift, der an einem mechanischen Gelenkarm befestigt ist (siehe Abbildung 2.1(b)), die Konturen eines Modells nach. Die Bewegung wird aufgezeichnet und auf dem Monitor sichtbar gemacht. Durch die Änderung der Winkel in den Gelenken kann die abgefahrene Strecke rekonstruiert werden Magnetisches Tracking Ein solches System besteht aus einem Transmitter, der ein Magnetfeld um sich herum aufbaut und kleinen Sensoren, deren Position und Rotation in diesem Feld von einem Messgerät bestimmt werden kann (vgl. Abbildung 2.2). Die elektromagnetische Senderspule wird von einem Strom I durchflossen, dadurch entsteht ein elektromagnetisches Feld, welches in den Empfängerspulen eine Spannung U induziert. Aus der gemessenen Spannung und der geometrischen Anordnung der Spulen im Empfänger lassen sich Position und Orientierung des Sensorelements berechnen.

13 KAPITEL 2. TRACKINGSYSTEME 5 U I Quelle Elektromagnetisches Feld Sensor U Abbildung 2.2: Schema eines elektromagnetischen Trackingsystems [6]. Abbildung 2.3: InertiaCube der Firma Intersense [11] Akustisches Tracking Bei diesem System wird die Position von Objekten mit Hilfe von Ultraschallwellen ermittelt. Ein Sender strahlt Ultraschallwellen aus, die von einem oder mehreren Mikrophonen registriert werden. Die Position des Anwenders wird durch Laufzeit- und Phasendifferenzmessungen ermittelt. Eine übliche Konfiguration ist, drei Mikrophone in einem Dreieck anzuordnen und aus den Laufzeitdifferenzen die Position des Senders zu errechnen Inertial Tracking Dieses System ist ein Tracker, der auf Trägheitssensoren basiert. Zu diesen Sensoren zählen Beschleunigungsmesser, die die Beschleunigung in x-, y- und z-richtung messen, und Gyroskopsensoren, die die Orientierung im Raum ermitteln. Der InertiaCube von Intersense (siehe Abbildung 2.3) ist in der Lage, Orientierung in x, y und z sowie lineare Beschleunigung in diesen drei Richtungen zu messen.

14 KAPITEL 2. TRACKINGSYSTEME 6 Target Reference Reference Target (a) (b) Abbildung 2.4: (a)inside-out-verfahren: Die Kamera, hier dargestellt als target, bewegt sich um das Objekt herum; (b)outside-in-verfahren: Die Kamera, hier dargestellt als reference, ist fixiert und das Objekt bewegt sich [22] Optisches Tracking Beim optischen Tracking wird zwischen zwei Techniken unterschieden. Das Inside-out-Verfahren und das Outside-in-Verfahren unterscheiden sich darin, ob die Sensoren auf dem Objekt und die Signalquellen im Raum angebracht sind oder umgekehrt. Inside-out Systeme: Sensoren werden am Target angebracht und tasten die Verschiebung von Merkmalen (wie z. B. LEDs, reflektierende Marker usw.) in der räumlichen Umgebung ab (siehe Abbildung 2.4(a)). Outside-in Systeme: Sensoren werden im Referenzsystem fixiert und tasten die Bewegung des Targets ab [2] (siehe Abbildung 2.4(b)). Als Sensoren kommen z. B. Kameras oder auch Photodioden zum Einsatz. In Abbildung 2.5 ist je ein Beispiel für das Inside-out und für das Outsidein-Verfahren zu sehen. Optisches Tracking sollte nur dann eingesetzt werden, wenn freie Sichtverbindungen zwischen Objekt und Sensorik möglich ist, da dann die höchste Genauigkeit erzielt werden kann Hybrides Tracking Die Bezeichnung hybrides Tracking steht für eine Kombination mehrerer verschiedener Verfahren. Idealerweise versucht man hierbei, dass eine Technik die Nachteile einer weiteren kompensiert oder zumindest abschwächt und umgekehrt.

15 KAPITEL 2. TRACKINGSYSTEME 7 (a) (b) Abbildung 2.5: (a) stellt ein Beispiel für das Inside-out-Verfahren dar und (b) für das Outside-in-Verfahren, wobei vier Kameras angebracht sind, die die am Handschuh angebrachten reflektierenden Marker tracken [22]. 2.2 Optische Fingertrackingverfahren Die meisten Fingertrackingsysteme haben das Ziel, Eingabegeräte wie Maus oder Tastatur zu ersetzten. Dafür ist es aber nötig eine stabile Lokalisierung der Hand oder des Fingers zu gewährleisten. In den nächsten Abschnitten werden einige Fingertrackingverfahren vorgestellt Tracking durch Farb-Segmentierung Das mit am häufigsten genutzte Trackingverfahren zur Lokalisierung der Hand oder des Fingers ist die so genannte Farb-Segmentierung. Hier werden aus einem Farb-Kamerabild Regionen, die der Hautfarbe entsprechen, extrahiert. Diese Segmentierung erfolgt meist mit Hilfe von Farbhistogrammen, die die Verteilung der Farbtöne von Haut wiedergeben. Es erfolgt eine Aufteilung in Hautfarbbereiche und Nicht-Hautfarbbereiche. Die so (a) (b) Abbildung 2.6: (a) Kamerabild (b) und die dazugehörige Segmentierung von Hautfarbe [5]. entstandenen Regionen werden im Kamerabild getrackt. Dieses Tracking-

16 KAPITEL 2. TRACKINGSYSTEME 8 system setzt jedoch voraus, dass gute Lichtverhältnisse herrschen und dass keine anderen Objekte, die ähnlich der Hautfarbe sind, wie z. B. Möbelstücke aus hellem Holz, sich im Kamerabild befinden. Ein Beispiel für das Tracking mit Farb-Segmentierung ist der Camshift- Algorithmus (vgl. Abschnitt 4.3.2). Oft wird Ansatz der Farb-Segmentierung mit dem nächsten beschriebenen Ansatz, das Konturbasierte Tracking, kombiniert, um so eine höhere Genauigkeit zu erzielen Konturbasiertes Tracking In [18] wird ein Trackingsystem beschrieben, das anhand der Konturen einen Finger im Kamerabild trackt. Mit der beschriebenen Anwendung ist es möglich, ein einfaches Blatt Papier als Graphiktablett zu nutzten. Mit der Fingerspitze des Zeigefingers wird gezeichnet. Dabei kann sogar die Liniendicke kontrolliert werden (vgl. Abbildung 2.7(b)), indem der Winkel des Zeigefingers relativ zur Hand ermittelt wird. Der Daumen kann Mausklicks generieren. (a) (b) Abbildung 2.7: (a) Konturbasiertes Tracking der Finger, (b) mit dem Winkel des Zeigefingers kann die Dicke der zu zeichnenden Linie bestimmt werden [18]. Es wird zuerst die Anfangsposition der Hand im Kamerabild mittels Farb-Segmentierung bestimmt. Die Konturen der Hand werden anhand von Übereinstimmungen von vordefinierten Kontursegmenten, z. B. die Konturen eines einzelnen Fingers, mit dem Ergebnis des mit einem Kantendetektor- Filters neu berechneten Kamerabildes gefunden. Die so ermittelten Konturen werden mit dem so genannten Condensation-Algorithmus getrackt. Condensation steht für Conditional Density Propagation. Der Algorithmus verfolgt mit Hilfe eines probabilistischen Ansatzes, der die konkurrierende Betrachtung verschiedener Handlungshypothesen erlaubt, ein Objekt in einer Videoszene. Genauere Informationen zu diesem Algorithmus sind unter [12] zu finden.

17 KAPITEL 2. TRACKINGSYSTEME Detektion durch Korrelation Zur Auffindung von Hand- oder Gesichtspositionen ist das Wissen um deren Farbe bei der Einschränkung des Suchraums hilfreich. In diesem Suchraum kann dann per Template Matching nach einem bekannten Muster, z. B. die zuletzt beobachtete Handform, gesucht werden. Unter Template Matching versteht man den Vergleich ( Matching ) eines in Rasterform vorliegenden Prototypen eines Musters ( Template ) mit einem zu untersuchenden Rasterbild. Für jede Position im Rasterbild wird die Korrelation (wechselseitige Beziehung) zwischen dem Prototyp und dem korrespondierenden Bildbereich ermittelt [8]. (a) (b) (c) Abbildung 2.8: (a) ist das Kamerabild, (b) ist das Template der Hand und (c) zeigt das Ergebnis der 2D-Korrelation von Template und Kamerabild, die hellen Bereiche zeigen Positionen mit hoher Übereinstimmung an, in diesem Fall die Hand [4]. Eine Anwendung dieses Trackingverfahrens wird in [4] beschrieben. Es handelt sich hierbei um die Steuerung des Fernsehers mit Hilfe von Handbewegungen Markerbasiertes Tracking Eine weitere Möglichkeit, um einen Finger in einem Kamerabild zu lokalisieren, ist die Zuhilfenahme von Markern. In [3] wird so ein System beschrieben. Es handelt sich hierbei um reflektierende Marker, die an einem Handschuh angebracht sind (siehe Abbildung 2.9(a)) und von einer Infrarot- Diode beleuchtet werden. Das System besteht aus zwei Kameras an denen auch die Infrarot-Dioden angebracht sind, damit die Marker in die Richtung der Kameras reflektieren.

18 KAPITEL 2. TRACKINGSYSTEME 10 Die Kameras sind mit Infrarot-Filtern ausgestattet, um so den störenden Hintergrund herauszufiltern (vgl. Abbildung 2.9(b)). (a) (b) Abbildung 2.9: (a) Handschuh mit reflektierenden Markern, (b) Kamerabild mit durch IR-Dioden reflektierende Marker und herausgefiltertem Hintergrund [3].

19 Kapitel 3 Konzept und Design Ziel dieser Arbeit ist es, ein Eingabemedium für einen Personal Computer zu entwerfen auf der Basis von verschiedenen optischen Fingertrackingverfahren. In diesem Kapitel wird die Gesamtstruktur dieser Anwendung in Betracht genommen. Es werden die einzelnen Komponenten näher erläutert wie auch die dazugehörigen Hardware-Setups. 3.1 Anforderungen und Funktionsumfang Das im Rahmen dieser Arbeit entwickelte Programm TrackBoard ermöglicht dem Benutzer die Zeicheneingabe mit seinen Fingern ohne Verwendung einer Tastatur. Um die Finger des Anwenders zu tracken, werden Webcams eingesetzt. Im Laufe der Implementierung sind verschiedene Prototypen entstanden, die jeweils auf einem anderen Trackingverfahren basieren. In den folgenden Abschnitten werden die Prototypen CamShiftBoard und LaserBoard im Einzelnen näher erläutert CamShiftBoard Der Ausdruck CamShiftBoard bezeichnet den ersten Prototyp. Der Name leitet sich vom verwendeten Trackingverfahren ab. Es handelt sich hierbei um den so genannten Camshift-Algorithmus, der in Abschnitt ausführlich erklärt wird. Mit diesem Algorithmus ist es möglich, ein Objekt einer bestimmten Farbe im Kamerabild zu tracken. Der Camshift-Algorithmus ist also nur im Stande, einen Finger im Kamerabild zu verfolgen. Durch diese Einschränkung und der etwaigen Ungenauigkeiten beim Tracking sieht auch das Layout der Eingabefläche sehr einfach aus. Der Benutzer hat die Möglichkeit, die Zahlen von 1 bis 9 an eine Applikation, deren Fenster gerade aktiv ist, anhand einer quadratischen Eingabefläche zu senden. Die Fläche ist dabei in 3x3 Felder unterteilt. Dieses Layout ist in Abbildung 3.1 zu sehen und wird mittels einer XML-Datei definiert (vgl. Abschnitt 3.4). 11

20 KAPITEL 3. KONZEPT UND DESIGN 12 4 cm cm Abbildung 3.1: Eingabefläche für den Prototyp CamShiftBoard. Da ein Kamerabild keine Tiefeninformation des von vorne getrackten Fingers liefert, wird eine zweite Webcam benötigt, die den Finger seitlich erfasst, um so die zweite Koordinate ermitteln zu können LaserBoard Nachdem das Fingertracking mit dem Camshift-Algorithmus nicht sehr exakt funktioniert, da der Algorithmus stark von den Lichtverhältnissen abhängig ist, war die nächste Überlegung das Fingertracking mit Hilfe von Infrarotlicht zu realisieren. Dieser Ansatz wird in Abschnitt 7.1 genauer beschrieben. Man braucht aber für dieses Trackingverfahren spezielle Hardware, wie Infrarotkamera, optischer Filter und leistungsstarke IR-Dioden. Daher benötigte die Hardwareanschaffung mehr Zeit, als der Zeitrahmen für diese Arbeit zugelassen hätte. Aus diesem Grund wird anstatt der Infrarotdiode ein Linienlaser eingesetzt, daher auch die Bezeichnung Laser- Board. Das Lasermodul projiziert eine dünne rote Linie, die ca. 2mm über der Tischoberfläche verläuft. Berührt der Anwender die Tischoberfläche mit seinem Finger, wird der Fingernagel vom roten Laserstrahl beleuchtet. Diese rote Region wird im Kamerabild extrahiert (siehe Abschnitt 4.4.2) und die Koordinaten dieses Flecks werden mit Hilfe einer Blobanalyse ermittelt. Bei diesem Algorithmus können beliebig viele Finger getrackt werden. Weiters ist die Genauigkeit des Trackingalgorithmus viel höher als beim Camshift-Algorithmus. Dadurch ist ein Layout mit einer viel höheren Anzahl an Unterteilungen für die Eingabefläche möglich, wie zum Beispiel eine gesamte Tastatur. In Abbildung 3.2 ist ein Layout für diesen Prototyp zu sehen. Das Layout wird ebenfalls in einer XML-Datei definiert.

21 KAPITEL 3. KONZEPT UND DESIGN cm 2 cm 2 cm 10 cm Abbildung 3.2: Eingabefläche für den Prototyp LaserBoard. 3.2 Aufbau der Hardware Beide Anwendungen wurden mit Webcams der Marke Philips ToUCam Pro II getestet. Bei manchen Systemen tritt jedoch das Problem auf, dass es abstürzt, sobald zwei Webcams derselben Art angeschlossen werden. Der Grund hierfür ist leider unbekannt. Wird eine dieser Webcams mit einem anderen Modell (z. B. Philips ToUCam Pro I) ersetzt, tritt dieses Problem nicht mehr auf. Für jeden Prototyp ist natürlich ein eigenes Hardware-Setup nötig, die in den folgenden Abschnitten beschrieben werden CamShiftBoard Für den ersten Prototyp kommen, wie zuvor erwähnt, zwei Webcams zum Einsatz. Wie in Abbildung 3.3 dargestellt, werden die beiden Webcams im rechten Winkel platziert. Die erste Kamera ermittelt dabei die x-koordinate und die zweite die y-koordinate des getrackten Fingers. Die Webcams werden ca. 18cm von der Eingabefläche entfernt so angebracht, damit die Seitenlänge dieser Fläche das gesamte Kamerabild einnimmt (siehe Abbildung 3.4). Die Eingabefläche befindet sich auf einen 1cm hohen Sockel, da sonst die Kameras diese Fläche nicht erfassen können LaserBoard Das Hardware-Setup für den zweiten Prototyp ist schon etwas aufwendiger als beim ersten. Hierfür werden auch zwei Webcams benötigt, da das Blickfeld einer Webcam zu klein ist (ca. 30 ), um die ganze Tastatur zu erfassen. Wie in Abbildung 3.5 ersichtlich, erfasst die erste Kamera also den linken Teil und die zweite den rechten Teil der Tastatur. Die beiden Kameras befinden sich auf kleinen Stativen und zeigen somit von schräg oben auf die Tastatur (siehe Abbildung 3.6(a)), dadurch ist

22 KAPITEL 3. KONZEPT UND DESIGN cm Webcam Webcam 2 18 cm Abbildung 3.3: Hardware-Setup für den Prototyp CamShiftBoard. (a) (b) Abbildung 3.4: (a) Positionierung der Webcams für den Prototyp Cam- ShiftBoard, (b) Kamerabild einer Webcam. es möglich, neben der x-koordinate auch die y-koordinate des getrackten Fingers zu ermitteln. Zusätzlich wird auch ein Lasermodul benötigt. Dabei handelt es sich um einen Laserpointer mit integrierter Linienoptik und einer Laserdiode mit einer Wellenlänge von 635nm (brillantrot). Dieses sehr kleine Lasermodul erzeugt bei ca. 1m Abstand eine ca. 1.5m lange und 1mm breite Linie, die auch bei normaler Raumbeleuchtung gut sichtbar ist. Bei kürzeren Abständen ist die Linie entsprechend kürzer und schmaler. Das Lasermodul ist an einer

23 KAPITEL 3. KONZEPT UND DESIGN cm Webcam 1 Laser Webcam 2 19 cm 28 cm Abbildung 3.5: Hardware-Setup für den Prototyp LaserBoard. (a) (b) Abbildung 3.6: Hardware-Setup für den zweiten Prototyp mit (a) zwei Webcams und einem Lasermodul (b) und einem Projektor vertikal über dem Tisch. weißen Holzplatte so angebracht (vgl. Abbildung 3.6(a)), dass die Laserlinie knapp über der Oberfläche verläuft. Die Tastatur selbst wird mit Hilfe eines Projektors, der vertikal über dem Tisch angebracht ist, projiziert (vgl. Abbildung 3.6(b)).

24 KAPITEL 3. KONZEPT UND DESIGN Aufbau der Software Bei der Konzeption der Software-Architektur ist ausschlaggebend, dass der Aufbau sehr modular gehalten ist, um die Applikation entsprechend erweitern zu können. In Abbildung 3.7 ist der schematische Aufbau der Software dargestellt. Initialisierung der Kameras XML-Datei einlesen Kamerabilder '1' Kommandozeilen Argumente '2' CamShiftBoard Kalibrierung LaserBoard Kalibrierung Tracking mit CamShift Algorithmus Tracking mit Blobanalyse Algorithmus x-, y-koordinaten Auswertung der getrackten Koordinaten Tastaturereignisse an aktive Applikation versenden Abbildung 3.7: Schematischer Aufbau der Applikation TrackBoard. Wie aus diesem Blockschaltbild hervorgeht, erfolgt als erster Schritt die Initialisierung der Kameras. Als nächstes wird die XML-Datei, die das Layout für die Eingabefläche definiert, mittels eines XML-Parsers eingelesen. Die eingelesenen Daten werden zur Auswertung weitergegeben. Die Ka-

25 KAPITEL 3. KONZEPT UND DESIGN 17 merabilder werden abhängig von den Kommandozeilen-Argumenten an den jeweiligen Prototyp übergeben. D. h., wenn das Argument den Wert 1 hat werden die Kamerabilder an den Prototyp CamShiftBoard übergeben und bei einem Wert von 2 an den Prototyp LaserBoard. Beim Prototyp CamShiftBoard wird bei der Kalibrierung die Farbe ermittelt, die im Anschluss mit Hilfe des Camshift-Algorithmus im Kamerabild getrackt wird. Der Prototyp LaserBoard besteht ebenfalls aus Kalibrierung und Tracking- Algorithmus. Bei der Kalibrierung werden die Kameras richtig ausgerichtet und die perspektivisch verzerrten Bilder korrigiert. Der Trackingalgorithmus filtert den Laserstrahl, der sich am Finger abzeichnet, aus dem Bild und ermittelt die Koordinaten dieser Region. Die getrackten Koordinaten werden ausgewertet, d. h. einer Taste zugeordnet, und das richtige Tastaturereignis wird an eine aktive Anwendung verschickt. 3.4 Keyboard Design Um sich von ähnlichen Arbeiten abzuheben, ist der große Vorteil dieser Arbeit, dass das Keyboard Design kein fixes Layout besitzt. Das Layout wird in einer XML-Datei eingelesen. Durch Verändern dieser Datei, kann das Layout nach Belieben angepasst werden. Die Gründe für XML sind: die zugrunde liegende Syntax ermöglicht eine äußerst flexible Datenstrukturierung, Daten können durch Parser leicht ausgelesen werden und XML ist einfach zu implementieren. Der XML-Parser (beschrieben in Abschnitt 4.5) liest die XML-Dateien mit folgender Struktur ein. <?xml version= 1.0 encoding= ISO ?> <!DOCTYPE keyboard [ <!ENTITY keyboard (size, unitsize, matrix)> <!ELEMENT size (width, height)> <!ELEMENT width (#PCDATA)> <!ELEMENT height (#PCDATA)> <!ELEMENT unitsize (#PCDATA)*> <!ELEMENT matrix (row+)> <!ELEMENT row (numofkeys?, key+)> <!ELEMENT numofkeys (left, right)> <!ELEMENT left (#PCDATA)> <!ELEMENT rigth (#PCDATA)> <!ELEMENT key (unit, character)> <!ELEMENT unit (#PCDATA)> <!ELEMENT character (#PCDATA)> ]>

26 KAPITEL 3. KONZEPT UND DESIGN 18 Das obenstehende Codefragment beschreibt die Document Type Definition (DTD). Die Aufgabe der DTD ist es, den genauen Aufbau eines XML- Dokuments zu definieren. Es wird angegeben, wo welche Elemente auftreten, in welcher Hierarchie und in welcher Menge. Diese DTD beschreibt, dass ein keyboard die Elemente size, unitsize und matrix enthält. Das Element size enthält die Elemente width und height, welche die Dimensionen des Arrays, indem die eingelesenen XML-Daten gespeichert werden, darstellen. Das Element width gibt also die maximale Anzahl der Tasten in einer Reihe an und height die Anzahl der Tastenreihen. Da die Größe der Tasten in Einheiten angeben werden, definiert das Element unitsize die Größe einer Einheit in Pixel, also die Größe im Kamerabild. Das Element matrix enthält das Element row, welches eine Tastenreihe definiert. Das + gibt hier an, dass das Element matrix 0 bis n Elemente vom Typ row enthalten kann. Dieses Element wiederum enthält die Elemente numofkeys und key. Das Zeichen? bedeutet, dass das Element numofkeys optional ist. Dieses Element enthält left und right, welche angeben, wie viele Tasten einer Reihe (ausgehend vom äußeren Rand der Tastatur) von der linken bzw. rechten Webcam getrackt werden. Dies ist für den Prototyp LaserBoard von großer Relevanz. Jedes Element key, das auch wieder 0 bis n Mal enthalten ist, besteht aus den Elementen unit und character und beschreibt eine Taste. Das Element unit gibt die Breite einer Taste in Einheiten an, so z. B. hat eine Zahlentaste die Breite 1 und die rechte Shifttaste dagegen die Breite 2. Das letzte Element character enthält den so genannten virtual keycode für eine Taste. Virtual keycodes haben einen Wert von 1 bis 254 und dienen dazu, Tastaturereignisse an andere Applikationen zu verschicken. Nachstehend ist ein Auszug aus der XML-Datei für den Prototyp LaserBoard zu sehen: Abbildung 3.8: Die gelben Tasten werden von der linken Webcam erfasst und die blauen Tasten von der rechten.

27 KAPITEL 3. KONZEPT UND DESIGN 19 <keyboard> <size> <width>14</width> <height>5</height> </size> <unitsize>42</unitsize> <matrix> <row> <numofkeys> <left>8</left> <right>6</right> </numofkeys> <key> <unit>0.5</unit> <character>220</character> </key> <key> <unit>1.0</unit> <character>49</character> </key> <key> <unit>1.0</unit> <character>50</character> </key>... </row>... </matrix> </keyboard> Dieser XML-Code gibt an, dass die Tastatur aus 5 Tastenreihen mit je maximal 14 Tasten besteht und dass eine Einheit 42 Pixel groß ist. D. h., dass z. B. die Taste mit dem Buchstaben z, die eine Einheit groß ist, im Kamerabild 42 Pixel breit und hoch ist. Diese Daten sind relevant, um später die getrackten Koordinaten einer Taste zuordnen zu können. Weiters definiert dieser Codeauszug, dass bei der ersten Tastenreihe die linke Webcam die 8 links äußeren Tasten trackt und die rechte Webcam die 6 rechts äußeren Tasten. Diese Aufteilung ist bei jeder Tastenreihe etwas anders (siehe Abbildung 3.8). Zuletzt werden hier für die ersten drei Tasten der ersten Zeile die Größe und der dazugehörige Keycode definiert. Der Keycode 49 beispielsweise steht für die Ziffer 1. Die XML-Dateien für beide Prototypen sind auf der CD-ROM zu finden.

28 Kapitel 4 Implementierung Das folgende Kapitel beschreibt die Implementierung des Konzeptes aus Kapitel 3. Es handelt sich hierbei um das Programm TrackBoard, welches in zwei Prototypen umgesetzt wurde, dem CamShiftBoard und dem Laser- Board. Die Implementierung erfolgt in den Programmiersprachen C/C++ unter Verwendung der beiden Bibliotheken OpenCV 1 und libxml2 2, die in den folgenden Abschnitten näher beschrieben werden. 4.1 Verwendete Bibliotheken OpenCV OpenCV ist die Kurzform für Intel r Open Source Computer Vision Library und ist eine Sammlung von C Funktionen und C++ Klassen, die bekannte Algorithmen im Bereich der Bildverarbeitung und Computer Vision enthalten. Das Softwarepaket wurde von Intel für die Betriebssysteme Linux und Windows entwickelt und wurde erstmals im Jahr 2000 vorgestellt. Für die Implementierung der Applikation, die diese Arbeit beschreibt, wurde die Version 3.1 verwendet, die bei [27] zum Download bereit steht. OpenCV ist kompatibel mit der Intel r Image Processing Library (IPL), die low-level Bildoperationen beinhaltet und bei der mehr als die Hälfte der Funktionen auf Assembler-Ebene optimiert wurden. Dagegen bietet OpenCV neben vielen Grundfunktionen wie zum Beispiel die Binarisierung von Bildern vor allem high-level Funktionen wie [10]: 3D Rekonstruktion Objekterkennung Finden und Manipulieren von Konturen

29 KAPITEL 4. IMPLEMENTIERUNG 21 Distanz-Transformation Kamera-Kalibrierung Histogramme Gesten-Erkennung Matrix-Rechnungen Bewegungsanalyse und Objektverfolgung Zielsetzung dieser Bibliothek ist, die Grundlage für einen breiten Einsatz von Personal Computern im Bereich der Computer Vision zu schaffen. Intel proklamiert als spezielles Einsatzgebiet besonders den Bereich der Echtzeit- Anwendungen. Um alle Funktionen von OpenCV nutzen zu können, muss im Falle eines Windowssystems auch Microsoft DirectX SDK installiert sein. Im Rahmen dieser Arbeit wurde die Version DirectX 9.0 SDK Update (Summer 2003) verwendet LibXml2 LibXml2 ist eine freie Programmbibliothek und entstand im Rahmen des GENOME-Projekts 3. Es handelt sich dabei um einen XML-Parser, der vorwiegend auf UNIX-Plattformen Verwendung findet, aber kann auch auf anderen Plattformen benutzt werden. Der Parser liegt als C-Bibliothek vor und der Zugriff erfolgt über Schnittstellen. Vor der Benutzung muss der Parser erst für das Betriebssystem kompiliert werden. Es gibt jedoch auch schon bereits für Windows kompilierte Versionen, die bei [32] zum Download bereit stehen. Es sind mehrere Softwarepakete erhältlich, die in Abhängigkeiten stehen wie in Abbildung 4.1 ersichtlich. Für die Anwendung TrackBoard xmlsec xsldbg libxslt libxml openssl iconv zlib Abbildung 4.1: libxml Package-Abhängigkeiten. sind folgende Softwarepakete notwendig: 3

30 KAPITEL 4. IMPLEMENTIERUNG 22 Iconv: zur Zeichenkodierung Zlib: zur Komprimierung Libxml2: XML Parser und Prozessor Die Implementierung des XML-Parsers (siehe Abschnitt 4.5) erfolgte mit der Version libxml win32 (ist auf beiliegender CD-ROM enthalten). 4.2 Initialisierung Bei Start der Applikation werden die Kameras initialisiert. Dafür ist nötig, dass für jede Kamera gewisse Eigenschaften gesetzt werden. Die wichtigsten Eigenschaften sind in folgender Liste zu finden: CVCAM PROP ENABLE: selektiert die Kamera, CVCAM PROP RENDER: rendert die Kamera, CVCAM PROP WINDOW: selektiert ein Fenster für den gerenderten Videostream, CVCAM PROP CALLBACK: definiert eine Callback-Funktion, die bei jedem Frame einer Kamera aufgerufen wird, CVCAM STEREO CALLBACK: definiert eine Callback-Funktion, die bei jedem synchronen Frame zweier Kameras aufgerufen wird. Diese Eigenschaften werden mit der Funktion cvcamsetproperty() gesetzt. Der nachstehende Programmcode beschreibt das Initialisieren einer Kamera. //returns the number of available cameras in the system int numofcameras = cvcamgetcamerascount(); if (numofcameras < 1) { printf("unable to attach a camera...\n"); exit(1); } Als erstes wird die Anzahl der zu Verfügung stehenden Kameras im System mit der Funktion cvcamgetcamerascount() abgefragt. Ist die Anzahl der Kameras kleiner als 1, wird die Applikation wieder beendet, da keine angeschlossene Webcam im System gefunden wurde. //selects the first found camera cvcamsetproperty(0, CVCAM_PROP_ENABLE, CVCAMTRUE); // renders the stream from this source cvcamsetproperty(0, CVCAM_PROP_RENDER, CVCAMTRUE);

31 KAPITEL 4. IMPLEMENTIERUNG 23 Als nächster Schritt werden die ersten zwei Eigenschaften für die Webcam gesetzt, um die Kamera zu selektieren bzw. zu rendern. Dabei steht das erste Argument der Funktion cvcamsetproperty() für die Nummer der Webcam, für die die Eigenschaft gesetzt werden soll. Das zweite Argument definiert den Namen der Eigenschaft, welche gesetzt werden soll und beim dritten Argument wird CVCAMTRUE, was für die Zahl 1 steht, übergeben, um die Eigenschaft zu aktivieren. //creates a window to display the left camera char *winnamel = "Left"; int leftwin = cvnamedwindow (winnamel, CV_WINDOW_AUTOSIZE); HWND HLeft = (HWND)cvGetWindowHandle(winnameL); //selects the window for rendering camera s stream cvcamsetproperty(0, CVCAM_PROP_WINDOW, &HLeft); Nun wird ein Fenster mit dem Namen Left erzeugt. Um anzugeben, dass in diesem Fenster das Kamerabild gerendert werden soll, muss die Eigenschaft CVCAM PROP WINDOW mit einem Zeiger auf den Window-Handler des Fensters gesetzt werden. if (numofcameras == 1) { //this callback is processed every frame cvcamsetproperty(0, CVCAM_PROP_CALLBACK, callback); } Wenn eine Kamera im System gefunden wurde, muss der Name der Callback- Funktion, die nach jedem Frame aufgerufen wird, mit der Kameraeigenschaft CVCAM PROP CALLBACK gesetzt werden. In diesem Fall heißt die Funktion callback. //makes the settings, set by cvcamsetproperty active //and does the final step of cvcam initialization cvcaminit(); cvcamstart(); //The application is working Nach dem Aufruf der Funktionen cvcaminit() und cvcamstart() arbeitet die Applikation (die Funktion callback() oder stereocallback() wird automatisch immer wieder aufgerufen), d. h. jeder Kameraframe wird zur Auswertung abhängig von den Kommandozeilen-Argumenten an die jeweilige Prototyp-Klasse übergeben. cvwaitkey(0); cvcamstop(); //frees all resources used by cvcam cvcamexit(); Die Funktion cvwaitkey() wartet auf ein Tastaturereignis, d. h. die Applikation arbeitet so lange in einem anderen Thread, bis eine Taste gedrückt wird. Aus diesem Grund ist es wichtig, dass beim Schreiben auf der projizierten Tastatur immer ein anderes Fenster als die Applikation selbst aktiv

32 KAPITEL 4. IMPLEMENTIERUNG 24 ist, da sich sonst die Applikation schließt, wenn an diese ein Tastaturereignis verschickt wird. Nach Initialisierung der Kameras wird abhängig von den Kommandozeilen-Argumenten das Keyboardlayout des jeweiligen Prototypen mit Hilfe des XML-Parsers (siehe Abschnitt 4.5) eingelesen. 4.3 CamShiftBoard Der Name CamShiftBoard bezeichnet den ersten Prototyp. Dem Anwender ist es möglich anhand einer Eingabefläche, die in 3x3 Felder unterteilt ist, die Zahlen von 1 bis 9 mittels seines Fingers an eine Applikation zu versenden Kalibrierung Nach dem einlesen des Keyboardlayouts für den ersten Prototyp wird der Benutzer aufgefordert seinen Finger innerhalb des im Kamerabild für zehn Sekunden dargestellten Rechtecks (siehe Abbildung 4.2) zu positionieren. Dieses Rechteck wird in Abschnitt als Berechnungsfenster bezeichnet. So wird die Farbe, die getrackt werden soll, ermittelt. Nach Verstreichen dieser Zeit wird der Trackingvorgang gestartet. Das Fingertracking wird mit Hilfe des Camshift-Algorithmus, der von OpenCV zu Verfügung gestellt wird, realisiert. (a) (b) Abbildung 4.2: (a) Linkes (b) und rechtes Kamerabild mit eingezeichnetem Berechnungsfenster, aus dem die zu trackende Farbe ermittelt wird Camshift-Algorithmus Wie in Kapitel 3 erklärt, wird beim ersten Prototyp der Camshift-Algorithmus verwendet, um einen Finger zu tracken. Camshift heißt in diesem Zu-

33 KAPITEL 4. IMPLEMENTIERUNG 25 sammenhang Continuously Adaptive Mean Shift und ist eine Weiterentwicklung des Meanshift-Algorithmus, um ein farbiges Objekt zu tracken. Der Meanshift-Algorithmus findet den Schwerpunkt (mean) von farbigen Objekten, indem er den Schwerpunkt eines zu untersuchenden Fensters (wird als Suchfenster bezeichnet) in einem Bild so lange mit dem Schwerpunkt eines Objekts vergleicht, bis diese beinahe übereinstimmen. Die Genauigkeit der Übereinstimmung lässt sich mit einem Schwellwert einstellen. Die Objekte werden anhand einer Farbwahrscheinlichkeitsverteilung bestimmt. Je deutlicher das Objekt sich also farblich vom Hintergrund unterscheidet, desto besser ist es zu tracken. Choose initial search window size and location HSV Image Set calculation region at search window center but larger in size than the search window Use (X,Y) to set search window center 2*area 1/2 to set size. Color histogram lookup in calculation region Color probability distribution image Find center of mass within the search window Center search window at the center of mass and find area unter it Report X, Y, Z and Roll YES Converged? NO Abbildung 4.3: Blockschaltbild des Camshift-Algorithmus, der Meanshift- Algorithmus ist im grauen Fenster dargestellt [1]. Anders gesagt, wird beim Camshift-Algorithmus eine Farbe bestimmt und im Bild eine rechteckige Fläche gesucht, die mit dieser (oder ähnlichen) Farbe gefüllt ist. Von nun an wird versucht, diese einmal bestimmte Farbfläche in jedem Kamerabild neu zu identifizieren. Continuously Adaptive bedeutet, dass die Wahrscheinlichkeitsverteilung sich über der Zeit verändern kann, d. h., dass der Camshift-Algorithmus für Videoströme ge-

34 KAPITEL 4. IMPLEMENTIERUNG 26 eignet ist. Beim Fingertracking wird also die Hautfarbe in diesem Fenster gesucht und dabei die Position, die Größe und die Neigung des Objekts ermittelt. Der Ablauf des Camshift-Algorithmus erfolgt wie in Abbildung 4.3 dargestellt. Um mit dem Camshift-Algorithmus ein farbiges Objekt zu tracken, ist es zuerst nötig, das Kamerabild vom RGB-Farbraum in einen anderen Farbraum zu konvertieren, da nur der Farbton und nicht Helligkeit oder Farbintensität relevant ist und diese Separation der RGB-Farbraum nicht bietet. Aus diesem Grund ist das HSV-Farbsystem ideal dafür geeignet. Im HSV- Farbraum wird jede Farbe nach folgenden drei Komponenten beurteilt: Farbton (Hue): wird durch den Farbwinkel angegeben, Sättigung (Saturation): gibt an, wie stark der jeweilige Farbton ausgeprägt ist, Helligkeit (Value): gibt die Helligkeit an. Grün H=120 Cyan H=180 Blau H=240 Helligkeit V Weiß V=1 Schwarz V=0 (a) Gelb H=60 Magenta H=300 Rot H=0 Sättigung S Farbtonwinkel H Farbton H Weiß H e l l i g k e i t V Schwarz Farbton H Sättigung S (b) Grün Gelb Cyan Rot Magenta Blau Sättigung S H e l l i g k e i t V Abbildung 4.4: (a) HSV-Farbraum als Pyramide (b) HSV-Farbraum als Kegel (mit Querschnitt) [15]. Wie in Abbildung 4.4 dargestellt, ist die Skala für den Farbton zyklisch, d. h. er wird durch einen Winkel zwischen 0 und 360 um die vertikale Achse beschrieben. Dabei liegt Rot bei 0,Grün bei 120 und Blau bei 240.DieSättigung ist der horizontale Anteil von der Mittelachse bis zum Randpunkt und nimmt Werte zwischen 0 (Graustufe) und 1 (voll gesättigte Farbe) an. Die Helligkeit ist der vertikale Anteil entlang der Mittelachse und läuft von Schwarz (V=0) bis zu den Farben mit maximaler Helligkeit, inkl. Weiß (V=1). Je niedriger der V-Wert (je dunkler also die Farbe),

35 KAPITEL 4. IMPLEMENTIERUNG 27 desto weniger Sättigung kann noch erreicht werden. Dadurch entsteht die typische Zylinderform des HSV-Farbraums [16]. Um nun ein farbiges Objekt zu tracken, muss man zuerst ein Farbmodell mittels eines 1D-Histogramms erstellen. Dieses Histogramm wird aus dem H-Kanal für das Berechnungsfenster, in dem der Benutzer seinen Finger positionieren muss (siehe Abbildung 4.2), berechnet. Unter einem Histogramm versteht man die statistische Analyse eines Bildes. Es werden die Häufigkeiten der einzelnen Graustufen (in diesem Fall Farbtöne) des Bildes als Säulendiagramm dargestellt, d. h. je häufiger der Tonwert vorkommt, desto höher der Balken im Histogramm. Ein Histogramm für Hautfarbe ist in Abbildung 4.5 zu sehen. Abbildung 4.5: Histogramm aus dem H-Kanal für Hautfarbe. Mit diesem Histogramm wird nun eine Farbwahrscheinlichkeitsverteilung für das gesamte Kamerabild erstellt (siehe Abbildung 4.6). Die Wahrscheinlichkeitswerte reichen hierbei von 0 bis 255. In Abbildung 4.7 sind alle Schritte zur Berechnung der Wahrscheinlichkeitsverteilung dargestellt. (a) (b) Abbildung 4.6: (a) Kamerabild (b) und die dazugehörige Wahrscheinlichkeitsverteilung für Hautfarbe.

36 KAPITEL 4. IMPLEMENTIERUNG 28 6 Farbwahrscheinlichkeitsverteilung mittels Histogramm 1 RGB-Kamerabild 5 2 Konvertierung in HSV-Farbraum 3 Histogramm 4 H - Kanal mit Berechnungsfenser für Histogramm S - Kanal V - Kanal Abbildung 4.7: Blockschaltbild zur Berechnung der Wahrscheinlichkeitsverteilung. 1. RGB-Bild einer Kamera 2. Konvertierung des Kamerabildes in den HSV-Farbraum 3. Aufteilung in die einzelnen Kanäle des HSV-Farbraums 4. Berechnung des Histogramms aus dem Berechnungsfenster des H-Kanals, dieser Schritt wird nur einmal beim Start des Trackingvorgangs durchgeführt 5. Berechnung der Wahrscheinlichkeitsverteilung aus dem H-Kanal und dem gespeichertem Histogramm (berechnet in Schritt 4) 6. Start des Meanshift-Algorithmus Der Meanshift-Algorithmus ermittelt nun den Schwerpunkt im zuerst angegebenen Suchfensters anhand der Wahrscheinlichkeitsverteilung. Die Reihenfolge des Meanshift-Algorithmus sieht folgendermaßen aus: 1. Wähle die Größe und die Anfangsposition des Suchfensters (entspricht im ersten Schritt dem Berechnungsfenster, das die zu trackende Farbe ermittelt),

37 KAPITEL 4. IMPLEMENTIERUNG Berechne den Schwerpunkt im Suchfenster, d. h. den Punkt mit der größten Dichte an hohen Wahrscheinlichkeitswerten, 3. Zentriere das Suchfenster am Schwerpunkt (berechnet in Schritt 2), 4. Wiederhole Schritt 2 und 3 bis zur Konvergenz (oder bis die Bewegung der Position des Schwerpunktes kleiner ist als der voreingestellte Schwellwert) und speichere das nullte Moment (Bereich oder Größe) sowie die Position der Mitte. Um nun den Schwerpunkt des Suchfensters zu ermitteln, sind das nullte und erste Moment 4 zu berechnen [1]: M 00 = I(x, y) (4.1) (x,y) R Das nullte Moment berechnet die Fläche des Objekts (vgl. in Abbildung 4.8 die Region G). M 10 = (x,y) R xi(x, y) M 01 = (x,y) R yi(x, y) (4.2) Das erste Moment enthält Informationen über den Schwerpunkt des Objekts, d. h. es wird die Summe der Pixelwerte aller x-koordinaten und die Summe der Pixelwerte aller y-koordinaten ermittelt. Der Schwerpunkt (x c,y c ) wird durch x c = M 10 M 00 y c = M 01 M 00 (4.3) berechnet. Dabei ist I(x, y) der Pixelwert an der Position (x, y) im Bild, und x und y verlaufen über das Suchfenster. D. h. um den Schwerpunkt des Suchfensters R in Abbildung 4.8 zu berechnen, wird die Summe der Pixel-Spalten und die Summe der Pixel-Reihen jeweils durch die Anzahl aller Pixel des Suchfensters R (entspricht der Fläche G) geteilt. Der Meanshift-Algorithmus alleine würde als Tracker bei Videosequenzen nicht funktionieren, da sich Objekte annähern und entfernen können. D. h., zu kleine Suchfenster können das Objekt nicht richtig in der Videoszene verfolgen und zu große Suchfenster können auch andere Objekte derselben Farbe enthalten, wie zum Beispiel eine Person im Hintergrund. Darum ist es wichtig, dass sich die Suchfenstergröße dem Objekt immer anpasst. Für den nächsten Videoframe zentriert man das Suchfenster an der Position die im 4. Schritt des Meanshift-Algorithmus gespeichert wurde und setzt die

38 7 4 1 KAPITEL 4. IMPLEMENTIERUNG 30 G y c R x c Abbildung 4.8: Ermittlung des Massemittelpunkt(x c,y c ): Suchfenster dar und G das zu trackende Objekt. R stellt das Step Step Step Step Step Step Abbildung 4.9: Querschnitt einer Farbverteilung von Hautfarbe aus einem Bild mit Kopf und einer Hand [1]. Fenstergröße auf den Wert, den das nullte Moment bestimmt hat. Es wird wieder eine Farbwahrscheinlichkeitsverteilung für diesen Frame errechnet. In Abbildung 4.9 wird der Suchprozess im linken oberen Bild gestartet und im rechten unteren Bild beendet. Bei diesen Bildern handelt es sich beim roten Graph um einen 1D-Querschnitt der aktuellen Wahrscheinlichkeitsverteilung von Hautfarbe aus einen Bild mit einem Gesicht und einer 4 Momente sind Objektmerkmale, die eine geometrische Rekonstruktion von Objekten ermöglichen [13].

39 KAPITEL 4. IMPLEMENTIERUNG 31 sich links daneben befindenden Hand. Die gelbe Farbe stellt das Camshift Suchfenster dar und blau den aktuellen Schwerpunkt des Fensters. Die y- Achse gibt den Wahrscheinlichkeitswert an und die x-achse die horizontal räumliche Position innerhalb des Originalkamerabilds. Das Suchfenster wird im 1. Bild mit der Größe 3 initialisiert und wird bei jedem Schritt breiter, bis das Suchfenster das gesamte Gesicht beinhaltet, jedoch nicht die Hand. Nach sechs Wiederholungen ist der Schwerpunkt des Gesichts gefunden. Hier wird das typische Verhalten des Camshift-Algorithmus gezeigt. Der Algorithmus findet das Zentrum der naheliegensten Verteilungsfläche (Gesicht) und ignoriert benachbarte Flächen (Hand). Abbildung 4.10 zeigt den nächsten Kameraframe, indem sich Hand und Gesicht etwas nach links bewegt haben. Das Suchfenster startet an der vorher berechneten Position und nähert sich in einer Wiederholung dem neuem Zentrum des Gesichts an. Step 1 Step Abbildung 4.10: Nächster Videoframe. Wie schon bereits erwähnt, ermittelt der Camshift-Algorithmus neben der x- und y-koordinate auch die Neigung und die Größe des getrackten Objekts. Dafür muss das zweite Moment errechnet werden. Nähere Informationen sind in [1] zu finden. M 20 = x 2 I(x, y) M 02 = y 2 I(x, y) M 11 = xyi(x, y) (x,y) R Neigung des Objekts wird durch arctan (x,y) R ( M11 2 ( M20 M 00 x 2 c x c y c M ) 00 ) ( M02 M 00 y 2 c Ø= 2 ermittelt. Um die Größe des Objekts zu bestimmen, legt man fest a = M ( ) 20 x 2 M11 c b =2 x c y c M 00 M 00 ) (x,y) R (4.4) (4.5) c = M 02 M 00 y 2 c (4.6)

40 KAPITEL 4. IMPLEMENTIERUNG 32 und daraus ergibt sich für die Länge l und die Breite w des Objekts (a + c)+ b l = 2 +(a c) 2 (a + c) b w = 2 +(a c) 2. (4.7) 2 2 OpenCV bietet für den Camshift-Algorithmus eine in C++ implementierte Klasse namens CvCamShiftTracker an. Der folgende Codeauszug zeigt die Verwendung dieser Klasse: CvCamShiftTracker m_ccamshift; CvCamShiftParams m_params; CvRect m_object; Die Variable m ccamshift ist eine Instanz der Klasse CvCamShiftTracker und m params ist eine Struktur, in der die Parameter für m ccamshift definiert werden. m object stellt zu Beginn das Berechnungsfenster dar und nach Berechnung des Histogramms das Suchfenster des Camshift-Algorithmus. void CamShift::track_finger(IplImage* image){ if (IsTracking) { ApplyCamShift(image, false); } else { CvSize size = cvgetsize(image); if (IsInit) { m_object.x = cvround(size.width * m_params.x); m_object.y = cvround(size.height * m_params.y); m_object.width = cvround(size.width * m_params.width); m_object.height = cvround(size.height * m_params.height); } } } ApplyCamShift(image, true); IsTracking = true; Die Funktion track finger wird bei jedem Kameraframe, nach Verstreichen der Kalibrierungszeit (beschrieben in Abschnitt 4.3.1) aufgerufen. Beim ersten Aufruf wird der else-zweig betreten, wobei m object zu diesem Zeitpunkt das Berechnungsfenster darstellt, für das nun das Histogramm für den H-Kanal des Kamerabildes mittels der Funktion ApplyCamShift() berechnet wird. Bei jedem weiteren Kameraframe wird nun der if-zweig betreten, in dem das Objekt wieder mittels der Funktion ApplyCamShift() getrackt wird.

41 KAPITEL 4. IMPLEMENTIERUNG 33 void CamShift::ApplyCamShift(IplImage* image, bool initialize) { m_ccamshift.set_window(m_object) if (initialize) { m_ccamshift.reset_histogram(); m_ccamshift.update_histogram((cvimage*)image); } } m_ccamshift.track_object((cvimage*)image); m_object = m_ccamshift.get_window(); In dieser Funktion wird, wie bereits erwähnt, beim Start des Trackingvorgangs das Histogramm für die zu trackende Farbe mit Hilfe der Funktion update histogram() der Klasse CvCamShiftTracker berechnet, nachdem das Berechnungsfenster m object an diese Klasse übergeben wurde. Schließlich wird das Objekt mitder Funktiontrack object() getrackt und das nun neu berechnete Suchfenster wieder in m object gespeichert. Mit dem Camshift-Algorithmus ist es also möglich, die Größe, Position und Ausrichtung farbiger Objekte zu bestimmen. Jedoch ist das Tracking- Ergebnis sehr vom Umgebungslicht und dem Bildhintergrund abhängig. Des weiteren war festzustellen, dass der Finger zwar getrackt wird, jedoch wenn die gesamte Hand ins Bild kommt, liegt der Schwerpunkt nicht beim Finger sonder am Handrücken (siehe Abbildung 4.11(a)). Für die Applikation ist aber die Position der Fingerspitze relevant. Daher ist die ideale Lösung ein farbiger Fingerhut, der sich vom Hintergrund stark abhebt (siehe Abbildung 4.11(b)). (a) (b) Abbildung 4.11: Kamerabild (a) mit Schwerpunkt am Handrücken und (b) mit Schwerpunkt an der Fingerspitze mit Hilfe eines farbigen Fingerhuts.

42 KAPITEL 4. IMPLEMENTIERUNG LaserBoard Die Bezeichnung LaserBoard stellt den zweiten Prototyp dar. Der Benutzer kann auf einer projizierten Eingabefläche alle Zeichen einer Tastatur an eine Anwendung versenden Kalibrierung Zuerst müssen die beiden Kameras richtig ausgerichtet werden, um ein exaktes Fingertracking sicherzustellen. Um die Ausrichtung zu erleichtern, wird ein Viereck ins Kamerabild gezeichnet, an dem man sich orientieren kann, d. h. die Eckpunkte des Vierecks entsprechen den Eckpunkten der projizierten Tastatur. Wie in Abbildung 4.12 ersichtlich, wird für jede Kamera ein (a) (b) Abbildung 4.12: Linkes (a) und rechtes (b) Kamerabild mit eingezeichnetem Ausrichtungsviereck. eigenes Viereck benötigt. Die Kameras müssen nun so ausgerichtet sein, dass sich ca. die Hälfte der Tastatur, das schließt auch die Taste mit der Ziffer 7 mit ein, in dem gezeichneten Viereck befindet. In der Applikation selbst ist das Ausrichtungsviereck in blau eingezeichnet, da rote Linien im Kamerabild getrackt und somit falsche Tastaturereignisse verschickt werden würden. Aber aus Gründen der besseren Sichtbarkeit sind in Abbildung 4.12 die Ausrichtungsvierecke in rot eingezeichnet. Da die Tastatur durch die Position der Kameras perspektivisch verzerrt wird, wäre es um einiges schwieriger die getrackten Koordinaten einer Taste zuzuordnen. Aber OpenCV bietet Funktionen, die es ermöglichen perspektivisch verzerrte Bilder zu entzerren. Der nachfolgende Programmcode implementiert diesen Vorgang.

43 KAPITEL 4. IMPLEMENTIERUNG 35 //points of the quad without distortion CvPoint2D32f srcquad[4]; srcquad[0].x = 0; srcquad[0].y = 0; srcquad[1].x = 0; srcquad[1].y = 213; srcquad[2].x = 320; srcquad[2].y = 213; srcquad[3].x = 320; srcquad[3].y = 0; //points of the quad with distortion CvPoint2D32f dstquad[4]; dstquad[0].x = 3; dstquad[0].y = 32; dstquad[1].x = 1; dstquad[1].y = 135; dstquad[2].x = 234; dstquad[2].y = 161; dstquad[3].x = 318; dstquad[3].y = 83; Zuerst werden in der Variable CvPoint2D32f srcquad[4] die vier Eckpunkte der Tastatur ohne jeglicher Verzerrung angeben und in CvPoint2D32f dstquad[4] die vier Eckpunkte der Tastatur mit perspektivischer Verzerrung, die den Punkten des Ausrichtungsvierecks entsprechen (siehe Abbildung 4.13). Man könnte die Punkte für die Variable CvPoint2D32f dstquad[4] auch mit Hilfe des Mauszeigers angeben, sprich die Punkte werden im Kamerabild per Maus automatisch ermittelt. Jedoch war diese Verbesserung aus Zeitmangel leider nicht mehr möglich. y y 1/ /161 0/ / /83 3/32 x 0/0 320/0 x Abbildung 4.13: Links: Tastatur mit perspektivischer Verzerrung; Rechts: Tastatur ohne Verzerrung.

44 KAPITEL 4. IMPLEMENTIERUNG 36 double coeffs[3][3]; //Computes perspective coeffs for transformation from src to dst quad icvcomputeperspectivecoeffs(srcquad, dstquad, coeffs); //creates a 240x bit float matrix with 2 channel CvMat* perspectivemap = cvcreatemat(240,320,cv_32fc2); //computes a perspective map using previously calculated coeffs cvcomputeperspectivemap(coeffs, perspectivemap); Aus den zwei Arrays srcquad[4] und dstquad[4] wird eine 3x3 Matrix (double coeffs[3][3]) mit Hilfe von icvcomputeperspectivecoeffs() berechnet, die die Transformationsmatrix zwischen dem perspektivisch unverzerrten Viereck und dem verzerrten Viereck ist. Mit dieser Transformationsmatrix wird nun eine perspektivische Abbildung für das gesamte Bild mittels der Funktion cvcomputeperspectivemap() errechnet und in einer 240x320 Matrix mit zwei Kanälen gespeichert. Es wird also für jeden Bildpunkt die Verzerrung für die x-koordinate (Kanal 1) und für die y-koordinate (Kanal 2) berechnet. IplImage* undistortimage = cvcreateimage(cvsize(320,240), 8, 3); //creates a 240x bit signed matrix with 3 channels CvMat* rectmap = cvcreatemat(240,320,cv_32sc3); //converts floating-point map to a faster fixed-point map cvconvertmap(image, perspectivemap,rectmap,1); //corrects distortion using previously calculated rectmap cvundistort(orgimage, undistortimage, rectmap, 1); Nach der Konvertierung der Matrix perspectivemap mit Hilfe der Funktion cvconvertmap() wird mit cvundistort() aus dem Originalkamerabild ein neues perspektivisch entzerrtes Bild berechnet (siehe Abbildung 4.14) (a) (b) Abbildung 4.14: Neu berechnete Bilder der (a) linken und (b) rechten Kamera ohne perspektivische Verzerrung.

45 KAPITEL 4. IMPLEMENTIERUNG 37 (a) (b) (c) (d) (e) Abbildung 4.15: (a) Originalkamerabild (b) und in den HSV-Farbraum konvertiertes Kamerabild; Die einzelnen Kanäle des HSV-Bildes: (c) H- Kanal, (d) S-Kanal und (e) V-Kanal. Die neu berechneten Bilder, die für den Anwender nicht sichtbar sind, werden an dem Trackingalgorithmus Blobanalyse übergeben, um die Anzahl der Tastenanschläge und die dazugehörigen Koordinaten zu ermitteln. Dieser Vorgang wird im nächsten Abschnitt ausführlich erläutert Blobanalyse Um einen Finger zu tracken, muss die rote Laserlinie, die sich bei einem Tastenanschlag am Fingernagel abzeichnet, aus dem Kamerabild gefiltert und die Koordinaten ermittelt werden. Zuerst sind nun einige Bildoperationen nötig, um den roten Laserstrahl aus dem Bild zu extrahieren. Als erster Schritt wird das Kamerabild in den HSV-Farbraum konvertiert (siehe Abbildung 4.15(b)), ausführliche Informationen über den HSV-Farbraum findet man in Abschnitt Das konvertierte Bild wird dann in seine einzelnen Kanäle aufgeteilt(vgl. Abbildung 4.15(c) bis 4.15(e)). Die Konvertierung in den HSV-Farbraum und die Aufteilung in die einzelnen Kanäle beschreibt das nun folgende Codefragment.

46 KAPITEL 4. IMPLEMENTIERUNG 38 IplImage* hsv = cvcreateimage(cvsize(320, 240), 8, 3); IplImage* h_plane = cvcreateimage(cvsize(320, 240), 8, 1); IplImage* s_plane = cvcreateimage(cvsize(320, 240), 8, 1); IplImage* v_plane = cvcreateimage(cvsize(320, 240), 8, 1); cvcvtcolor(sampleimage, hsv, CV_BGR2HSV); cvcvtpixtoplane(hsv, h_plane, s_plane, v_plane, 0); Zunächst werden 8-bit Bilder von der Größe 320x240 erzeugt. Davon hat ein Bild drei Kanäle und die anderen jeweils einen Kanal. Mit der Funktion cvcvtcolor() wird das Kamerabild SampleImage in den HSV-Farbraum konvertiert und in der Variable hsv gespeichert. Dieses Bild wird mittels der Funktion cvcvtpixtoplane() in seine einzelnen Kanäle aufgeteilt. Es erfolgt eine Binarisierung der Bilder der einzelnen Kanäle. Bei der Binarisierung von Bildern wird ein Schwellwert festgelegt. Liegt der Grauwert über dem Schwellwert, zählt das Pixel zum Objekt, andernfalls zum Hintergrund. IplImage* ThresholdedImage = cvcreateimage(cvsize(320, 240), 8, 1); cvthreshold(h_plane, ThresholdedImage, 60, 255, CV_THRESH_BINARY); cvthreshold(h_plane, h_plane, 130, 255, CV_THRESH_BINARY_INV); cvthreshold(s_plane, s_plane, 90, 255, CV_THRESH_BINARY_INV); cvthreshold(v_plane, v_plane, 150, 255, CV_THRESH_BINARY_INV); Mit der Funktion cvthreshold() werden in OpenCV Bilder binarisiert. Die ersten beiden Parameter geben das Quell- und das Zielbild an, der dritte den Schwellwert und der vierte Parameter den maximalen Grauwert, den ein Pixel haben kann. Der letzte Parameter gibt den Typ der Binarisierung an. Bei CV THRESH BINARY erhält das Pixel den maximalen Grauwert, wenn der Pixelwert über dem Schwellwert liegt, und bei CV THRESH BINARY INV wird das Pixel schwarz, falls der Wert über dem Schwellwert liegt. In diesem Fall werden für den H-Kanal zwei Schwellwerte festgelegt (siehe Abbildung 4.16(b) und 4.16(c)) und für den S- und V-Kanal jeweils einer (siehe Abbildung 4.16(e) und 4.16(g)). Die Schwellwerte sind genau den Lichtverhältnissen eines abgedunkelten Raums mit eingeschaltetem Projektor angepasst. Sollten sich die Lichtverhältnisse ändern, z. B. es steht kein Projektor für die Projektion der Tastatur zur Verfügung, so müssen die Schwellwerte dieser Situation angepasst werden. Mit der Binarisierung wird Speicherplatz gespart und die spätere Auswertung wird erheblich erleichtert, da das Bild nur noch aus schwarz (Laserlinie) und weiß (Hintergrund) besteht. Um die aus der Binarisierung erhaltenen Bilder wieder zu einem einzigen zusammenzufügen, werden eine UND-Verknüpfung und zwei Additionen angewendet.

47 KAPITEL 4. IMPLEMENTIERUNG 39 (a) (b) (c) (d) (e) (f) (g) Abbildung 4.16: Mit Schwellwert binarisierte Bilder: (a) zeigt den H- Kanal, (b) und (c) sind die binarisierten Bilder davon, (d) zeigt den S-Kanal, (e) das binarisierte Bild davon, (f) zeigt den V-Kanal und (g) das binarisierte Bild davon.

Seminar Seminarname SS 2003

Seminar Seminarname SS 2003 Universität Karlsruhe (TH) Institut für Rechnerentwurf und Fehlertoleranz (IRF) Lehrstuhl Prof. Dr.-Ing. Dillmann Seminar Seminarname SS 2003 Beitragstitel Eva Muster Kaiserstraße 1 76133 Karlsruhe eva@muster.de

Mehr

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) 3.7 Erstellen einer Collage Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) Dann Größe des Dokuments festlegen beispielsweise A4 (weitere

Mehr

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen

Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen Flyer, Sharepics usw. mit LibreOffice oder OpenOffice erstellen Wir wollen, dass ihr einfach für eure Ideen und Vorschläge werben könnt. Egal ob in ausgedruckten Flyern, oder in sozialen Netzwerken und

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

Wie halte ich Ordnung auf meiner Festplatte?

Wie halte ich Ordnung auf meiner Festplatte? Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,

Mehr

Pocket KVM Switches USB + Audio

Pocket KVM Switches USB + Audio Handbuch Pocket KVM Switches USB + Audio deutsch Handbuch_Seite 2 Inhalt 1. Einleitung 4 2. Installation 4 3. Einfache Bedienung 6 3.1. KVM Switch Tasten 6 3.2. Keyboard Hotkeys 6 3.3. KVM Switch Software

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Dokumentation IBIS Monitor

Dokumentation IBIS Monitor Dokumentation IBIS Monitor Seite 1 von 16 11.01.06 Inhaltsverzeichnis 1. Allgemein 2. Installation und Programm starten 3. Programmkonfiguration 4. Aufzeichnung 4.1 Aufzeichnung mitschneiden 4.1.1 Inhalt

Mehr

Fingerpulsoximeter. A. Wie führt man einen Echtzeitdatentransfer vom PULOX PO-300 zum Computer durch und speichert diese Messdaten auf dem PC?

Fingerpulsoximeter. A. Wie führt man einen Echtzeitdatentransfer vom PULOX PO-300 zum Computer durch und speichert diese Messdaten auf dem PC? Mini-FAQ v1.5 PO-300 Fingerpulsoximeter A. Wie führt man einen Echtzeitdatentransfer vom PULOX PO-300 zum Computer durch und speichert diese Messdaten auf dem PC? B. Wie nimmt man mit dem PULOX PO-300

Mehr

teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep

teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep 1. Erstellen Sie ein neues Rechnungsformular Mit book n keep können Sie nun Ihre eigenen

Mehr

Word 2010 Grafiken exakt positionieren

Word 2010 Grafiken exakt positionieren WO.009, Version 1.2 10.11.2014 Kurzanleitung Word 2010 Grafiken exakt positionieren Wenn Sie eine Grafik in ein Word-Dokument einfügen, wird sie in die Textebene gesetzt, sie verhält sich also wie ein

Mehr

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen

Mehr

Produktschulung WinDachJournal

Produktschulung WinDachJournal Produktschulung WinDachJournal Codex GmbH Stand 2009 Inhaltsverzeichnis Einleitung... 3 Starten des Programms... 4 Erfassen von Notizen in WinJournal... 6 Einfügen von vorgefertigten Objekten in WinJournal...

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) 1 Einleitung... 2 2 Download und Installation... 3 2.1 Installation von WindowsXPMode_de-de.exe... 4 2.2 Installation von Windows6.1-KB958559-x64.msu...

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Seite erstellen Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken. Es öffnet sich die Eingabe Seite um eine neue Seite zu erstellen. Seiten Titel festlegen Den neuen

Mehr

Kontakte Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering.

Kontakte Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering. Kontakte Kontakte Seite 1 Kontakte Seite 2 Inhaltsverzeichnis 1. ALLGEMEINE INFORMATIONEN ZU DEN KONTAKTEN 4 2. WICHTIGE INFORMATIONEN ZUR BEDIENUNG VON CUMULUS 4 3. STAMMDATEN FÜR DIE KONTAKTE 4 4. ARBEITEN

Mehr

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über

Mehr

Windows 8 Lizenzierung in Szenarien

Windows 8 Lizenzierung in Szenarien Windows 8 Lizenzierung in Szenarien Windows Desktop-Betriebssysteme kommen in unterschiedlichen Szenarien im Unternehmen zum Einsatz. Die Mitarbeiter arbeiten an Unternehmensgeräten oder bringen eigene

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

Platinen mit dem HP CLJ 1600 direkt bedrucken ohne Tonertransferverfahren

Platinen mit dem HP CLJ 1600 direkt bedrucken ohne Tonertransferverfahren Platinen mit dem HP CLJ 1600 direkt bedrucken ohne Tonertransferverfahren Um die Platinen zu bedrucken, muß der Drucker als allererstes ein wenig zerlegt werden. Obere und seitliche Abdeckungen entfernen:

Mehr

Eigenen Farbverlauf erstellen

Eigenen Farbverlauf erstellen Diese Serie ist an totale Neulinge gerichtet. Neu bei PhotoLine, evtl. sogar komplett neu, was Bildbearbeitung betrifft. So versuche ich, hier alles einfach zu halten. Ich habe sogar PhotoLine ein zweites

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Handbuch B4000+ Preset Manager

Handbuch B4000+ Preset Manager Handbuch B4000+ Preset Manager B4000+ authentic organ modeller Version 0.6 FERROFISH advanced audio applications Einleitung Mit der Software B4000+ Preset Manager können Sie Ihre in der B4000+ erstellten

Mehr

Erstellen einer digitalen Signatur für Adobe-Formulare

Erstellen einer digitalen Signatur für Adobe-Formulare Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist

Mehr

10.1 Auflösung, Drucken und Scannen

10.1 Auflösung, Drucken und Scannen Um einige technische Erläuterungen kommen wir auch in diesem Buch nicht herum. Für Ihre Bildergebnisse sind diese technischen Zusammenhänge sehr wichtig, nehmen Sie sich also etwas Zeit und lesen Sie dieses

Mehr

PowerPoint: Text. Text

PowerPoint: Text. Text PowerPoint: Anders als in einem verarbeitungsprogramm steht in PowerPoint der Cursor nicht automatisch links oben auf einem Blatt in der ersten Zeile und wartet auf eingabe. kann hier vielmehr frei über

Mehr

Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen.

Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen. Millennium SMS Service Schnellübersicht Seite 1 von 6 1. Tägliche Arbeiten mit der SMS Bestätigung Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen.

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Carolo Knowledge Base

Carolo Knowledge Base KB 07: Wie stelle ich ein fremdsprachiges Layout ein? (1) My-T-Soft verhält sich bezüglich fremdsprachiger Layouts wie eine physische Tastatur, d.h. sie liefert lediglich die Codes für die einzelnen Tasten.

Mehr

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden. Track in Route umwandeln ACHTUNG: Ein Track kann nur dann in eine Route umgewandelt werden, wenn der Track auf Wegen gefahren wurde. Ein Querfeldein-Track kann nicht in eine Route umgewandelt werden, da

Mehr

1. Allgemein 2. 2. Speichern und Zwischenspeichern des Designs 2. 3. Auswahl der zu bearbeitenden Seite 2. 4. Text ergänzen 3. 5. Textgrösse ändern 3

1. Allgemein 2. 2. Speichern und Zwischenspeichern des Designs 2. 3. Auswahl der zu bearbeitenden Seite 2. 4. Text ergänzen 3. 5. Textgrösse ändern 3 Inhaltsverzeichnis 1. Allgemein 2 2. Speichern und Zwischenspeichern des Designs 2 3. Auswahl der zu bearbeitenden Seite 2 4. Text ergänzen 3 5. Textgrösse ändern 3 6. Schriftart ändern 3 7. Textfarbe

Mehr

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,

Mehr

Kapitel 3 Frames Seite 1

Kapitel 3 Frames Seite 1 Kapitel 3 Frames Seite 1 3 Frames 3.1 Allgemeines Mit Frames teilt man eine HTML-Seite in mehrere Bereiche ein. Eine Seite, die mit Frames aufgeteilt ist, besteht aus mehreren Einzelseiten, die sich den

Mehr

Hinweise zum Übungsblatt Formatierung von Text:

Hinweise zum Übungsblatt Formatierung von Text: Hinweise zum Übungsblatt Formatierung von Text: Zu den Aufgaben 1 und 2: Als erstes markieren wir den Text den wir verändern wollen. Dazu benutzen wir die linke Maustaste. Wir positionieren den Mauszeiger

Mehr

Jederzeit Ordnung halten

Jederzeit Ordnung halten Kapitel Jederzeit Ordnung halten 6 auf Ihrem Mac In diesem Buch war bereits einige Male vom Finder die Rede. Dieses Kapitel wird sich nun ausführlich diesem so wichtigen Programm widmen. Sie werden das

Mehr

Kapitel 3 Bilder farblich verändern - Arbeiten mit Objekten

Kapitel 3 Bilder farblich verändern - Arbeiten mit Objekten Nahezu auf jedem Buchcover, CD Hülle oder auf den Werbeseiten in Zeitschriften und Magazinen, sehen Sie fast ausschließlich Bilder, die mit einem EBV Programm einen sogenannten künstlerischen Touch erhalten

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine PhotoLine S/W mit PhotoLine Erstellt mit Version 16.11 Ich liebe Schwarzweiß-Bilder und schaue mir neidisch die Meisterwerke an, die andere Fotografen zustande bringen. Schon lange versuche ich, auch so

Mehr

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Auch wenn die Messungsmethoden ähnlich sind, ist das Ziel beider Systeme jedoch ein anderes. Gwenolé NEXER g.nexer@hearin gp

Mehr

Bilder zum Upload verkleinern

Bilder zum Upload verkleinern Seite 1 von 9 Bilder zum Upload verkleinern Teil 1: Maße der Bilder verändern Um Bilder in ihren Abmessungen zu verkleinern benutze ich die Freeware Irfan View. Die Software biete zwar noch einiges mehr

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

Persönliches Adressbuch

Persönliches Adressbuch Persönliches Adressbuch Persönliches Adressbuch Seite 1 Persönliches Adressbuch Seite 2 Inhaltsverzeichnis 1. WICHTIGE INFORMATIONEN ZUR BEDIENUNG VON CUMULUS 4 2. ALLGEMEINE INFORMATIONEN ZUM PERSÖNLICHEN

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Bildbearbeitung mit dem Programm REGISTAX 5.1 bei Planeten

Bildbearbeitung mit dem Programm REGISTAX 5.1 bei Planeten Dipl. Wirt.-Inf. Michael Kunze Moers Workflow Bildbearbeitung mit dem Programm REGISTAX 5.1 bei Planeten Michael Kunze Siedweg 117 47441 Moers Web: www.michaelkunze.de Mail: info@michaelkunze.de Moers,

Mehr

Tutorial Speichern. Jacqueline Roos - Riedstrasse 14, 8908 Hedingen, 044 760 22 41 jroos@hispeed.ch - www.forums9.ch

Tutorial Speichern. Jacqueline Roos - Riedstrasse 14, 8908 Hedingen, 044 760 22 41 jroos@hispeed.ch - www.forums9.ch Jacqueline Roos - Riedstrasse 14, 8908 Hedingen, 044 760 22 41 jroos@hispeed.ch - www.forums9.ch Tutorial Speichern Wer ein Fotobuch zusammenstellen möchte, der sucht oft auf dem ganzen Computer und diversen

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Eigene Dokumente, Fotos, Bilder etc. sichern

Eigene Dokumente, Fotos, Bilder etc. sichern Eigene Dokumente, Fotos, Bilder etc. sichern Solange alles am PC rund läuft, macht man sich keine Gedanken darüber, dass bei einem Computer auch mal ein technischer Defekt auftreten könnte. Aber Grundsätzliches

Mehr

Lieferschein Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering.

Lieferschein Dorfstrasse 143 CH - 8802 Kilchberg Telefon 01 / 716 10 00 Telefax 01 / 716 10 05 info@hp-engineering.com www.hp-engineering. Lieferschein Lieferscheine Seite 1 Lieferscheine Seite 2 Inhaltsverzeichnis 1. STARTEN DER LIEFERSCHEINE 4 2. ARBEITEN MIT DEN LIEFERSCHEINEN 4 2.1 ERFASSEN EINES NEUEN LIEFERSCHEINS 5 2.1.1 TEXTFELD FÜR

Mehr

Grafikbausatz Overlays Profi. für iphone/pocket Visu & PC Visualisierungen

Grafikbausatz Overlays Profi. für iphone/pocket Visu & PC Visualisierungen Grafikbausatz Overlays Profi für iphone/pocket Visu & PC Visualisierungen Einleitung Mit dem Grafikbausatz Overlays können Sie sich selbst aus diesen verschiedensten Vorlagen Grafiken so kombinieren wie

Mehr

1. Zuerst muss der Artikel angelegt werden, damit später die Produktvarianten hinzugefügt werden können.

1. Zuerst muss der Artikel angelegt werden, damit später die Produktvarianten hinzugefügt werden können. Produktvarianten und Downloads erstellen Produktvarianten eignen sich um Artikel mit verschiedenen Optionen wie bspw. ein Herrenhemd in den Farben blau, grün und rot sowie in den Größen S, M und L zu verkaufen.

Mehr

C++ Tutorial: Timer 1

C++ Tutorial: Timer 1 C++ Tutorial: Timer 1 Timer v1.0 Einleitung Raum und Zeit sind spätestens seit der kopernikanischen Wende wichtige Gegenstände des Denkens geworden. In einem Programm bestimmt die Zeit die Abläufe und

Mehr

Satzhilfen Publisher Seite Einrichten

Satzhilfen Publisher Seite Einrichten Satzhilfen Publisher Seite Einrichten Es gibt verschiedene Möglichkeiten die Seite einzurichten, wir fangen mit der normalen Version an, Seite einrichten auf Format A5 Wählen Sie zunächst Datei Seite einrichten,

Mehr

Domino Feldplaner 3.3

Domino Feldplaner 3.3 Domino Feldplaner 3.3 Handbuch - 2 - Inhaltsverzeichnis 1. Vorbemerkung (Seite 3) 2. Systemvoraussetzungen (Seite 3) 3. Der erste Start des Feldplaners (Seite 3) 4. Funktionen des Feldplaners (Seite 4)

Mehr

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC PARAGON Technologie GmbH, Systemprogrammierung Heinrich-von-Stephan-Str. 5c 79100 Freiburg, Germany Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon-software.com Email sales@paragon-software.com

Mehr

How to do? Projekte - Zeiterfassung

How to do? Projekte - Zeiterfassung How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...

Mehr

Memeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein

Memeo Instant Backup Kurzleitfaden. Schritt 1: Richten Sie Ihr kostenloses Memeo-Konto ein Einleitung Memeo Instant Backup ist eine einfache Backup-Lösung für eine komplexe digitale Welt. Durch automatisch und fortlaufende Sicherung Ihrer wertvollen Dateien auf Ihrem Laufwerk C:, schützt Memeo

Mehr

Erweitertes Kalkulationsfenster

Erweitertes Kalkulationsfenster Erweitertes Kalkulationsfenster Inhaltsverzeichnis 1. Bereich "Kalkulation" (Fokussierung: Ctrl-F2)... 3 2. Bereich "Kennzahlen"... 4 3. Bereich "Positionswerte"... 5 4. Bereich "Vorhandene Analysen" /

Mehr

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0) Peter Koos 03. Dezember 2015 0 Inhaltsverzeichnis 1 Voraussetzung... 3 2 Hintergrundinformationen... 3 2.1 Installationsarten...

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Comic Life 2.x. Fortbildung zum Mediencurriculum

Comic Life 2.x. Fortbildung zum Mediencurriculum Comic Life 2.x Fortbildung zum Mediencurriculum - 1 - Comic Life Eine kurze Einführung in die Bedienung von Comic Life 2.x. - 2 - Starten von Comic Life Bitte starte das Programm Comic Life. Es befindet

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Anwendungsbeispiele. Neuerungen in den E-Mails. Webling ist ein Produkt der Firma:

Anwendungsbeispiele. Neuerungen in den E-Mails. Webling ist ein Produkt der Firma: Anwendungsbeispiele Neuerungen in den E-Mails Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Neuerungen in den E- Mails 2 Was gibt es neues? 3 E- Mail Designs 4 Bilder in E- Mails einfügen 1 Neuerungen

Mehr

SICHERN DER FAVORITEN

SICHERN DER FAVORITEN Seite 1 von 7 SICHERN DER FAVORITEN Eine Anleitung zum Sichern der eigenen Favoriten zur Verfügung gestellt durch: ZID Dezentrale Systeme März 2010 Seite 2 von 7 Für die Datensicherheit ist bekanntlich

Mehr

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 - Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung

Mehr

Inhaltsverzeichnis. Handbuch zur Installation der Software für die Bürgerkarte

Inhaltsverzeichnis. Handbuch zur Installation der Software für die Bürgerkarte Inhaltsverzeichnis Haftungsausschlussklausel... 3 Einführung... 4 Anforderungen und Hinweise... 5 Herunterladen der Software... 6 Installation der Software... 7 Schritt 1 Sprache auswählen... 7 Schritt

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

Handbuch. Artologik EZ-Equip. Plug-in für EZbooking version 3.2. Artisan Global Software

Handbuch. Artologik EZ-Equip. Plug-in für EZbooking version 3.2. Artisan Global Software Artologik EZ-Equip Plug-in für EZbooking version 3.2 Artologik EZbooking und EZ-Equip EZbooking, Ihre webbasierte Software zum Reservieren von Räumen und Objekten, kann nun durch die Ergänzung um ein oder

Mehr

Stift-Karussell in M-Plot einrichten

Stift-Karussell in M-Plot einrichten Einsteiger Fortgeschrittene Profis markus.meinl@m-quest.ch Version 1.0 Voraussetzungen für diesen Workshop Die M-Quest Suite 2005 oder höher ist auf einem Rechner installiert Das Produkt M-Plot Suite ist

Mehr

Advanced Rendering Interior Szene

Advanced Rendering Interior Szene Advanced Rendering Interior Szene in Cinema 4D 11-11.5 Als erstes, sollten Sie ihre Szene in Cinema 4D öffnen. vergewissern sie sich, ob alle Licht quellen die evtl. mit importiert wurden, aus der Szene

Mehr

GEVITAS Farben-Reaktionstest

GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest Inhalt 1. Allgemeines... 1 2. Funktionsweise der Tests... 2 3. Die Ruhetaste und die Auslösetaste... 2 4. Starten der App Hauptmenü... 3 5. Auswahl

Mehr

Step by Step Webserver unter Windows Server 2003. von Christian Bartl

Step by Step Webserver unter Windows Server 2003. von Christian Bartl Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird

Mehr

Programme im Griff Was bringt Ihnen dieses Kapitel?

Programme im Griff Was bringt Ihnen dieses Kapitel? 3-8272-5838-3 Windows Me 2 Programme im Griff Was bringt Ihnen dieses Kapitel? Wenn Sie unter Windows arbeiten (z.b. einen Brief schreiben, etwas ausdrucken oder ein Fenster öffnen), steckt letztendlich

Mehr

SAMMEL DEINE IDENTITÄTEN::: NINA FRANK :: 727026 :: WINTERSEMESTER 08 09

SAMMEL DEINE IDENTITÄTEN::: NINA FRANK :: 727026 :: WINTERSEMESTER 08 09 SAMMEL DEINE IDENTITÄTEN::: :: IDEE :: Ich selbst habe viele verschiedene Benutzernamen und Passwörter und wenn ich mir diese nicht alle aufschreiben würde, würde ich alle durcheinander bringen oder welche

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

Bilder Schärfen und Rauschen entfernen

Bilder Schärfen und Rauschen entfernen Bilder Schärfen und Rauschen entfernen Um alte Bilder, so wie die von der Olympus Camedia 840 L noch dazu zu bewegen, Farben froh und frisch daherzukommen, bedarf es einiger Arbeit und die habe ich hier

Mehr

Navigieren auf dem Desktop

Navigieren auf dem Desktop Navigieren auf dem Desktop Sie kennen Windows 7 noch nicht? Obwohl Windows 7 viel mit den Versionen von Windows gemein hat, die Ihnen ggf. bereits vertraut sind, werden Sie möglicherweise an der einen

Mehr

Ich möchte eine Bildergalerie ins Internet stellen

Ich möchte eine Bildergalerie ins Internet stellen Ich möchte eine Bildergalerie ins Internet stellen Ich habe viele Fotos von Blumen, von Häusern, von Menschen. Ich möchte zu einem Thema Fotos sammeln, eine Vorschau erstellen und die Fotos so in der Größe

Mehr

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen

Mehr

1. LINEARE FUNKTIONEN IN DER WIRTSCHAFT (KOSTEN, ERLÖS, GEWINN)

1. LINEARE FUNKTIONEN IN DER WIRTSCHAFT (KOSTEN, ERLÖS, GEWINN) 1. LINEARE FUNKTIONEN IN DER WIRTSCHAFT (KOSTEN, ERLÖS, GEWINN) D A S S O L L T E N N A C H E U R E M R E F E R A T A L L E K Ö N N E N : Kostenfunktion, Erlösfunktion und Gewinnfunktion aufstellen, graphisch

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Erste Schritte und Bedienungshinweise mit chiptan (ausführliche Anleitung)

Erste Schritte und Bedienungshinweise mit chiptan (ausführliche Anleitung) Erste Schritte und Bedienungshinweise mit chiptan (ausführliche Anleitung) Das chiptan-verfahren macht Online-Banking noch sicherer. Anstelle Ihrer Papier-TAN-Liste verwenden Sie einen TAN-Generator und

Mehr

Ein Leitfaden für Anfänger unter Zuhilfenahme frei verfügbarer Software! (bei z.b. Google Microsoft Powertoys suchen, oder diesen Link verwenden )

Ein Leitfaden für Anfänger unter Zuhilfenahme frei verfügbarer Software! (bei z.b. Google Microsoft Powertoys suchen, oder diesen Link verwenden ) Wie erstelle ich Fotogalerien? Wie kann ich die auf meiner Homepage präsentieren? Ein Leitfaden für Anfänger unter Zuhilfenahme frei verfügbarer Software! Die ist eine Lösung für Windows XP Diese Lösung

Mehr

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

IBM Software Demos Tivoli Provisioning Manager for OS Deployment Für viele Unternehmen steht ein Wechsel zu Microsoft Windows Vista an. Doch auch für gut vorbereitete Unternehmen ist der Übergang zu einem neuen Betriebssystem stets ein Wagnis. ist eine benutzerfreundliche,

Mehr

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Inhalt 1. Die Funambol Software... 3 2. Download und Installation... 3 3.

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost Adobe Photoshop Lightroom 5 für Einsteiger Bilder verwalten und entwickeln Sam Jost Kapitel 2 Der erste Start 2.1 Mitmachen beim Lesen....................... 22 2.2 Für Apple-Anwender.........................

Mehr

TrekStor - ebook-reader 3.0 - TrekStor (TS) Edition - Firmware-Update

TrekStor - ebook-reader 3.0 - TrekStor (TS) Edition - Firmware-Update TrekStor - ebook-reader 3.0 - TrekStor (TS) Edition - Firmware-Update Es gibt mehrere Versionen der Software (Firmware), da es unterschiedliche Editionen des ebook-reader 3.0 gibt. Um zu überprüfen, welches

Mehr

TeamSpeak3 Einrichten

TeamSpeak3 Einrichten TeamSpeak3 Einrichten Version 1.0.3 24. April 2012 StreamPlus UG Es ist untersagt dieses Dokument ohne eine schriftliche Genehmigung der StreamPlus UG vollständig oder auszugsweise zu reproduzieren, vervielfältigen

Mehr

virtuos Leitfaden für die virtuelle Lehre

virtuos Leitfaden für die virtuelle Lehre virtuos Zentrum zur Unterstützung virtueller Lehre der Universität Osnabrück virtuos Leitfaden für die virtuelle Lehre Zentrum virtuos Tel: 0541-969-6501 Email: kursmanager@uni-osnabrueck.de URL: www.virtuos.uni-osnabrueck.de

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Beiträge erstellen in Joomla Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Abbildung 1 - Kontrollzentrum Von hier aus kann man zu verschiedene Einstellungen

Mehr

Zahlen auf einen Blick

Zahlen auf einen Blick Zahlen auf einen Blick Nicht ohne Grund heißt es: Ein Bild sagt mehr als 1000 Worte. Die meisten Menschen nehmen Informationen schneller auf und behalten diese eher, wenn sie als Schaubild dargeboten werden.

Mehr