Bildverarbeitung mit Python
|
|
|
- Inge Bretz
- vor 10 Jahren
- Abrufe
Transkript
1 Bildverarbeitung mit Python Eine Einführung in Python, PIL und ein Ausblick auf NumPy / SciPy Zur Vorbereitung auf die Übungen zur Vorlesung Bildverarbeitung 1 im WiSe 2010/11 Benjamin Seppke
2 Inhalt Einleitung Einführung in Python Einführung in die Python Imaging Library (PIL) Von PIL zu NumPy / SciPy Zusammenfassung
3 Inhalt Einleitung Einführung in Python Einführung in die Python Imaging Library (PIL) Von PIL zu NumPy / SciPy Zusammenfassung
4 Benötigte Software Python (hier: Version 2.X) Python Imaging Library PIL Numpy/SciPy
5 Installationshinweise Linux Alle hier beschriebenen Pakete sollten in den Paketmanagern der Distributionen enthalten sein. Mac OS X Entweder Installation über Paket-System (wie unter Linux), z.b. mit den MacPorts ( oder Binärdateien bzw. Installationsprogramme herunterladen und von Hand installieren. Windows Binärdateien sowie zugehörige Installationsprogramme sind verfügbar!
6 Ziele Wecken des Interesses für eine weitere Programmiersprache: Python Schnellerer Einstieg in die praktische Bildverarbeitung mit Python und PIL Vermittlung einer interaktiven Arbeitsweise ( Spielwiese ) Mehr Effizienz durch Benutzung bzw. Hinzunahme von NumPy / SciPy
7 Inhalt Einleitung Einführung in Python Einführung in die Python Imaging Library (PIL) Von PIL zu NumPy / SciPy Zusammenfassung
8 Einführung in Python Die folgende Einführung orientiert sich an dem offiziellen Python-Tutorial
9 Python Python is an easy to learn, powerful programming language. It has efficient high-level data structures and a simple but effective approach to object-oriented programming. Python s elegant syntax and dynamic typing, together with its interpreted nature, make it an ideal language for scripting and rapid application development in many areas on most platforms. By the way, the language is named after the BBC show Monty Python s Flying Circus and has nothing to do with reptiles. The Python Tutorial, Sep. 2010
10 Warum Python? Kein Schreib/Compile/Test-Zyklus! Vieles enthaltene Funktionalität vgl. mit traditionellen Skriptsprachen! Plattformunabhängig verfügbar! Frei erhältlich und gut dokumentiert! Unterstützt Kompaktheit und Lesbarkeit von Programmen In 10 Minuten erlernbar...
11 Einführung in Python (2.5) Wir verwenden in dieser Einführung nur den interaktiven Modus: Zum Start des Interpreters: python Oder besser: ipython 1. Beispiel: > python Python 2.7 (#1, Feb , 00:02:06) Type "help", "copyright", "credits" or "license" for more information. >>> the_world_is_flat = True >>> if the_world_is_flat:... print "Be careful not to fall off!"... Be careful not to fall off!
12 Datentypen Zahlen Zur Verfügung stehen Ganzzahl-, Gleitkomma- und komplexwertige Datentypen >>> >>> # This is a comment >>> # Integer division returns the floor:... 7/3 2 >>> 7.0 / 2 # but this works >>> 1.0j * 1.0j (-1+0j)
13 Datentypen Zahlen Zuweisungen und Konvertierungen: >>> a= j >>> float(a) Traceback (most recent call last): File "<stdin>", line 1, in? TypeError: can't convert complex to float; use abs(z) >>> a.real 3.0 >>> a.imag 4.0 >>> abs(a) # sqrt(a.real**2 + a.imag**2) 5.0
14 Spezielle Variablen Spezielle Variable _ (nur im Interaktiven Modus): >>> tax = 12.5 / 100 >>> price = >>> price * tax >>> price + _ >>> round(_, 2) Noch viele weitere mehr bei ipython!
15 Datentypen Strings Ähnlich definiert wie z.b. in C, aber unveränderlich! >>> word = 'Help' + 'A' >>> word 'HelpA' >>> '<' + word*5 + '>' '<HelpAHelpAHelpAHelpAHelpA>' >>> 'str' 'ing' # <- This is ok 'string' >>> word[4] 'A' >>> word[0:2] 'He' >>> word[2:] # Everything except the first two characters 'lpa'
16 Datentypen Listen Listen beliebiger Typen (beginnend bei 0-Index) >>> a = ['spam', 'eggs', 100, 1234] >>> a ['spam', 'eggs', 100, 1234] >>> a[0] 'spam' >>> a[-2] 100 >>> a[1:-1] ['eggs', 100] >>> a[:2] + ['bacon', 2*2] ['spam', 'eggs', 'bacon', 4]
17 Das erste Programm Fibonacci-Zahlen >>> # Fibonacci series:... # the sum of two elements defines the next... a, b = 0, 1 >>> while b < 10:... print b... a, b = b, a+b
18 Das erste Programm Fibonacci-Zahlen (mit Komma hinter print ) >>> # Fibonacci series:... # the sum of two elements defines the next... a, b = 0, 1 >>> while b < 10:... print b,... a, b = b, a+b
19 Weitere Kontrollstrukturen if Fallunterscheidung: >>> x = int(raw_input("please enter an integer: ")) Please enter an integer: 42 >>> if x < 0:... x = 0... print 'Negative changed to zero'... elif x == 0:... print 'Zero'... elif x == 1:... print 'Single'... else:... print 'More'... More
20 Weitere Kontrollstrukturen for Pythons for-schleife: >>> # Measure some strings:... a = ['two', 'three', 'four'] >>> for x in a:... print x, len(x)... two 3 three 5 four 4
21 Weitere Kontrollstrukturen for Altbekannte for-schleife mit Zähler: >>> a = ['Mary', 'had', 'a', 'little', 'lamb'] >>> for i in range(len(a)):... print i, a[i]... 0 Mary 1 had 2 a 3 little 4 lamb
22 Funktionsdefinitionen Funktionen sind ein wichtiges Gestaltungselement! >>> def fib(n): # write Fibonacci series up to n... """Print a Fibonacci series up to n."""... a, b = 0, 1... while a < n:... print a,... a, b = b, a+b... >>> # Now call the function we just defined:... fib(2000)
23 Funktionsdefinitionen Funktionen sind auch nur Python-Symbole! >>> fib <function fib at 10042ed0> >>> f = fib >>> f(100) Rückgabewert nicht zwingend erforderlich! >>> fib(0) >>> print fib(0) None
24 Funktionsdefinitionen Fibonacci-Funktion mit Rückgabewert >>> def fib2(n): # return Fibonacci series up to n... """Return a list containing the Fibonacci series up to n."""... result = []... a, b = 0, 1... while a < n:... result.append(a) # see below... a, b = b, a+b... return result... >>> f100 = fib2(100) # call it >>> f100 # write the result [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
25 Funktionsdefinitionen Default-Argumente: def ask_ok(prompt, retries=4, complaint='yes or no, please!'): while True: ok = raw_input(prompt) if ok in ('y', 'ye', 'yes'): return True if ok in ('n', 'no', 'nop', 'nope'): return False retries = retries - 1 if retries < 0: raise IOError('refusenik user') print complaint
26 Funktionsdefinitionen Benannte Argumente: def parrot(voltage, state='a stiff', action='voom', type='norwegian Blue'): print "-- This parrot wouldn't", action, print "if you put", voltage, "volts through it." print "-- Lovely plumage, the", type print "-- It's", state, "!" parrot(1000) parrot(action = 'VOOOOOM', voltage = ) parrot('a thousand', state = 'pushing up the daisies') parrot('a million', 'bereft of life', 'jump')
27 Einschub: Lambda-Konstrukte Auf vielfachen Wunsch der Community (!!!) gibt es in Python Lambda-Konstrukte: >>> f = lambda x, y: x**2 + 2*x*y + y**2 >>> f(1,5) 36 >>> (lambda x: x*2)(3) 6
28 Module Folgendes unter fibo.py gespeichert: # Fibonacci numbers module def fib(n): # return Fibonacci series up to n result = [] a, b = 0, 1 while b < n: result.append(b) a, b = b, a+b return result Lässt sich in Python als Modul verwenden: >>> import fibo >>> fibo.fib(100) [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
29 Python Resümee Python lernt man am besten: durch praktische Arbeit mit der Sprache! nicht durch Präsentationen! Viel, viel mehr, als hier heute vorgestellt! (z.b: Klassen, Fehler, IO, XML, GUI, Netzwerk ) Hoffentlich aus den Folien zu sehen: Schneller Einstieg Steile Lernkurve Frühe und wertvolle Erfolgserlebnisse! Daher: Zurzeit sehr populäre Sprache!
30 Inhalt Einleitung Einführung in Python Einführung in die Python Imaging Library (PIL) Von PIL zu NumPy / SciPy Zusammenfassung
31 Einführung in PIL Die folgende Einführung orientiert sich an dem offiziellen PIL Handbook v
32 Bildverarbeitung mit PIL The Python Imaging Library adds image processing capabilities to your Python interpreter. The core image library is designed for fast access to data stored in a few basic pixel formats. It should provide a solid foundation for a general image processing tool. Einige Vorteile PIL Handbook 2010 Unterstützt viele Bildformate für Im- und Export Effiziente interne Bildrepräsentation Grundlegende Bildverarbeitungs-Algorithmen sind bereits enthalten
33 Hello Image Beispiel: Bild laden und anzeigen: >>> from PIL import Image >>> img = Image.open("lenna_face.png") >>> img <PIL.PngImagePlugin.PngImageFile instance at 0x1457bc0> >>> img.show()
34 Kanalrepräsentation und Speichern Beispiel: Ein Bild kann einfach in seine Kanäle getrennt und wieder zusammengesetzt werden: >>> r, g, b = img.split() >>> img_bgr = Image.merge("RGB", (b, g, r)) >>> r.save( lenna_r.png ) >>> g.save( lenna_r.png ) >>> b.save( lenna_r.png ) >>> img_bgr.save( lenna_bgr.png )
35 Bildausschnitte Beispiel: Bildausschnitte aus einem Bild erzeugen: >>> box = (100, 100, 400, 400) >>> img_region = img.crop(box) >>> img_region.show()
36 Elementare Bildtransformationen Beispiel: Bildausschnitt im Bild rotieren: >>> box = (100, 100, 400, 400) >>> img_region = img.crop(box) >>> img_rot = img_region.rotate(90) # degrees ccw >>> img.paste(img_rot, box) >>> img.show()
37 Punktoperationen auf Bildern Beispiel: Ein Bild invertieren: >>> img_invert = img.point(lambda x: 255-x) >>> img.show() >>> img_invert.show()
38 Pixel-Zugriff mit PIL In PIL unterscheiden zwei Arten von Zugriffsmöglichkeiten auf die Pixel eines Bildes: getpixel((x,y)) / putpixel((x,y),val) langsam, bestenfalls für einige wenige Zugriffe geeignet pixels = img.load() pixels[x,y] schnellerer Zugriff über ein sog. PixelAccess Objekt. Ähnlich einem 2d-Array
39 Bilder als effiziente Arrays?! In vielen Programmierumgebungen (vgl. MatLab) ganz natürlich Basis-Array in Python oft zu unflexibel und nicht mächtig genug Daher: Python-Erweiterung NumPy Idee: Mit PIL Bilder laden und eventuell elementare Operationen durchführen Bilder in NumPy-Matrizen umwandeln Mit NumPy effizient weiter verarbeiten Zurückwandeln und mit PIL abspeichern.
40 Inhalt Einleitung Einführung in Python Einführung in die Python Imaging Library (PIL) Von PIL zu NumPy / SciPy Zusammenfassung
41 Einführung in NumPy Im Rahmen dieses Vortrags ist es leider nicht möglich, eine umfassende Einführung in NumPy zu geben. Daher sei auf folgende Seiten verwiesen: Homepage Tutorial
42 NumPy kurz und knapp NumPy is the fundamental package needed for scientific computing with Python. It contains among other things: a powerful N-dimensional array object [ ] NumPy Homepage, 2010 Bräuchte alleine schon mindestens eine Vorlesung! Wachsende Nutzergemeinschaft (SciPy/NumPy) Verlässliche Algorithmen Ähnlich schnelle Implementationen wie kommerzielle Software
43 Von PIL zu NumPy (und zurück) PIL NumPy... >>> import numpy >>> n_img = numpy.asarray(img) NumPy PIL... >>> img_proc = Image.fromarray(n_img.astype(numpy.uint8)) Achtung: Eventuell muss noch eine Typkonvertierung stattfinden!
44 NumPy Bildrepräsentation Bildrepräsentation nach Umwandlung... >>> n_img array([[[226, 137, 125],..., [200, 99, 90]],..., [[ 82, 22, 57],..., [185, 74, 81]]], dtype=uint8)
45 NumPy Bildrepräsentation Kanalextraktion:... >>> n_img[...,1] array([[137, 137, 137,..., 148, 130, 99], [137, 137, 137,..., 148, 130, 99], [137, 137, 137,..., 148, 130, 99],..., [ 18, 18, 27,..., 73, 68, 62], [ 22, 22, 32,..., 70, 71, 74], [ 22, 22, 32,..., 70, 71, 74]], dtype=uint8)
46 NumPy Bildrepräsentation Umwandlung der Repräsentation:... >>> n_img.reshape((n_img.shape[2],n_img.shape[0],n_img.shape[1]) array([[[226, 137, 125,..., 102, 214, 96],..., [ 94, 182, 87,..., 190, 175, 219]], [[183, 175, 219,..., 206, 132, 126],..., [136, 44, 65,..., 177, 214, 193]], [[173, 211, 177,..., 24, 67, 82],..., [148, 137, 224,..., 185, 74, 81]]], dtype=uint8)
47 Bildverarbeitung mit NumPy Vereinfachung bei Punktoperationen: mit PIL:... >>> new_img = img.point(lambda(x):255 - x) mit NumPy:... >>> new_img = n_img
48 Bildverarbeitung mit NumPy Fourier Transformation und Ausgabe des Spektrums:... >>> red_img = n_img[...,1] >>> fft.fft2(red_img) array([[ e j,..., e j],..., [ e j,..., e j ]])
49 Bildverarbeitung mit NumPy Erzeugung und Ausgabe des Powerspektrums:... >>> red_spec = fft.fft2(red_img) >>> red_spec_shifted = fftshift(red_spectrum) >>> red_spec_magnitude = abs(red_spec_shifted)
50 Bildverarbeitung: SciPy/NumPy Viele vorgefertigte Funktionen, wie z.b. Filter und Fourier-Transformation Einfache Geschwindigkeitsoptimierung durch hervorragende C-Schnittstelle Auch für die Bildverarbeitung sinnvolle Features wie z.b. maskierte Arrays Nahezu alles, was man sich an numerischen Operationen wünschen kann... Zusätzliche Anbindung von Matplotlib zur Visualisierung leicht möglich (siehe FFT)
51 Inhalt Einleitung Einführung in Python Einführung in die Python Imaging Library (PIL) Von PIL zu NumPy / SciPy Zusammenfassung
52 Zusammenfassung I Python als Programmiersprache Verständliche Syntax Sehr mächtig Steile Lernkurve bestens geeignet für interaktives Arbeiten Einfach erweiterbar Große Community
53 Zusammenfassung II Python Imaging Library (PIL) Fügt elementare Bildverarbeitung hinzu Hier vor allem gezeigt: Import & Export Recht intuitiver Umgang mit Bildern NumPy/SciPy Effizientes Arbeiten mit Python Einfache Schnittstelle zur PIL Sehr mächtig Wird kontinuierlich erweitert
54 Vielen Dank für die Aufmerksamkeit! Zeit für Fragen, Diskussion etc.
Bildverarbeitung mit Python
Bildverarbeitung mit Python Eine Einführung in Python, und die Bildverarbeitung mit PyLab Masterprojekt Bildverabeitung SoSe 2011 Benjamin Seppke 14.04.2011 Inhalt Einleitung Einführung in Python Einführung
Algorithmen mit Python
Algorithmen mit Python Vorbesprechung zum Proseminar im Sommersemester 2009 http://www.python.org 1 Sie lernen in DAP Java und C/C++: 80% Syntax, 20% Algorithmen-Design Idee Schon ein einfaches Hello World
Multimedia im Netz Wintersemester 2011/12
Multimedia im Netz Wintersemester 2011/12 Übung 01 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 26.10.2011 MMN Übung 01 2 Inhalte der Übungen Vertiefung
2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE
2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht
ROOT Tutorial für HEPHY@CERN. D. Liko
ROOT Tutorial für HEPHY@CERN D. Liko Was ist ROOT? Am CERN entwickeltes Tool zur Analyse von Daten Funktionalität in vielen Bereichen Objekte C++ Skriptsprachen Was kann ROOT Verschiedene Aspekte C++ as
Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016
to to May 2016 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you
Algorithmen und Programmieren II Einführung in Python
Algorithmen und Programmieren II Einführung in Python SS 2012 Prof. Dr. Margarita Esponda 1 Was ist Python? eine Skript-Sprache Anfang der 90er Jahre entwickelt. Erfinder: Guido van Rossum an der Universität
eridea AG Installation Eclipse V 1.1
Installation Eclipse Inhaltsverzeichnis Einleitung... 2 Voraussetzungen für die Eclipsenutzung... 2 SAP GUI aktualisieren... 2 Java aktualisieren... 3 VC++ aktualisieren... 3 Eclipse installieren... 5
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Modulare Programmierung
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Modulare Programmierung Test Driven Development Refactoring Modular programmierung der
Die i-tüpfelchen: Favicons
Schenken Sie Ihrer URL ein eigenes Icon Sie werden lernen: Wo werden Favicons überall angezeigt? Wie kommen Favicons in die Adressleiste? So erstellen Sie Favicons auf Windows und Mac Ein Favicon für unsere
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:
Beispiel 19. December 4, 2009
Beispiel 9 December 4, 2009 Computermathematik (für Informatik) 4. Übungsblatt (Musterlösung) 2. 2. 2009 Die heutigen Übungen sollen mit dem Computeralgebrasystem Sage gelöst werden. Die Lösung der Beispiele
SEW Übung EMFText. 1 Aufgabe. 2 Domänenbeschreibung. 3 Installation von Eclipse/EMFText. 4 Schritt-für-Schritt Anleitung. 4.
SEW Übung EMFText 1 Aufgabe Erstellen Sie eine textuelle Domänenspezifische Sprache Domain-specific Language (DSL) mit dem Werkzeug EMFText. Die Sprache soll dazu dienen Formulare (Fragen, Antworttypen
Installation mit Lizenz-Server verbinden
Einsteiger Fortgeschrittene Profis [email protected] Version 1.0 Voraussetzungen für diesen Workshop 1. Die M-Quest Suite 2005-M oder höher ist auf diesem Rechner installiert 2. Der M-Lock 2005 Lizenzserver
Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
Daten am USB Stick mit TrueCrypt schützen
Daten am USB Stick mit TrueCrypt schützen Das Programm installieren und einrichten ACHTUNG: In der nachfolgenden Anleitung wird der USB Stick immer mit USB-STICK (H:) angegeben! Diese Bezeichnung wurde
Tutorium Informatik 1. Aufgabe 2: Formatierte Ein- und Ausgabe
Tutorium Informatik 1 Aufgabe 2: Formatierte Ein- und Ausgabe Fachbereich: Elektrotechnik Inhaltsverzeichnis 1 Aufgabe 1 2 Benötigte Funktionen und Schlüsselwörter 2 Robert Halas / FH Regensburg - 2003
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
Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.
Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt
Fotos in Tobii Communicator verwenden
Fotos in Tobii Communicator verwenden Hier wird beschrieben wie man Fotos in Tobii Communicator verwenden kann und was man zur Nutzung beachten sollte. Fotonutzung in Tobii Communicator In einigen Fällen
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,
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.
Sie werden sehen, dass Sie für uns nur noch den direkten PDF-Export benötigen. Warum?
Leitfaden zur Druckdatenerstellung Inhalt: 1. Download und Installation der ECI-Profile 2. Farbeinstellungen der Adobe Creative Suite Bitte beachten! In diesem kleinen Leitfaden möchten wir auf die Druckdatenerstellung
SMART Newsletter Education Solutions April 2015
SMART Education Newsletter April 2015 SMART Newsletter Education Solutions April 2015 Herzlich Willkommen zur aktuellen Ausgabe des Westcon & SMART Newsletters jeden Monat stellen wir Ihnen die neuesten
miditech 4merge 4-fach MIDI Merger mit :
miditech 4merge 4-fach MIDI Merger mit : 4 x MIDI Input Port, 4 LEDs für MIDI In Signale 1 x MIDI Output Port MIDI USB Port, auch für USB Power Adapter Power LED und LOGO LEDs Hochwertiges Aluminium Gehäuse
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
Kapitel 6,»Objektorientierte Programmierung«, widmet sich der objektorientierten Programmierung mit Python.
1.3 Aufbau des Buchs lichkeiten offen. Auf die Unterschiede der beiden Versionen gehe ich besonders ein, sodass ein späterer Umstieg von der einen zur anderen Version leichtfällt. Erste Zusammenhänge werden
eridea AG Installation Eclipse V 1.4
Installation Eclipse Inhaltsverzeichnis Einleitung... 2 Voraussetzungen für die Eclipsenutzung... 2 SAP GUI aktualisieren... 2 Java aktualisieren... 3 VC++ aktualisieren... 3 Eclipse installieren... 5
E-PRIME TUTORIUM Die Programmiersprache BASIC
E-PRIME TUTORIUM Die Programmiersprache BASIC BASIC Beginner s All-purpose Symbolic Instruction Code symbolische Allzweck-Programmiersprache für Anfänger Design-Ziel klar: Eine einfache, für Anfänger geeignete
Programmierung in Python
Programmierung in Python imperativ, objekt-orientiert dynamische Typisierung rapid prototyping Script-Sprache Funktionales und rekursives Programmieren P raktische Informatik 1, W S 2004/05, F olien P
Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter
Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,
Excel Funktionen durch eigene Funktionen erweitern.
Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion
Bildverarbeitung und Algorithmen. Einführung in ImageJ
Prof. Dr. Wolfgang Konen Einführung in ImageJ SS06 3b.1 Konen SS06 3b.2 Konen Tools in der Bildverarbeitung Früher: fast so viele BV-Tools wie BV-Formate Lösungen nur schwer auf andere Systeme übertragbar
Erwin Grüner 09.02.2006
FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife
Konfigurationsanleitung Access Control Lists (ACL) Funkwerk. Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.0.
Konfigurationsanleitung Access Control Lists (ACL) Funkwerk Copyright Stefan Dahler - www.neo-one.de 13. Oktober 2008 Version 1.0 Seite - 1 - 1. Konfiguration der Access Listen 1.1 Einleitung Im Folgenden
Tutorium Rechnerorganisation
Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
Lokale Installation von DotNetNuke 4 ohne IIS
Lokale Installation von DotNetNuke 4 ohne IIS ITM GmbH Wankelstr. 14 70563 Stuttgart http://www.itm-consulting.de Benjamin Hermann [email protected] 12.12.2006 Agenda Benötigte Komponenten Installation
Objektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
Grundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
KVIrc installieren (win) i. KVIrc installieren (win)
i KVIrc installieren (win) ii REVISION HISTORY NUMBER DATE DESCRIPTION NAME 1.0 May 08 T iii Contents 1 Einleitung 1 1.1 Über KVIrc...................................................... 1 1.2 Vorbereitungen....................................................
mit dem TeXnicCenter von Andreas Both
LaTeX mit dem TeXnicCenter Seite 1 von 9 mit dem TeXnicCenter von Andreas Both Diese Dokument soll den Schnelleinstieg von der Installation bis zum ersten LaTeX-Dokument in sehr kurzen (5) Schritten und
Klassendefinitionen verstehen
Klassendefinitionen verstehen Java-Programme bestehen aus Klassendefinitionen und sonst nichts! 1 1.0 Konzepte Felder Konstruktoren Methoden Parameter Zuweisungen ( = ) Anweisungen bedingte Anweisungen
Reporting Services und SharePoint 2010 Teil 1
Reporting Services und SharePoint 2010 Teil 1 Abstract Bei der Verwendung der Reporting Services in Zusammenhang mit SharePoint 2010 stellt sich immer wieder die Frage bei der Installation: Wo und Wie?
Einführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
KURZANLEITUNG CLOUD OBJECT STORAGE
KURZANLEITUNG CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung... Seite 03 2. Anmelden am Cloud&Heat Dashboard... Seite 04 3. Anlegen eines Containers... Seite 05
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
Programmierung für Mathematik (HS13)
software evolution & architecture lab Programmierung für Mathematik (HS13) Übung 5 1 Aufgabe: Eclipse IDE 1.1 Lernziele 1. Die Entwicklungsumgebung Eclipse einrichten. 2. Eclipse kennen lernen und mit
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
e-books aus der EBL-Datenbank
e-books aus der EBL-Datenbank In dieser Anleitung wird erklärt, wie Sie ein ebook aus der EBL-Datenbank ausleihen und mit dem Programm Adobe Digital Edition öffnen. Folgende Vorraussetzungen sind eventuell
. Sage-Einsatz in der Lehre. Open Source Mathematik-Software. Jochen Schulz. Georg-August Universität Göttingen 1/15
1/15 Sage-Einsatz in der Lehre Open Source Mathematik-Software Jochen Schulz Georg-August Universität Göttingen 2/15 Aufbau 1 Was ist Sage? 2 Erfahrungen - Ein Beispiel 3 Zusammenfassung 3/15 Aufbau 1
Administrator-Anleitung
Administrator-Anleitung für die Installation und Konfiguration von MySQL 5.0 zur Nutzung der Anwendung Ansprechpartner für Fragen zur Software: Zentrum für integrierten Umweltschutz e.v. (ZiU) Danziger
Einführung in wxwidgets & wxdev-c++
Einführung in wxwidgets & wxdev-c++ Vortrag im Rahmen der Vorlesung Computational Physics im Sommersemester 2009 Folie 1/13 Gliederung wxwidgets: Übersicht wxdev-c++: Übersicht Installation wxwidgets Syntax
Lasersteuerung. Themengruppen FTDI - Interface ILDA Format Ausgabensteuerung Figurenerstellung Lasershowerstellung Lasershowarten Software / Community
Themengruppen FTDI - Interface ILDA Format Ausgabensteuerung Figurenerstellung Lasershowerstellung Lasershowarten Software / Community FTDI Interface FTDI = Future Technology Devices International 4(6)
Anleitung zum Prüfen von WebDAV
Brainloop Secure Dataroom Version 8.20 Copyright Brainloop AG, 2004-2014. Alle Rechte vorbehalten. Sämtliche verwendeten Markennamen und Markenzeichen sind Eigentum der jeweiligen Markeninhaber. Inhaltsverzeichnis
Programmieren in Haskell Einführung
Programmieren in Haskell Einführung Peter Steffen Universität Bielefeld Technische Fakultät 16.10.2009 1 Programmieren in Haskell Veranstalter Dr. Peter Steffen Raum: M3-124 Tel.: 0521/106-2906 Email:
Das neue Volume-Flag S (Scannen erforderlich)
NetWorker 7.4.2 - Allgemein Tip 2, Seite 1/5 Das neue Volume-Flag S (Scannen erforderlich) Nach der Wiederherstellung des Bootstraps ist es sehr wahrscheinlich, daß die in ihm enthaltenen Informationen
C++11 C++14 Kapitel Doppelseite Übungen Musterlösungen Anhang
Einleitung Dieses Buch wendet sich an jeden Leser, der die Programmiersprache C++ neu lernen oder vertiefen möchte, egal ob Anfänger oder fortgeschrittener C++-Programmierer. C++ ist eine weitgehend plattformunabhängige
Backup-Server einrichten
Einsteiger Fortgeschrittene Profis [email protected] Version.0 Voraussetzungen für diesen Workshop. Die M-Quest Suite 2005-M oder höher ist auf diesem Rechner installiert 2. Das Produkt M-Lock ist
Autorisierung von ArcGIS 10.3 for Server mit Internetverbindung
Autorisierung von ArcGIS 10.3 for Server mit Internetverbindung (Februar 2015) Copyright 2015 Esri Deutschland GmbH Inhalt 1 Einleitung... 3 2 Voraussetzungen... 3 3 Aktualisierungsprozess... 3 4 Überprüfung
Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.
1 2 3 4 Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg. Gerade beim Einstig in der Programmierung muss kontinuierlich
Kurzeinführung Excel2App. Version 1.0.0
Kurzeinführung Excel2App Version 1.0.0 Inhalt Einleitung Das Ausgangs-Excel Excel-Datei hochladen Excel-Datei konvertieren und importieren Ergebnis des Imports Spalten einfügen Fehleranalyse Import rückgängig
ICS-Addin. Benutzerhandbuch. Version: 1.0
ICS-Addin Benutzerhandbuch Version: 1.0 SecureGUARD GmbH, 2011 Inhalt: 1. Was ist ICS?... 3 2. ICS-Addin im Dashboard... 3 3. ICS einrichten... 4 4. ICS deaktivieren... 5 5. Adapter-Details am Server speichern...
Scala kann auch faul sein
Scala kann auch faul sein Kapitel 19 des Buches 1 Faulheit Faulheit ( lazy evaluation ) ist auch in C oder Java nicht unbekannt int x=0; if(x!=0 && 10/x>3){ System.out.println("In if"); } Nutzen der Faulheit?
Informatik I. Informatik I. 6.1 Programme. 6.2 Programme schreiben. 6.3 Programme starten. 6.4 Programme entwickeln. 6.1 Programme.
Informatik I 05. November 2013 6. Python-, kommentieren, starten und entwickeln Informatik I 6. Python-, kommentieren, starten und entwickeln Bernhard Nebel Albert-Ludwigs-Universität Freiburg 05. November
2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:
2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Configuring Terminal Services o Configure Windows Server 2008 Terminal Services RemoteApp (TS RemoteApp) o Configure Terminal Services Gateway
Python Einführung. Monica Selva Soto. 24 März Mathematisches Institut
Mathematisches Institut [email protected] 24 März 2009 Übungen zur Numerik 1 Vorlesung Übungen praktische Aufgaben Webseite: (Anmeldung, Übungsblätter) http://www.mi.uni-koeln.de/~mselva/numerik1.php
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: [email protected] URL: www.virtuos.uni-osnabrueck.de
Installation der SAS Foundation Software auf Windows
Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software
Anleitung zum Prüfen von WebDAV
Anleitung zum Prüfen von WebDAV (BDRS Version 8.010.006 oder höher) Dieses Merkblatt beschreibt, wie Sie Ihr System auf die Verwendung von WebDAV überprüfen können. 1. Was ist WebDAV? Bei der Nutzung des
VBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
Internet Explorer Version 6
Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster
https://portal.microsoftonline.com
Sie haben nun Office über Office365 bezogen. Ihr Account wird in Kürze in dem Office365 Portal angelegt. Anschließend können Sie, wie unten beschrieben, die Software beziehen. Congratulations, you have
Tutorial Windows XP SP2 verteilen
Tutorial Windows XP SP2 verteilen Inhaltsverzeichnis 1. Einführung... 3 2. Windows XP SP2 bereitstellen... 3 3. Softwarepaket erstellen... 4 3.1 Installation definieren... 4 3.2 Installationsabschluss
Version 0.3. Installation von MinGW und Eclipse CDT
Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.
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
.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage
.htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess
Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9
Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9 Prof. Dr. W. Conen Version 1.0c Januar 2009 Genereller Ablauf der Suche Gegeben: Variablen X, Domains D, Constraints R (explizit
Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2018
to to May 2018 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you
Paragon WinPE Recovery Media Builder
PARAGON Software GmbH Heinrich von Stephan Str. 5c 79100 Freiburg, Deutschland Tel. +49 (0) 761 59018201 Fax +49 (0) 761 59018130 Internet www.paragon software.de E Mail vertrieb@paragon software.de Paragon
Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:
Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang
Kontrollstrukturen - Universität Köln
Kontrollstrukturen - Universität Köln Mario Manno Kontrollstrukturen - Universität Köln p. 1 Was sind Sprachen Auszeichnungssprachen HTML, XML Programmiersprachen ASM, Basic, C, C++, Haskell, Java, Pascal,
Universal Gleismauer Set von SB4 mit Tauschtextur u. integrierten Gleismauerabschlüssen!
Stefan Böttner (SB4) März 2013 Universal Gleismauer Set von SB4 mit Tauschtextur u. integrierten Gleismauerabschlüssen! Verwendbar ab EEP7.5(mitPlugin5) + EEP8 + EEP9 Abmessung: (B 12m x H 12m) Die Einsatzhöhe
Symbole zur Veranschaulichung der einschlägigen Informationskategorien Interoperabilität. Name des Unternehmers. Internetverbindung
Symbole zur Veranschaulichung der einschlägigen Informationskategorien Interoperabilität Anbieter Name des Unternehmers Hardware und Software i Funktionsweise Preis Sprache Internetverbindung Preis Dauer
IBM SPSS Statistics Version 22. Installationsanweisungen für Mac OS (Lizenz für gleichzeitig angemeldete Benutzer)
IBM SPSS Statistics Version 22 Installationsanweisungen für Mac OS (Lizenz für gleichzeitig angemeldete Benutzer) Inhaltsverzeichnis Installationsanweisungen....... 1 Systemanforderungen........... 1
Einführung in Javadoc
Einführung in Javadoc Johannes Rinn http://java.sun.com/j2se/javadoc Was ist Javadoc? Javadoc ist ein Werkzeug, dass eine standardisierte Dokumentation für die Programmiersprache Java unterstützt. Vorteil:
GSM Scanner Bedienungsanleitung
GSM Scanner Bedienungsanleitung Inhaltsverzeichnis 1. Funktion der Tasten... 3 2. Erste Schritte... 4 2.1. Einschalten -----------------------------------------------------------------------------------
Blogbeitrag: Installation eines SAP CRM-Systems
Blogbeitrag: Installation eines SAP CRM-Systems Die Installation und Einrichtung eines SAP-Systems ist immer wieder eine Achterbahnfahrt. Am Beispiel der Installation eines SAP CRM Systems möchte ich einmal
Outlook - CommuniGate Pro Schnittstelle installieren. Outlook - Elemente freigeben. Outlook - Freigegebene Elemente öffnen
Microsoft Outlook 1 Nutzung der Groupware mit Microsoft Outlook 1.1 Outlook - CommuniGate Pro Schnittstelle installieren 4 1.2 Outlook - Elemente freigeben 11 1.3 Outlook - Freigegebene Elemente öffnen
Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08
Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer
Gimp Kurzanleitung. Offizielle Gimp Seite: http://www.gimp.org/
Gimp Kurzanleitung Offizielle Gimp Seite: http://www.gimp.org/ Inhalt Seite 2 Seite 3-4 Seite 5-6 Seite 7 8 Seite 9 10 Seite 11-12 Ein Bild mit Gimp öffnen. Ein Bild mit Gimp verkleinern. Ein bearbeitetes
Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen.
HACK #39 Hack Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen.»verschlüsseln Sie Ihren Temp-Ordner«[Hack #33] hat Ihnen gezeigt, wie Sie Ihre Dateien mithilfe
Ausnahmen-Behandlung
Wintersemester 2008/2009 1 try..except..else 2 try..finally 3 raise 4 assert Ausnahmen in Python Trennung von funktionalem Code und Fehlerbehandlung. Gute Sprachintegration Einfache Verwendbarkeit Ähnlich
FMGate Installation & Benutzung 2016-04
FMGate Installation & Benutzung 2016-04 Downloads Stand 2016-04. Transit und FMGate werden kontinuierlich weiterentwickelt. Aktuelle Service Packs, Installationsanleitungen, Benutzerdokumentationen und
Algorithms & Datastructures Midterm Test 1
Algorithms & Datastructures Midterm Test 1 Wolfgang Pausch Heiko Studt René Thiemann Tomas Vitvar
Installationsbeschreibung Import / ATLAS / PV Zollsystem für die EDV-Abteilung
Seite 1/11 Installationsbeschreibung Import / ATLAS / PV Zollsystem für die EDV-Abteilung 1. WICHTIGE HINWEISE Anbei erhalten Sie das Import /PV ATLAS NCTS Update Version V8.4.1 Build: 404, welches Sie
Look Inside: desite. modellorientiertes Arbeiten im Bauwesen. B.I.M.
Building Information Modeling Look Inside: desite modellorientiertes Arbeiten im Bauwesen. B.I.M. desite MD unterstützt Sie bei der täg lichen Arbeit mit Gebäudemodellen und ermöglicht den Zugang zu den
