Filterprogrammierung in Gimp

Ähnliche Dokumente
Mathematik verstehen 7 Lösungsblatt Aufgabe 6.67

Transformation Allgemeines Die Lage eines Punktes kann durch einen Ortsvektor (ausgehend vom Ursprung des Koordinatensystems

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Quadratische Funktionen & Gleichungen... Kinderleicht

3.2. Polarkoordinaten

Vorbemerkungen. Die Programmieroberfläche des ClassPad

Vektoren - Die Basis

Mathematik I für MB und ME

Dynamische Systeme und Zeitreihenanalyse // Komplexe Zahlen 3 p.2/29

Koordinatensysteme der Erde

Matlab Praktikum. Marvin Salzmann, Michael Skowronek, Patrick Schulte

Die 3D-Parameter des Adjust-Fensters im Programm Apophysis 2.08 Beta 3D Hack

3. Erweiterung der trigonometrischen Funktionen

4. Segmentierung von Objekten Video - Inhaltsanalyse

Mathematische Grundlagen

Inhalt. Vorwort 4. Quadratische Funktionen Einführung in das Thema 5-6. Ergänzung von Werten in Wertetabellen 9-10

Leseprobe. Werner Koehldorfer CATIA V5. Volumenmodellierung, Zeichnungen ISBN: Weitere Informationen oder Bestellungen unter

WiMa-Praktikum 1. Woche 8

Übung zur Vorlesung Berechenbarkeit und Komplexität

Durch Eliminieren der Wurzel erhalten wir die bekannte Kreisgleichung:

Mathematik erzeugt grafische Kunstwerke und zauberhafte Videos: Was sind Fraktale?

Kreis - Tangente. 2. Vorbemerkung: Satz des Thales Eine Möglichkeit zur Bestimmung der Tangente benutzt den Satz des Thales.

Lineare Funktion. Wolfgang Kippels 21. März 2011

Beschreibung GNU Image Manipulation Program. Eine Bilddatei mit GIMP speichern

Morphing. von Tim Sternberg. Im Rahmen des Seminars Manipulation und Verarbeitung digitaler Bilder

Zykloide. Lars Ehrenborg. 15. Januar Definition/Erzeugungsweise 2. 2 Herleitung der Parameterdarstellung 2. 4 Fläche eines Zykloidenbogens 4

Anwendungsbeispiel Strahlensatz

Einleitung 2. 1 Koordinatensysteme 2. 2 Lineare Abbildungen 4. 3 Literaturverzeichnis 7

5. Geraden und Ebenen im Raum 5.1. Lineare Abhängigkeit und Unabhängigkeit von Vektoren

Pixel oder Vektor? Die Vor- und Nachteile der verschiedenen Dateiformate. Tipps und Tricks rund um Ihr Marketing, Grafik und Design

Lineare Funktion. Wolfgang Kippels 3. November Inhaltsverzeichnis

Verhalten. Def. und Nutzen von Verhalten. Pseudocode Schreibtischtest. Algorithmen

Koordinatensysteme und ihre Anwendung in Apophysis

Das Praktikum mit Seminar vertieft die in der Vorlesung erworbenen Fähigkeiten in theoretischer und praktischer Hinsicht:

Technische Universität Chemnitz im April 2013

1993 III Aufgabe. In einem kartesischen Koordinatensystem sind die Gerade

Dynamische Geometrie

, 1,52,251,75, 1,5 4, 1,52

Fachwörterliste Mathematik für Berufsintegrationsklassen

Lösungsvorschlag Serie 2 Rekursion

KISSsoft Tutorial: Welleneditor Schritt für Schritt Anleitung. KISSsoft Tutorial 006a: Welleneditor, Schritt für Schritt Anleitung

Theorie digitaler Systeme

Prozedurale Texturen >>Was nicht passt wird passend gemacht...<<

Aufgabe 5: Analytische Geometrie (WTR)

03. Vektoren im R 2, R 3 und R n

Mathematische Kurven sind uns aus den verschiedensten Zusammenhängen vertraut. Wir stellen hier kurz die wichtigsten Begriffe zusammen.

Binomischer Satz. 1-E Vorkurs, Mathematik

Algebra Für welche reellen Zahlen m hat das folgende Gleichungssystem nur die triviale

03. Vektoren im R 2, R 3 und R n

Die Quadratur des Kreises

Numerische Punktselektion und Koordinaten

Mathematik Analytische Geometrie

Lösungsansätze zur Transformation spezieller Datenbestände

Digitale Bildverarbeitung (DBV)

Wahlteil Geometrie/Stochastik B 1

Einbindung in JIMDO-Shopsystem

1.1. Geradengleichung aus Steigung und y-achsenabschnitt

Umwandeln von RGB- in CMYK-Bilder

Exemplar für Prüfer/innen

Analytische Lösung algebraischer Gleichungen dritten und vierten Grades

Doppelintegrale. rd dr. Folie 1

Technische Universität München Zentrum Mathematik

Reflexion - Teil Formel unter Verwendung von Vektoren

Lernunterlagen Vektoren in R 2

Funktionen in der Mathematik

1. Filterung im Ortsbereich 1.1 Grundbegriffe 1.2 Lineare Filter 1.3 Nicht-Lineare Filter 1.4 Separabele Filter 1.

1 Fraktale Eigenschaften der Koch-Kurve

MATHEMATIK Grundkurs 11m3 2010

Tutorial Out of Bounds mit GIMP 2.6

Trigonometrie. Mag. DI Rainer Sickinger HTL. v 1 Mag. DI Rainer Sickinger Trigonometrie 1 / 1

Digitale Bildverarbeitung (DBV)

Programmierkurs C++ Lösungen zum Übungsblatt 3. Nils Eissfeldt und Jürgen Gräfe. 2. November Aufgabe 5

Featurebasierte 3D Modellierung

Schnelle Fouriertransformation (FFT)

Bildverbesserung (Image Enhancement)

1 Einleitung. 2 Sinus. Trigonometrie

Funktionen lassen sich durch verschiedene Eigenschaften charakterisieren. Man nennt die Untersuchung von Funktionen auch Kurvendiskussion.

Lineare Gleichungssysteme

Räumliche Bereichsintegrale mit Koordinatentransformation

Vermessungskunde für Bauingenieure und Geodäten

Einbindung in Gambio GX3

Labor Software-Entwicklung 1

1 GRUNDLAGEN 1.4 Massvorsätze und Zehnerpotenzen

Dieses Kapitel vermittelt:

2. Hausübung Algorithmen und Datenstrukturen

Programmieren C: Schwerere Weihnachtsbeispiele

Tutorium Mathematik II, M Lösungen

Die elementaren trigonometrischen Funktionen und ihre Umkehrfunktionen sind: Funktion Kurzzeichen Umkehrfunktion Kurzzeichen Sinus

Quadratische Funktion - Übungen

Geschichtlicher Hintergrund

LEICA Geo Office - Geoidmodell

VHDL - CORDIC Verfahren

Transkript:

Rüdiger Timpe Alexander Bertschik Filterprogrammierung in Gimp Ein Vortrag im Rahmen des Seminars Manipulation und Verarbeitung digitaler Bilder

Inhalt Aufgabenstellung und Motivation...3 Auswahl der Filter...3 Funktionsweise der Filter...4?Standardaufrufe für Perl-Scripte in Gimp...4?Koordinatentransformation im Script...5? Filterspezifische Funktionen...6 Beispiele...7 2

Aufgabenstellung und Motivation Im Rahmen des Seminars Verarbeitung und Manipulation digitaler Bilder wurden verschiedene Aufgaben gestellt. Unsere Wahl fiel auf eine praktische Umsetzung des in den ersten Seminarstunden präsentierten Wissens. Das Ziel dieser praktischen Arbeit war, die zugrundeliegende Mathematik des Themas in zwei Filtern anzuwenden, welche dann schliesslich zur Bildmanipulation verwendet werden können. Als Bildbearbeitungsprogramm wurde Gimp gewählt, da dieses, dank des enthaltenen Perl-Script Interpreters, eine einfache Implementierung solcher Filter zulässt. Grundlegende mathematische Verfahren wurden ausführlich im Seminar besprochen. Dazu zählt vor allem die Koordinatentransformation und die Prinzipien der linearen Interpolation. Gimp und das Perl-Script wurden im Seminar in diesem Fall von anderen Teilnehmern, präsentiert. Weitere Materialen wie Fachliteratur und Tutorials wurden ebenfalls bereitgestellt. Auswahl der Filter Die Auswahl der Filter gestaltete sich recht schwierig. Bekannte Bildverarbeitungsprogramme haben meist eine grosse Palette nützlicher und optimierter Filter, doch die Komplexität dieser Filter würde meist den Rahmen eines Grundstudiumseminars sprengen. Dennoch sind zwei Ideen gefunden und umgesetzt worden. Die entstandenen Scripte sind vom Standpunkt der Nützlichkeit zu vernachlässigen, dennoch lassen sich zugrundeliegene Mathematik und die Funktionsweise von Perl und Gimp gut erkennen und erlernen. Der erste ist der Antigrav -Filter. Dieser generiert ein Loch beliebiger Grösse, Position und Farbe im Bild und verdrängt die umliegenden Pixel. Beim Zweiten, dem Modern-Art Filter, wird das Bild beliebig grob radial gerastert. 3

Funktionsweise der Filter Im folgenden Abschnitt werden die Filter und ihre Funktionsweise anhand von Beispielen des Quellcodes erläutert. Zunächst werden dabei Filterunabhängige Standardaufrufe in Gimp erklärt, da diese eine unverzichtbare Basis darstellen. Danach folgt ein kurzer Kommentar zur Koordinatentransformation im Script und zum Schluss die für die beiden Filter spezifischen mathematischen Funktionen.? Standardaufrufe im Perl-Script für Gimp Das hier vorliegende Bild ist ein Ausschnitt aus dem programmierten Script, welcher bei beiden Filtern nahezu gleich ausfällt und hier exemplarisch besprochen werden soll. 4

Als erstes werden, wie in dem mit # eingeleiteten Kommentar zu sehen, die Übergabeparameter ausgelesen. Die in Perl mit dem $-Zeichen gekennzeichneten Variablen enthalten von Gimp übergebene Informationen wie: das Bild selbst, die Ebene innerhalb des Bildes und das gewünschte x und y-zentrum. Diese grundlegenden Informationen werden zur weiteren Bearbeitung benötigt. Die ersten beiden Parameter sind festgelegt, alle weiteren frei definiert und bei Benutzung des Filters vom Benutzer einzugeben. Mit vorhandenen Gimp-Funktionen wird nun Breite und Höhe des Bildes ermittlet.die Variablen $breite und $hoehe werden intialisiert und erhalten durch das spezifische Gimp-Plugins (gimp_image_width, gimp_image_height) die dem Bild entsprechende Ausmasse. Nun wird eine neue Ebene erzeugt, die später das bearbeitete Bild darstellen wird. Diese Ebene erhält einen neuen Namen, der Informationen zum angewendeten Filter enthält und wird mit der vom Benutzer eingegebenen Hintergrundfarbe gefüllt.? Koordinatentransformation im Script Die Koordinaten des Bildes werden in Zähl-Schleifen in x- und y-richtung durchlaufen, dabei wird jedem Pixel im neuen Bild ein Pixel (bzw. ein Farbwert) im Originalbild zugeordnet. In den erstellten Filtern wurde das Pull-Verfahren verwendet, d.h. es werden aus den Koordinaten im neuen Bild die Original-Koordinate im alten Bild berechnet. Auf diese Weise gehen weniger Farbinformationen verloren und somit werden weniger Fehler erzeugt. Um die Filter erfolgreich anwenden zu können, ist eine Transformation des Koordinatensystems des Bildes vom kartesischen zum polaren unverzichtbar. Dies wird in dem oben gezeigten Ausschnitt das Quellcodes vorgenommen. Dabei wird zuerst die Variable $radius initialisiert, welche mit Hilfe des Satzes des Pythagoras den Wert erhält, der sich aus der Wurzel der Summe der Quadrate der x und y-koordinaten ergibt. Der daraus errechnete Abstand zum Mittelpunkt wird nun durch die Berechnung des Winkels zwischen Radius und x-achse mit Hilfe der Arcustangens-Funktion spezifiziert. 5

Nach abgeschlossenener Bearbeitung müssen die Polaren in Kartesische Koordinaten zurücktransformiert werden. Dies geschieht durch entsprechende Cosinus und Sinus Funktionen. Nachdem die Filter das Bild entsprechend bearbeitet haben, wird das Bild, wiederum durch vorhandene Gimp-Funktionen, in der neuen Ebene ausgegeben und für den User sichtbar gemacht.? Filterspezifische Funktionen 1) Anti-Grav-Filter Dieser Auschnitt aus dem Anti-Grav Filter stellt die eigentliche Bearbeitung der Koordinaten dar. Der Radius im Originalbild wird um einen vom Abstand zum Bildrand abhängigen Faktor verkürzt, durch das Pull- Verfahren ergibt sich dadurch letztlich eine Vergrößerung des Radius im neuen Bild. Die Variable $rges enthält den Abstand des Punktes vom Bildrand, gemessen auf der Geraden Zentrum-AktuellerPunkt-Bildrand. Die beiden Radien werden in Verhältnis zueinander gesetzt, der entstehende Faktor ($faktor) ist der Verschiebungsfaktor, welcher zum Rand hin immer geringer ausfällt um ein Wegfallen der Pixel aus dem Bild zu verhindern. 2) Modern-Art-Filter 6

Dieser Abschnitt stellt den funktionalen Teil des Modern-Art Filters dar. Für diesen wurde die Neuberchnung des Radius mit Hilfe der Modulo- Operation vorgenommen. Dabei wird der Radius ($radius) per modulo- Operation mit dem beim Filterstart einegegeben Faktor ($faktor) verrechnet und vom Radius subtrahiert. Der im folgenden Beispiel zu sehende Kacheleffekt kommt dadurch zustande, das der Farbwert eines Pixels auf eine ganzes Arreal übertragen wird. Die Grösse des Arreals wird durch den Faktor bestimmt, welcher Einfluss auf die durch die Modulo- Operation erzeugten Restwertgruppen hat. Mathematisch gesehen wird das Bild in Restklassenringe Z n eingeteilt. Beispiele Beispiel Anti-Grav: Beispiel für Modern-Art: 7