Optical Flow im Browser - beschleunigt mit WebGL

Größe: px
Ab Seite anzeigen:

Download "Optical Flow im Browser - beschleunigt mit WebGL"

Transkript

1 Optical Flow im Browser - beschleunigt mit WebGL Michael Moese und Marvin Kampf Seminar: Multi-Core Architectures and Programming, SS13

2 Inhalt 1. Optischer Fluss mit der Census-Transformation 2. Parallele Implementierung im Browser mit Hilfe von WebGL 3. Demo 4. Evaluation 5. Quellen und Referenzen

3 Inhalt 1. Optischer Fluss mit der Census-Transformation 2. Parallele Implementierung im Browser mit Hilfe von WebGL 3. Demo 4. Evaluation

4 1 Optischer Fluss mit der Census-Transformation 1. Motivation 2. Schritte des Algorithmus a. Anwendung eines Weichzeichnungsfilters b. Bildsignatur durch Census-Transformation c. Vergleich mit Signatur des vorherigen Durchlaufs

5 1.1 Motivation Was ist der Optische Fluss? Vektorfeld, das Bewegungsrichtung und -Geschwindigkeit für jeden Bildpunkt einer Bildsequenz angibt. Kann verstanden werden als auf Ebene projizierte Geschwindigkeitsvektoren von sichtbaren Objekten (Quelle:

6 Eingabe für den Algorithmus: eine Folge von Bildern

7 Eingabe für den Algorithmus: eine Folge von Bildern

8 1.2.a Weichzeichner Weichzeichnen entspricht Mittelung des Farbwerts eines Pixels mit den gewichteten Farbwerten seiner Umgebung (Tiefpass-Filter): 1/16 1/ * 1/ * 1/8 110* 1/ * 1/8 80 * 1/4 110 * 1/8 80 * 1/16 60 * 1/8 115 * 1/4 1/16 1/8 1/4 1/ /16 1/8 1/ Filter-Koeffizienten Auszug aus Bilddaten Resultierender neuer Farbwert: 114. Berechnung

9 Anwendung eines Weichzeichners

10 1.2.b Generierung der Signaturen: Census-Transformation Die Census-Transformation bildet die Umgebung eines Bildpunktes auf einen binären String ab: Verdeutlicht an einem Beispiel:

11 Generierung der Signaturen: Census-Transformation Erweiterung der Transformation um einen Parameter Epsilon: Dadurch werden nicht nur identische, sondern ähnliche Punkte erfasst:

12 Bildsignatur - Illustration der Census-Transformation

13 1.2.c Der optische Fluss Um den optischen Fluss zwischen zwei Bildern zu bestimmen, wird folgendermaßen verfahren: Signaturberechnung für das 1. Bild Signaturdaten werden für die Bewertung des nächsten Bildes gespeichert Signaturberechnung für das zweite Bild Für jeden Signaturwert wird in den Signaturen des 1. Bildes nach Übereinstimmung gesucht Jedes so gefundene Paar wird als Vektor dargestellt

14 Der optische Fluss - dargestellte Vektoren

15 Inhalt 1. Optischer Fluss mit der Census-Transformation 2. Parallele Implementierung im Browser mit Hilfe von WebGL 3. Demo 4. Evaluation 5. Quellen und Referenzen

16 2. Parallele Implementierung im Browser mit WebGL 1. Native Implementierung in JavaScript 2. Beschleunigung durch WebGL 3. Implementierung der Kernel und Methoden a. b. c. d. e. grayscale() filter() generatesignature() generatevectors() drawvectors()

17 2.1 Native Implementierung im Browser Implementierung des Algorithmus im Browser per JavaScript Input-Stream per JavaScript durch Webcam (Stream-API) navigator.getusermedia({video: true}, handlevideo, videoerror); Dank HTML5 simple Anzeigemöglichkeit in einem Canvas canvas.src = window.url.createobjecturl(stream); Referenz-Implementierung: JavaScript sehr ähnlich zu C++ Jedoch geringe Performance! Beschleunigung mit WebGL

18 2.2 Beschleunigung durch WebGL Was ist WebGL? Shader-basierte 3D-Grafik-Schnittstelle für Webbrowser Auf Basis von OpenGL ES 2.0 Kernel werden in GLSL geschrieben Anzeige durch HTML5-Canvas Was ist GPGL? Wrapper for General Purpose Computing with WebGL API an OpenCL angelehnt Übernimmt Routineaufgaben bei der Initialisierung von WebGL, um General-Purpose-Aufgaben effizient und einfach zu realisieren

19 2.2 Beschleunigung durch WebGL Beispiel für Kernel-Ausführung mit GPGL: 1. Initialisierung von GPGL var gpgl = new GPGL(canvas); 2. Implementierung eines Web-GL-Kernels var kernel = gpgl.createkernel("void main() {... }"); 3. Übergabe eines Arguments an den Shader kernel.setargimage("img_in", gpgl.createimage2d(...)); 4. Ausführen des Kernels mit Rückgabe-Parameter kernel.run(img_out);

20 2.3 Implementierung der Kernel und Methoden a. grayscale() b. filter() c. generatesignature() d. generatevectors()

21 2.3.a grayscale() Konvertierung eines Eingabebildes (RGBA) in Graustufen Herausforderung: Abbildung einer Iteration der for-schleife im Shader Zugriff auf Pixelwert des Bildes Javascript: for (var i = 0; i < d_rgba.length; i += 4) d_gray[i/4] = 0.34 * d_rgba[i] * d_rgba[i + 1] * d_rgba[i + 2]; WebGL-Kernel: vec4 conv = vec4(0.299, 0.587, 0.114, 0.0 );\ float value = dot(texture2d(img_in, global_id_norm), conv);\ gl_fragcolor = vec4(value, value, value, 1.0);\

22 2.3.b filter() Anwendung eines Weichzeichnungsfilters (Herausforderung: Zugriff auf "fremde" Pixelwerte Schrittweite definieren) Javascript: for (var row = 1; row < height -1; ++row) for (var col = 1; col < width - 1; ++col) // row-1... // row c += 2 * data_process[row * c += 4 * data_process[row * c += 2 * data_process[row * // row+1... d_filt[row * width + col] = c/16; 1 { width + (col - 1)]; width + col]; width + (col + 1)]; } WebGL-Kernel: vec2 step = vec2(1.0, 1.0) / global_size;\ vec4 value = texture2d(img_in, global_id_norm - step) +\ dot(vec4(2.0), texture2d(img_in, global_id_norm + vec2(0, step.y))) +\ texture2d(img_in, global_id_norm + vec2(-step.x, step.y)) +\... gl_fragcolor = dot(value,vec4(1.0, 0.0, 0.0, 0.0) ) + vec4(0.0, 0.0, 0.0, 1.0);\

23 2.3.c generatesignature() Erstellen einer Signatur des gefilterten Bildes Herausforderung: Iterationsgrenzen der for-schleifen abbilden Definition einer Subroutine (Funktion) im Kernel-Code (kein Problem!) Javascript: ctn_t32 = function(...) {...}... for (var row = 4; row < height - 4; ++row) for (var col = 4; col < width - 4; ++col) {... c = ctn_t32(d_filt[(row - 4) * width + (col - 4)], z, c); WebGL-Kernel: float ctn_t32(...) {...}\ int width = int(global_size.x), height = int(global_size.y);\ int col = int(global_id_abs.x), row = int(global_id_abs.y);\ if(row < 4 row > height -4 col < 4 col > width - 4) { //return }\... c = ctn_t32(texture2d(img_in, global_id_norm - step4),...);\ }

24 2.3.d generatevectors() Vergleich der vorherigen Signatur mit der aktuellen Herausforderung: 4 verschachtelte for-schleifen abbilden Iterations-Schrittweite (i+=2) abbilden Javascript: for(var row = (WINDOW_SIZE_Y / 2); row < (height - (WINDOW_SIZE_Y / 2)); row += 2) for(var col = (WINDOW_SIZE_X / 2); col < (width - (WINDOW_SIZE_X / 2)); col += 2) for(var row_w = (row - (WINDOW_SIZE_Y / 2)); row_w <= (row + (WINDOW_SIZE_Y / 2)); row_w += 2) for(var col_w = (col - (WINDOW_SIZE_X / 2)); col_w <= (col + (WINDOW_SIZE_X / 2)); col_w += 2) WebGL-Kernel: if(mod(float(col), 2.0)!= mod(float(half_window_size_x), 2.0)... ) { //return }\ for(int i = -half_window_size_y; i <= half_window_size_y; i+=2)\ for(int j = -half_window_size_x; j <= half_window_size_x; j+=2) if(sig_last == sig_curr) { // vector found } if( // vector found ) { // return vector coords }\ {\ }\

25 3. Demo

26 Inhalt 1. Optischer Fluss mit der Census-Transformation 2. Parallele Implementierung im Browser mit Hilfe von WebGL 3. Demo 4. Evaluation 5. Quellen und Referenzen

27 4. Evaluation 1. Optimierung 2. Messdaten 3. Ausblick 4. Zusammenfassung der Ergebnisse

28 4.1 Optimierung Anfangs: folgender Rahmen in jedem Schritt des Optical Flow: var img_in = gpgl.createimage2d(width, height, gpgl.format.ubyte8888, data1); var img_out = gpgl.createimage2d(width, height, gpgl.format.ubyte8888); // Kernel Execution return data2 = img_out.readpixels(); Schlechte Idee! createimage2d(..., data1) und img_out.readpixels() bewegen Daten zwischen Grafikspeicher und Arbeitsspeicher. Device-Host-Transfer sehr teuer! Lösung: Globale Variablen, die 2D-Images zwischen den Schritten referenzieren. Nur finales Auslesen aus dem Grafikspeicher.

29 4.2 Messdaten Mittlere FPS2 Speedup3 JavaScript (nativ) JavaScript + WebGL (vor Optimierung) JavaScript + WebGL (nach Optimierung1) C++ (nicht im Browser) Variante Testsystem: Intel(R) Core(TM) i5 CPU 2.80GHz 3.04 GHz, 8 GB RAM, ATI Radeon HD 6870 mit 1024 MB GDDR5 1) Anzahl an Device-Host-Transfers wurde minimiert. 2) Arithmetisches Mittel nach 30s Anlaufzeit und 60s Messung 3) Speedup nach Formel S = T1 / Tp

30 4.3 Ausblick Weitere Optimierungsmöglichkeit Zwei Bilder innerhalb konfigurierbaren Zeitraums Δt aufnehmen Erst danach Anwendung des Algorithmus auf die beiden Bilder Folgen: Unabhängig der Rechenleistung werden Bewegungen erfasst Je nach Δt entfallen besonders schnelle / langsame Bewegungen Analogie: Tief-/Hochpass-Filter für Frequenzen Exklusive Erfassung von Bewegungen bestimmter Geschwindigkeit

31 4.4 Zusammenfassung der Ergebnisse Optical Flow Algorithmus besteht aus den Schritten: Graustufenkonvertierung Weichzeichnungsfilter Signaturberechnung Signaturvergleich Vektoren WebGL-Herausforderungen: Iterationsraum abbilden Zugriff auf Pixelwerte des übergebenen Bildes Umgang mit RGBA-Vektoren im Kernel Effizienter Umgang mit Device-Host-Transfers Speedup von ca. 21 durch WebGL-Beschleunigung Alternative Herangehensweise: Erst Aufnahme zweier Bilder innerhalb bestimmter Zeit, dann Anwendung des Algorithmus

32 Quellen und Referenzen Oliver Reiche, GPGL, Sascha Roloff, Referenzimplementierung OpticalFlow in C++ Marvin Kampf und Michael Moese, Optical Flow (WebGL), Khronos Group, WebGL, Fridtjof Stein, Efficient Computation of Optical Flow Using the Census Transform, In: Pattern Recognition, 3175, Springer, Berlin/Heidelberg 2004

33 Dankeschön! Michael Moese und Marvin Kampf Seminar: Multi-Core Architectures and Programming, SS13

Programmierbeispiele und Implementierung. Name: Michel Steuwer E-Mail: michel.steuwer@wwu.de

Programmierbeispiele und Implementierung. Name: Michel Steuwer E-Mail: michel.steuwer@wwu.de > Programmierbeispiele und Implementierung Name: Michel Steuwer E-Mail: michel.steuwer@wwu.de 2 > Übersicht > Matrix Vektor Multiplikation > Mandelbrotmenge / Apfelmännchen berechnen > Kantendetektion

Mehr

Viola-Jones Gesichtserkennung mit WebGL

Viola-Jones Gesichtserkennung mit WebGL Viola-Jones Gesichtserkennung mit WebGL Tobias Groß, Björn Meier Hardware/Software Co-Design, University of Erlangen-Nuremberg 18. Juli 2013 Outline Motivation Viola-Jones Funktionsweise Blockbewertung

Mehr

OpenGL. (Open Graphic Library)

OpenGL. (Open Graphic Library) OpenGL (Open Graphic Library) Agenda Was ist OpenGL eigentlich? Geschichte Vor- und Nachteile Arbeitsweise glscene OpenGL per Hand Debugging Trend Was ist OpenGL eigentlich? OpenGL ist eine Spezifikation

Mehr

Praxiseinheit: Realisierung einer hardwarebeschleunigten Disparitätenberechnung zur automatischen Auswertung von Stereobildern

Praxiseinheit: Realisierung einer hardwarebeschleunigten Disparitätenberechnung zur automatischen Auswertung von Stereobildern Praxiseinheit: Realisierung einer hardwarebeschleunigten Disparitätenberechnung zur automatischen Auswertung von Stereobildern Institut für Betriebssysteme und Rechnerverbund TU Braunschweig 25.10., 26.10.

Mehr

CUDA. Jürgen Pröll. Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg Jürgen Pröll 1

CUDA. Jürgen Pröll. Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg Jürgen Pröll 1 CUDA Jürgen Pröll Multi-Core Architectures and Programming Jürgen Pröll 1 Image-Resize: sequentiell resize() mit bilinearer Interpolation leicht zu parallelisieren, da einzelne Punkte voneinander unabhängig

Mehr

Die Bildbearbeitungssprache Halide

Die Bildbearbeitungssprache Halide Die Bildbearbeitungssprache Halide Dominik Danner 13.06.2013 Dominik Danner Die Bildbearbeitungssprache Halide 13.06.2013 1 / 30 Inhaltsverzeichnis 1 Einführung Die Domäne der Bildbearbeitung Einführungsbeispiel

Mehr

GPGPU-Architekturen CUDA Programmiermodell Beispielprogramm. Einführung CUDA. Ralf Seidler. Friedrich-Alexander-Universität Erlangen-Nürnberg

GPGPU-Architekturen CUDA Programmiermodell Beispielprogramm. Einführung CUDA. Ralf Seidler. Friedrich-Alexander-Universität Erlangen-Nürnberg Einführung CUDA Friedrich-Alexander-Universität Erlangen-Nürnberg PrakParRA, 18.11.2010 Outline 1 GPGPU-Architekturen 2 CUDA Programmiermodell 3 Beispielprogramm Outlook 1 GPGPU-Architekturen 2 CUDA Programmiermodell

Mehr

OpenCL Implementierung von OpenCV Funktionen

OpenCL Implementierung von OpenCV Funktionen Multi-Core Architectures and Programming OpenCL Implementierung von OpenCV Funktionen julian.mueller@e-technik.stud.uni-erlangen.de Hardware/Software Co-Design August 18, 2011 1 Table of content 1 OpenCL

Mehr

1. Übung zu "Numerik partieller Differentialgleichungen"

1. Übung zu Numerik partieller Differentialgleichungen 1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:

Mehr

Seminar: Grafikprogrammierung

Seminar: Grafikprogrammierung Game Developer Converence 08 Seminar: Grafikprogrammierung Alexander Weggerle 17.04.08 Seite 2 Einführung Themenüberblick Organisatorisches Seminarablauf liches Seite 3 Einführung Seminar Motivation Vorbereitung

Mehr

Einleitung. Komplexe Anfragen. Suche ist teuer. VA-File Verfeinerungen. A0-Algo. GeVAS. Schluß. Folie 2. Einleitung. Suche ist teuer.

Einleitung. Komplexe Anfragen. Suche ist teuer. VA-File Verfeinerungen. A0-Algo. GeVAS. Schluß. Folie 2. Einleitung. Suche ist teuer. Anwendung Input: Query-Bild, Ergebnis: Menge ähnlicher Bilder. Kapitel 8: Ähnlichkeitsanfragen und ihre effiziente Evaluierung Wie zu finden? Corbis, NASA: EOS Bilddatenbank Folie Folie 2 Ähnlichkeitssuche

Mehr

Effiziente Java Programmierung

Effiziente Java Programmierung Effiziente Java Programmierung Seminar Implementierung moderner virtueller Maschinen am Beispiel von Java SS 2009 von Reinhard Klaus Losse 20. Mai 2009 Gliederung Definition Effizienz Werkzeuge zum Messen

Mehr

GPGPU-Architekturen CUDA Programmiermodell Beispielprogramm Organiosatorisches. Tutorial CUDA. Ralf Seidler

GPGPU-Architekturen CUDA Programmiermodell Beispielprogramm Organiosatorisches. Tutorial CUDA. Ralf Seidler Friedrich-Alexander-Universität Erlangen-Nürnberg 05.10.2010 Outline 1 GPGPU-Architekturen 2 CUDA Programmiermodell 3 Beispielprogramm 4 Organiosatorisches Outlook 1 GPGPU-Architekturen 2 CUDA Programmiermodell

Mehr

Programmieren I. Kapitel 5. Kontrollfluss

Programmieren I. Kapitel 5. Kontrollfluss Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,

Mehr

THE GO PROGRAMMING LANGUAGE. Michael Karnutsch & Marko Sulejic

THE GO PROGRAMMING LANGUAGE. Michael Karnutsch & Marko Sulejic THE GO PROGRAMMING LANGUAGE Part 1: Michael Karnutsch & Marko Sulejic Gliederung Geschichte / Motivation Compiler Formatierung, Semikolons Variablen, eigene Typen Kontrollstrukturen Funktionen, Methoden

Mehr

Masterpraktikum Scientific Computing

Masterpraktikum Scientific Computing Masterpraktikum Scientific Computing High-Performance Computing Thomas Auckenthaler Wolfgang Eckhardt Prof. Dr. Michael Bader Technische Universität München, Germany Outline Organisatorisches Entwicklung

Mehr

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Einführung in den Einsatz von Objekt-Orientierung mit C++ I Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

C.3 Funktionen und Prozeduren

C.3 Funktionen und Prozeduren C3 - Funktionen und Prozeduren Funktionsdeklarationen in Pascal auch in Pascal kann man selbstdefinierte Funktionen einführen: Funktionen und Prozeduren THEN sign:= 0 Funktion zur Bestimmung des Vorzeichens

Mehr

20 Jahre. acadgraph CADstudio GmbH Fritz-Hommel-Weg 4 80805 München Seite 1 von 11

20 Jahre. acadgraph CADstudio GmbH Fritz-Hommel-Weg 4 80805 München Seite 1 von 11 Seite 1 von 11 Inhaltsverzeichnis 1 - Features & Benefits... 3 1.1 Schnell und einfach Eye Checker erstellen... 3 1.2 Einfach zu erlernen... 3 1.3 Voll CAD-Kompatibel... 3 2 - Arbeitsweise... 3 2.1 Userinterface...

Mehr

OpenCL. OpenCL. Boris Totev, Cornelius Knap

OpenCL. OpenCL. Boris Totev, Cornelius Knap OpenCL OpenCL 1 OpenCL Gliederung Entstehungsgeschichte von OpenCL Was, warum und überhaupt wieso OpenCL CUDA, OpenGL und OpenCL GPUs OpenCL Objekte Work-Units OpenCL Adressbereiche OpenCL API Codebeispiel

Mehr

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung

Application Note. Anbindung von Kunden-Software an SpiderControl Web Visualisierung 2015-02-25 1 of 6 Application Note Anbindung von Kunden-Software an SpiderControl Web Visualisierung Version ApplicationNote_AnbindungFremdsoftware /Version Seite 1 / 6 Version Datum Kommentar Autor 0.1

Mehr

Eine Einführung Computergrafik SS14 Timo Bourdon

Eine Einführung Computergrafik SS14 Timo Bourdon Eine Einführung Computergrafik SS14 Timo Bourdon Organisatorisches Übung am Freitag den 11. Juli entfällt! Zum OpenGL-Übungsblatt OpenGL 3.0 oder höher notwendig (Shading Language 1.50 oder höher) CIP

Mehr

Was ist SVG? Inhalt: Allgemeines zu SVG Besondere Merkmale Vor- und Nachteile Dateiformat Standardobjekte Koordinatensystem Beispiele Links

Was ist SVG? Inhalt: Allgemeines zu SVG Besondere Merkmale Vor- und Nachteile Dateiformat Standardobjekte Koordinatensystem Beispiele Links Was ist SVG? Was ist SVG? Inhalt: Allgemeines zu SVG Besondere Merkmale Vor- und Nachteile Dateiformat Standardobjekte Koordinatensystem Beispiele Links SVG: Allgemeines zu SVG SVG = Scalable Vector Graphics

Mehr

Methoden (fortgeschritten) in C# - 1

Methoden (fortgeschritten) in C# - 1 Methoden (fortgeschritten) in C# - 1 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Opertatoren Überladung 2. delegate 3. Anonyme Methoden delegate Lamda Ausdruck-Lamdas Anweisung-Lamdas Variablenbereich

Mehr

Transparente Nutzung von Multi-GPU Cluster unter Java/OpenMP

Transparente Nutzung von Multi-GPU Cluster unter Java/OpenMP Transparente Nutzung von Multi-GPU Cluster unter Java/OpenMP Dipl. Inf. Thorsten Blaß Programming Systems Group Martensstraße 3 91058 Erlangen Ausblick Motivation Einführung Java/OpenMP (JaMP) JaMP Sprache

Mehr

OpenCL. Seminar Programmiersprachen im Multicore-Zeitalter Universität Siegen Tim Wiersdörfer tim.wiersdoerfer@student.uni-siegen.

OpenCL. Seminar Programmiersprachen im Multicore-Zeitalter Universität Siegen Tim Wiersdörfer tim.wiersdoerfer@student.uni-siegen. OpenCL Seminar Programmiersprachen im Multicore-Zeitalter Universität Siegen Tim Wiersdörfer tim.wiersdoerfer@student.uni-siegen.de Abstract: In diesem Dokument wird ein grundlegender Einblick in das relativ

Mehr

Einführung in die STL

Einführung in die STL 1/29 in die STL Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/29 Outline 1 3/29 Inhaltsverzeichnis 1 4/29 Typisierung

Mehr

Grafikkarten-Architektur

Grafikkarten-Architektur > Grafikkarten-Architektur Parallele Strukturen in der GPU Name: Sebastian Albers E-Mail: s.albers@wwu.de 2 > Inhalt > CPU und GPU im Vergleich > Rendering-Pipeline > Shader > GPGPU > Nvidia Tesla-Architektur

Mehr

MAP CellSs Mapprakt3

MAP CellSs Mapprakt3 MAP CellSs Mapprakt3 Andreas Fall, Matthias Ziegler, Mark Duchon Hardware-Software-Co-Design Universität Erlangen-Nürnberg Andreas Fall, Matthias Ziegler, Mark Duchon 1 CellSs Cell CPU (1x PPU + 6x SPU)

Mehr

Graphic Coding. Klausur. 9. Februar 2007. Kurs A

Graphic Coding. Klausur. 9. Februar 2007. Kurs A Graphic Coding Klausur 9. Februar 2007 Kurs A Name: Matrikelnummer: Hinweise - Es sind keine Hilfsmaterialien erlaubt. (Keine Bücher, Taschenrechner, Handys) - Sie haben zwei Stunden Zeit. - Insgesamt

Mehr

RACK4-ATX-Q77. Features

RACK4-ATX-Q77. Features Produktinformation RACK4-ATX-Q77 Industriestraße 2 47638 Straelen Telefon: 0 28 34-77 93 0-0 Telefax: 0 28 34-77 93 0-49 E-Mail: Web: vertrieb@abeco.de www.abeco.de Features CPU Intel Core? i7-2600, 3.48GHz

Mehr

Java basierte Browser Plug-ins. Martin Kreis 3D-Graphik im Web WS 02/03. 27.01.2003 Java basierte Browser Plug-ins 1. Übersicht

Java basierte Browser Plug-ins. Martin Kreis 3D-Graphik im Web WS 02/03. 27.01.2003 Java basierte Browser Plug-ins 1. Übersicht Java basierte Browser Plug-ins Martin Kreis 3D-Graphik im Web WS 02/03 27.01.2003 Java basierte Browser Plug-ins 1 Übersicht Plug-ins 2D/3D Präsentationen und Animationen im Web Shout3D 3DAnywhere Anfy/Anfy3D

Mehr

VORKURS INFORMATIK EINE EINFÜHRUNG IN JAVASCRIPT

VORKURS INFORMATIK EINE EINFÜHRUNG IN JAVASCRIPT 4. Oktober 2016 VORKURS INFORMATIK EINE EINFÜHRUNG IN JAVASCRIPT Benjamin Förster Institut für Informatik, Informations- und Medientechnik INHALT 1. HTML5 Einstieg HTML5 2. Einführung in JavaScript Zeichnen

Mehr

12 == 12 true 12 == 21 false 4 === 7 true 4 === "vier" false 4 === 4.0 false 12!= 13 true 12!== 12 false 12!== 12.0 true. 1 < 3 true 3 < 1 false

12 == 12 true 12 == 21 false 4 === 7 true 4 === vier false 4 === 4.0 false 12!= 13 true 12!== 12 false 12!== 12.0 true. 1 < 3 true 3 < 1 false Die if-anweisung if (Bedingung 1) { Code 1 else { Code 2 ; Anm.1: Das ; kann entfallen, da innerhalb { ein sog. Codeblock geschrieben wird. Anm.2: Es gibt noch andere Schreibweisen, aber wir wollen uns

Mehr

Aqcuisition Processing Distribution Exploit/View

Aqcuisition Processing Distribution Exploit/View Rendering und Bereitstellung massiver Geodaten unter Verwendung von OpenWebGlobe und MapCache in der Cloud Robert Wüest, Martin Christen, Benjamin Loesch Fachhochschule Nordwestschweiz Aqcuisition Processing

Mehr

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden

Kapitel 8. Programmierkurs. Methoden. 8.1 Methoden Kapitel 8 Programmierkurs Birgit Engels Anna Schulze Zentrum für Angewandte Informatik Köln Objektorientierte Programmierung Methoden Überladen von Methoden Der this-zeiger Konstruktoren Vererbung WS 07/08

Mehr

Beispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme

Beispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme Schwerpunkte 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java Imperative Programmierung Beispiel für ein Programm aus drei Komponenten Variable,

Mehr

Unterprogramme, Pointer und die Übergabe von Arrays

Unterprogramme, Pointer und die Übergabe von Arrays Unterprogramme, Pointer und die Übergabe von Arrays Unterprogramme Wie schon im Abschnitt über Funktionen erwähnt, versteht man unter einem Unterprogramm im engeren Sinn eine Prozedur, welche die Werte

Mehr

CPU-Caches. Christian Duße. Seminar Effiziente Programmierung in C

CPU-Caches. Christian Duße. Seminar Effiziente Programmierung in C CPU-Caches Christian Duße Seminar Effiziente Programmierung in C Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Programmierparadigmen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Programmiersprachen-Paradigmen Eine Programmiersprache

Mehr

Gerät Preis* CPU, VGA, HD, RAM Ausstattung

Gerät Preis* CPU, VGA, HD, RAM Ausstattung 1 PC Ultra 559.- CPU: Intel Core Duo ab 3,0 GHz RAM: 8 GB HD: 128 GB SSD + 1 TB HDD VGA: GeForce GTX 750 2GB GDDR5 robuster Verarbeitung. Neben starken verfügt der PC Ultra über eine hochwertige Grafikkarte

Mehr

Informatik B von Adrian Neumann

Informatik B von Adrian Neumann Musterlösung zum 7. Aufgabenblatt vom Montag, den 25. Mai 2009 zur Vorlesung Informatik B von Adrian Neumann 1. Java I Schreiben Sie ein Java Programm, das alle positiven ganzen Zahlen 0 < a < b < 1000

Mehr

Probeklausur: Programmierung WS04/05

Probeklausur: Programmierung WS04/05 Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,

Mehr

Einführung in OpenCV Motivation Anwenderfeatures GUI-Demo Architektur Dokumentation API Ausblick. CVVisual. Ein Debug-Framework für OpenCV

Einführung in OpenCV Motivation Anwenderfeatures GUI-Demo Architektur Dokumentation API Ausblick. CVVisual. Ein Debug-Framework für OpenCV CVVisual Ein Debug-Framework für OpenCV Andreas Clara Erich Florian Johannes Nikolai Raphael 20. Juni 2014 Gliederung Einführung in OpenCV Motivation Anwenderfeatures Gui-Demo Architektur Dokumentation

Mehr

Cross-Platform Mobile Apps

Cross-Platform Mobile Apps Cross-Platform Mobile Apps 05. Juni 2013 Martin Wittemann Master of Science (2009) Arbeitet bei 1&1 Internet AG Head of Frameworks & Tooling Tech Lead von qooxdoo Plattformen Java ME 12 % Rest 7 % Android

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 06: Arrays Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Arrays Motivation und Eigenschaften Deklaration, Erzeugung und Initialisierung

Mehr

Grafikprozessor Grafikspeicher Taktung Kühlung Schnittstellen Ausgänge Treiber Crossfire & SLI ATI Nvidia Matrox PowerVR Technologies Inhaltsverzeichn

Grafikprozessor Grafikspeicher Taktung Kühlung Schnittstellen Ausgänge Treiber Crossfire & SLI ATI Nvidia Matrox PowerVR Technologies Inhaltsverzeichn Grafikprozessor Grafikspeicher Taktung Kühlung Schnittstellen Ausgänge Treiber Crossfire & SLI ATI Nvidia Matrox PowerVR Technologies Inhaltsverzeichnis Grafikprozessor Der Grafikprozessor dient zur Berechnung

Mehr

Klausur zu High Performance Computing 09. Juli 2011, SS 2011

Klausur zu High Performance Computing 09. Juli 2011, SS 2011 Alexander Vondrous, Britta Nestler, Fakultät IWI, Hochschule Karlsruhe Klausur zu High Performance Computing 09. Juli 2011, SS 2011 Es sind keine Hilfsmittel zugelassen. Bearbeitungszeit: 90 Minuten Aufgabe

Mehr

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe... php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren Teilnehmerkreis und Voraussetzungen Studiengänge

Mehr

Ralf Wondratschek adorsys GmbH & Co. KG. Bildbearbeitung für Android mit OpenCV

Ralf Wondratschek adorsys GmbH & Co. KG. Bildbearbeitung für Android mit OpenCV Ralf Wondratschek adorsys GmbH & Co. KG Bildbearbeitung für Android mit OpenCV Inhalt OpenCV API Pixel Zugriff Effektbeispiele Inhalt Einbindung in Android Kamerazugriff bei Android Best Practices cv::scalar

Mehr

Assembler - Einleitung

Assembler - Einleitung Assembler - Einleitung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Einleitung 1/19 2008-04-01 Teil 1: Hochsprache

Mehr

Studiengang Informatik der FH Gießen-Friedberg. Sequenz-Alignment. Jan Schäfer. WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel

Studiengang Informatik der FH Gießen-Friedberg. Sequenz-Alignment. Jan Schäfer. WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel Studiengang Informatik der FH Gießen-Friedberg Sequenz-Alignment Jan Schäfer WS 2006/07 Betreuer: Prof. Dr. Klaus Quibeldey-Cirkel Überblick Einführung Grundlagen Wann ist das Merkmal der Ähnlichkeit erfüllt?

Mehr

Programmieren in C++ Arrays, Strings und Zeigerarithmetik

Programmieren in C++ Arrays, Strings und Zeigerarithmetik Programmieren in C++ Arrays, Strings und Zeigerarithmetik Inhalt Eindimensionale C-Arrays C-Strings und Strings (Mehrdimensionale C-Arrays) Arrays und Vektoren (C++) Unique Pointers (C++11) Zeigerarithmetik

Mehr

Javakurs 2013 Objektorientierung

Javakurs 2013 Objektorientierung Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0

Mehr

Web und Mobile Apps Programmieren mit Dart

Web und Mobile Apps Programmieren mit Dart Web und Mobile Apps Programmieren mit Dart Marco Jakob Workshop INFOS 2013 in Kiel 28.09.2013. ZIEL attraktiv aktuell Programmierunterricht wenig Hürden Inhalt Weshalb Web und Mobile im Unterricht? aktuelle

Mehr

Funktionen in PHP 1/7

Funktionen in PHP 1/7 Funktionen in PHP 1/7 Vordefinierte Funktionen in PHP oder vom Entwickler geschriebene Funktionen bringen folgende Vorteile: gleiche Vorgänge müssen nur einmal beschrieben und können beliebig oft ausgeführt

Mehr

Advanced Programming in C

Advanced Programming in C Advanced Programming in C Pointer und Listen Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Oktober 2013 Überblick 1 Variablen vs. Pointer - Statischer und dynamischer

Mehr

GridMate The Grid Matlab Extension

GridMate The Grid Matlab Extension GridMate The Grid Matlab Extension Forschungszentrum Karlsruhe, Institute for Data Processing and Electronics T. Jejkal, R. Stotzka, M. Sutter, H. Gemmeke 1 What is the Motivation? Graphical development

Mehr

Kunst der Spieleprogrammierung. The END. Playful Design. (c) 2013, Peter Sturm, Universität Trier

Kunst der Spieleprogrammierung. The END. Playful Design. (c) 2013, Peter Sturm, Universität Trier The END Playful Design 1 Gamification bzw. Playful Design Motivation Bedienungsfreundlichkeit ZENTRALES Element der Spieleentwicklung Software wird meist freiwillig genutzt J Spiele waren immer wichtig

Mehr

UIKit (Cocoa Touch) Framework für ios Apps. Objective C. Model View Controller Pattern

UIKit (Cocoa Touch) Framework für ios Apps. Objective C. Model View Controller Pattern ios Rendering ios Architektur UIKit (Cocoa Touch) A composable, reusable, declarative, real-world inspired animation, and interaction system Framework für ios Apps Objective C Model View Controller Pattern

Mehr

Standardsoftware für die Industrielle Bildverarbeitung

Standardsoftware für die Industrielle Bildverarbeitung Standardsoftware für die Industrielle Bildverarbeitung Der elegante Weg zur Performanzsteigerung Dr. Olaf Munkelt MVTec Software GmbH MVTec Software GmbH Firma konzentriert sich auf Building Vision for

Mehr

APEX und Phonegap? Das kann APEX doch mit HTML5! APEX connect Düsseldorf, 10. Juni 2015 Daniel Horwedel. APEX und Phonegap?

APEX und Phonegap? Das kann APEX doch mit HTML5! APEX connect Düsseldorf, 10. Juni 2015 Daniel Horwedel. APEX und Phonegap? Das kann APEX doch mit HTML5! APEX connect Düsseldorf, 10. Juni 2015 Daniel Horwedel WGV-Horwedel, 10.06.2015 Agenda Vorstellung Strategien zur Entwicklung mobiler Anwendungen HTML 5 Elemente APIs Kamera

Mehr

Optimierung eines neuen Logarithmic-Search-Verfahrens zum Image Mosaicing unter Einsatz des CUDA-Frameworks

Optimierung eines neuen Logarithmic-Search-Verfahrens zum Image Mosaicing unter Einsatz des CUDA-Frameworks Fachhochschule Köln, Campus Gummersbach Optimierung eines neuen Logarithmic-Search-Verfahrens zum Image Mosaicing unter Einsatz des CUDA-Frameworks 03.06.2009 Eugen Sewergin, B. Sc. Erstprüfer: Prof. Dr.

Mehr

Thema: Hardware-Shader

Thema: Hardware-Shader Seminar Grafikprogrammierung Thema: Hardware-Shader Christian Bauer 03.07.08 Überblick Entwicklung Die Shader im Detail Programmierung GPGPU Zusammenfassung & Ausblick 1/19 Entwicklung (1) Früher: Berechnung

Mehr

World of Warcraft. Mindestvoraussetzungen

World of Warcraft. Mindestvoraussetzungen World of Warcraft Betriebssystem Windows XP / Windows Vista / Windows 7 Windows 7 / Windows 8 64-bit mit Windows 8 mit aktuellstem Servicepack aktuellstem Servicepack Prozessor Intel Core 2 Duo E6600 oder

Mehr

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer

Mehr

DataTables LDAP Service usage Guide

DataTables LDAP Service usage Guide DataTables LDAP Service usage Guide DTLDAP Usage Guide thomasktn@me.com / www.ktn.ch Benutzung des DTLDAP Service DataTables Der Service stellt einen JSON Feed für DataTables (http://www.datatables.net)

Mehr

Übersicht. Schleifen. Schleifeninvarianten. Referenztypen, Wrapperklassen und API. 9. November 2009 CoMa I WS 08/09 1/15

Übersicht. Schleifen. Schleifeninvarianten. Referenztypen, Wrapperklassen und API. 9. November 2009 CoMa I WS 08/09 1/15 Übersicht Schleifen Schleifeninvarianten Referenztypen, Wrapperklassen und API CoMa I WS 08/09 1/15 CoMa I Programmierziele Linux bedienen Code umschreiben strukturierte Datentypen Anweisungen und Kontrollstrukturen

Mehr

Übersicht. 4.1 Ausdrücke. 4.2 Funktionale Algorithmen. 4.3 Anweisungen. 4.4 Imperative Algorithmen Variablen und Konstanten. 4.4.

Übersicht. 4.1 Ausdrücke. 4.2 Funktionale Algorithmen. 4.3 Anweisungen. 4.4 Imperative Algorithmen Variablen und Konstanten. 4.4. Übersicht 4.1 Ausdrücke 4.2 Funktionale Algorithmen 4.3 Anweisungen 4.4 Imperative Algorithmen 4.4.1 Variablen und Konstanten 4.4.2 Prozeduren 4.4.3 Verzweigung und Iteration 4.4.4 Globale Größen Einführung

Mehr

XPages Good to know. Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015

XPages Good to know. Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015 XPages Good to know Benjamin Stein & Pierre Hein Stuttgart 7. Mai 2015 Agenda 1. Einführung Was sind XPages? 2. Allgemeine Tipps Allgemeine Tipps für die Verwendung von XPages 3. Designer Tipps Tipps für

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik

Mehr

Distributed Computing Group

Distributed Computing Group JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird

Mehr

Xojo für FileMaker Entwickler

Xojo für FileMaker Entwickler Ein Blick über den Tellerrand Was ist Xojo? Xojo ist eine Objektorientiertes Entwicklungswerkzeug zum Bau von Crossplattform Lösungen Objektorientierte Programmiersprache Kompiler für native Anwendungen

Mehr

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer Applets Belebung von Webseiten Dipl.-Ing. Wolfgang Beer Was sind Applets? Java Klassen, die spezielle Richtlinien befolgen, um: "in Internet-Browsern lauffähig zu sein" Somit ist, komplexere Funktionalität,

Mehr

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.

Es ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen. Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe

Mehr

XML Technologien Seminar WS 2011/2012. 01.04.12 Einführung in HTML5 1

XML Technologien Seminar WS 2011/2012. 01.04.12 Einführung in HTML5 1 XML Technologien Seminar WS 2011/2012 01.04.12 Einführung in HTML5 1 EINFÜHRUNG IN HTML5 Eine kurze historische Einführung HTML5 Ausblick und kritische Reflexion 01.04.12 Einführung in HTML5 2 Eine kurze

Mehr

Bei for-schleifen muss man nur immer bedenken, dass die letzte Anweisung immer erst nach der Ausführung der restlichen Anweisungen der Schleife

Bei for-schleifen muss man nur immer bedenken, dass die letzte Anweisung immer erst nach der Ausführung der restlichen Anweisungen der Schleife 303 Bei for-schleifen muss man nur immer bedenken, dass die letzte Anweisung immer erst nach der Ausführung der restlichen Anweisungen der Schleife durchgeführt wird. 304 305 for-schleifen sind in Aktivitätsdiagrammen

Mehr

Darstellung komplexer 3D-Stadtmodelle im (mobilen) Webbrowser mittels bildbasiertem Rendering

Darstellung komplexer 3D-Stadtmodelle im (mobilen) Webbrowser mittels bildbasiertem Rendering Darstellung komplexer 3D-Stadtmodelle im (mobilen) Webbrowser mittels bildbasiertem Rendering Martin Christen FHNW Hochschule für Architektur, Bau und Geomatik Institut Vermessung und Geoinformation martin.christen@fhnw.ch

Mehr

Theorie zu Übung 8 Implementierung in Java

Theorie zu Übung 8 Implementierung in Java Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept

Mehr

Leistungs- und Geschwindigkeitssteigerung. Dipl.-Ing. Sebastian F. Kleinau Applikationsingenieur

Leistungs- und Geschwindigkeitssteigerung. Dipl.-Ing. Sebastian F. Kleinau Applikationsingenieur Leistungs- und Geschwindigkeitssteigerung von LabVIEW-Projekten Dipl.-Ing. Sebastian F. Kleinau Applikationsingenieur Agenda 1. Einführung 2. Hilfreiche Werkzeuge zur Codeanalyse 3. Benchmarks für LabVIEW-VIs

Mehr

App-Entwicklung mit Titanium

App-Entwicklung mit Titanium App-Entwicklung mit Titanium Masterstudienarbeit von Betreuung Prof. Dr. M. von Schwerin App-Entwicklung mit Titanium 1 Gliederung 1.Titanium Eine Einführung 2.Programmierschnittstelle (API) 3.Module 4.App

Mehr

Computergrafik SS 2010 Oliver Vornberger. noch Kapitel 10: 2D-Grafik im Web. Vorlesung vom 11.05.2010

Computergrafik SS 2010 Oliver Vornberger. noch Kapitel 10: 2D-Grafik im Web. Vorlesung vom 11.05.2010 Computergrafik SS 2010 Oliver Vornberger noch Kapitel 10: 2D-Grafik im Web Vorlesung vom 11.05.2010 1 Webseite SVG-Beispiel

Mehr

3. Grundlegende Sprachkonstruktionen imperativer Programme

3. Grundlegende Sprachkonstruktionen imperativer Programme 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 4. Nov. 2015 2 Schwerpunkte

Mehr

Grundlagen: Bildbearbeitung / Objekterkennung. Julia Peterwitz zum Seminar: Videobasierte Erkennung und Analyse menschlicher Aktionen

Grundlagen: Bildbearbeitung / Objekterkennung. Julia Peterwitz zum Seminar: Videobasierte Erkennung und Analyse menschlicher Aktionen Grundlagen: Bildbearbeitung / Objekterkennung Julia Peterwitz zum Seminar: Videobasierte Erkennung und Analyse menschlicher Aktionen Videoerkennung! Warum? Live-Übertragung von Veranstaltungen Überwachung

Mehr

JavaScript und PHP-Merkhilfe

JavaScript und PHP-Merkhilfe JavaScript und PHP-Merkhilfe David Vajda 10. November 2016 1 JavaScript 1. Einbinden von JavaScript in das HTML-Dokument

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Digitale Whiteboard-Software mit HTML5, SVG und WebSockets

Digitale Whiteboard-Software mit HTML5, SVG und WebSockets Digitale Whiteboard-Software mit HTML5, SVG und WebSockets Webprogrammierung und Web 2.0-Technologien 30.11.2011 Jan Teske, Peter Weigt, Philipp Nagy, Daniel Hoffmann Gliederung 2 1. Aufgabenstellung 2.

Mehr

Kontrollstrukturen MySQL Funktionen. MySQL 4, 5. Kapitel 20a: PHP Teil 2. Marcel Noe

Kontrollstrukturen MySQL Funktionen. MySQL 4, 5. Kapitel 20a: PHP Teil 2. Marcel Noe MySQL 4, 5 Kapitel 20a: PHP Teil 2 Gliederung 1 2 Gliederung 1 2 Die ermöglicht ein Bedingtes Ausführen von Code-Abschnitten. Nur wenn die Bedingung erfüllt ist wird der Block hinter if ausgeführt. Ist

Mehr

Testen von SOA-Anwendungen mit dem BPEL Testframework

Testen von SOA-Anwendungen mit dem BPEL Testframework Testen von SOA-Anwendungen mit dem BPEL Testframework Stefan Kühnlein IBM Deutschland Enterprise Application Solution GmbH Hollerithstr. 1 81829 München 0160/8848611 Stefan.Kuehnlein@de.ibm.com IBM Deutschland

Mehr

SemTalk Services. SemTalk UserMeeting 29.10.2010

SemTalk Services. SemTalk UserMeeting 29.10.2010 SemTalk Services SemTalk UserMeeting 29.10.2010 Problemstellung Immer mehr Anwender nutzen SemTalk in Verbindung mit SharePoint Mehr Visio Dokumente Viele Dokumente mit jeweils wenigen Seiten, aber starker

Mehr

Binäre lineare Optimierung mit K*BMDs p.1/42

Binäre lineare Optimierung mit K*BMDs p.1/42 Binäre lineare Optimierung mit K*BMDs Ralf Wimmer wimmer@informatik.uni-freiburg.de Institut für Informatik Albert-Ludwigs-Universität Freiburg Binäre lineare Optimierung mit K*BMDs p.1/42 Grundlagen Binäre

Mehr

Funktionale Programmiersprachen

Funktionale Programmiersprachen Funktionale Programmiersprachen An den Beispielen Haskell und Erlang Übersicht Programmiersprachen λ-kalkül Syntax, Definitionen Besonderheiten von funktionalen Programmiersprache, bzw. Haskell Objektorientierte

Mehr

technische universität dortmund Lehrstuhl für Hochfrequenztechnik Übertragungssysteme

technische universität dortmund Lehrstuhl für Hochfrequenztechnik Übertragungssysteme Lehrstuhl für Hochfrequenztechnik GPU-beschleunigte numerische Simulation faseroptischer Übertragungssysteme, Marius Helf, Peter Krummrich Übersicht Motivation Split-Step p Fourier Methode Ansätze für

Mehr

SharePoint Erfahrungen, Möglichkeiten und Grenzen

SharePoint Erfahrungen, Möglichkeiten und Grenzen SharePoint Erfahrungen, Möglichkeiten und Grenzen Dipl.-Kfm. Markus Kersting Medizinische Hochschule Hannover kersting.markus@mh-hannover.de Tel:: +49 (511) 532-4509 DGTI/ADP Treffen 2010, Hannover 02.02.2010,

Mehr

Interaktion Java und JavaScript

Interaktion Java und JavaScript Interaktion Java und JavaScript Eliane Müller Inhalt JavaScript LiveConnect Aufruf von Java aus JavaScript via client-side LiveConnect Aufruf von JavaScript aus Java via client-side LiveConnect Anwendung:

Mehr

Informatik II Musterlösung

Informatik II Musterlösung Ludwig-Maximilians-Universität München SS 2006 Institut für Informatik Übungsblatt 4 Prof. Dr. M. Wirsing, M. Hammer, A. Rauschmayer Informatik II Musterlösung Zu jeder Aufgabe ist eine Datei abzugeben,

Mehr

Multimediale Web-Anwendungen. JavaScript. Einführung. MWA JavaScript-Einführung Dr. E. Schön Sommersemester 2015 Folie 1.

Multimediale Web-Anwendungen. JavaScript. Einführung. MWA JavaScript-Einführung Dr. E. Schön Sommersemester 2015 Folie 1. Multimediale Web-Anwendungen JavaScript Einführung MWA JavaScript-Einführung Dr. E. Schön Sommersemester 2015 Folie 1 Entstehungsgeschichte: JavaScript 1995 Netscape Communications Corp. (Brendan Eich)

Mehr