From 6b86c10028987f4e08ca3e25ac13291f256375fa Mon Sep 17 00:00:00 2001 From: Alain Date: Tue, 8 Jun 2021 14:53:07 +0200 Subject: Barnsley Farn & Kompression bsp --- buch/papers/ifs/images/faroe.png | Bin 0 -> 987 bytes buch/papers/ifs/images/faroe0.PNG | Bin 0 -> 80239 bytes buch/papers/ifs/images/faroe1.PNG | Bin 0 -> 104146 bytes buch/papers/ifs/images/faroe5.PNG | Bin 0 -> 73790 bytes buch/papers/ifs/images/original.png | Bin 0 -> 138885 bytes buch/papers/ifs/images/rapperswil.png | Bin 0 -> 851 bytes buch/papers/ifs/images/rapperswil0.PNG | Bin 0 -> 66375 bytes buch/papers/ifs/images/rapperswil001.PNG | Bin 0 -> 93116 bytes buch/papers/ifs/images/rapperswil01.PNG | Bin 0 -> 81696 bytes buch/papers/ifs/images/rapperswil04.PNG | Bin 0 -> 60921 bytes buch/papers/ifs/images/rapperswil1.PNG | Bin 0 -> 82594 bytes buch/papers/ifs/images/rapperswil4.PNG | Bin 0 -> 60837 bytes buch/papers/ifs/images/zurich.png | Bin 0 -> 71780 bytes buch/papers/ifs/teil2.tex | 19 +++++++++++++- buch/papers/ifs/teil3.tex | 42 ++++++++++++++++++++++++++++--- 15 files changed, 57 insertions(+), 4 deletions(-) create mode 100644 buch/papers/ifs/images/faroe.png create mode 100644 buch/papers/ifs/images/faroe0.PNG create mode 100644 buch/papers/ifs/images/faroe1.PNG create mode 100644 buch/papers/ifs/images/faroe5.PNG create mode 100644 buch/papers/ifs/images/original.png create mode 100644 buch/papers/ifs/images/rapperswil.png create mode 100644 buch/papers/ifs/images/rapperswil0.PNG create mode 100644 buch/papers/ifs/images/rapperswil001.PNG create mode 100644 buch/papers/ifs/images/rapperswil01.PNG create mode 100644 buch/papers/ifs/images/rapperswil04.PNG create mode 100644 buch/papers/ifs/images/rapperswil1.PNG create mode 100644 buch/papers/ifs/images/rapperswil4.PNG create mode 100644 buch/papers/ifs/images/zurich.png (limited to 'buch/papers/ifs') diff --git a/buch/papers/ifs/images/faroe.png b/buch/papers/ifs/images/faroe.png new file mode 100644 index 0000000..183702a Binary files /dev/null and b/buch/papers/ifs/images/faroe.png differ diff --git a/buch/papers/ifs/images/faroe0.PNG b/buch/papers/ifs/images/faroe0.PNG new file mode 100644 index 0000000..7396ed3 Binary files /dev/null and b/buch/papers/ifs/images/faroe0.PNG differ diff --git a/buch/papers/ifs/images/faroe1.PNG b/buch/papers/ifs/images/faroe1.PNG new file mode 100644 index 0000000..b2aff49 Binary files /dev/null and b/buch/papers/ifs/images/faroe1.PNG differ diff --git a/buch/papers/ifs/images/faroe5.PNG b/buch/papers/ifs/images/faroe5.PNG new file mode 100644 index 0000000..50f9564 Binary files /dev/null and b/buch/papers/ifs/images/faroe5.PNG differ diff --git a/buch/papers/ifs/images/original.png b/buch/papers/ifs/images/original.png new file mode 100644 index 0000000..2932af1 Binary files /dev/null and b/buch/papers/ifs/images/original.png differ diff --git a/buch/papers/ifs/images/rapperswil.png b/buch/papers/ifs/images/rapperswil.png new file mode 100644 index 0000000..62a3564 Binary files /dev/null and b/buch/papers/ifs/images/rapperswil.png differ diff --git a/buch/papers/ifs/images/rapperswil0.PNG b/buch/papers/ifs/images/rapperswil0.PNG new file mode 100644 index 0000000..3eba43a Binary files /dev/null and b/buch/papers/ifs/images/rapperswil0.PNG differ diff --git a/buch/papers/ifs/images/rapperswil001.PNG b/buch/papers/ifs/images/rapperswil001.PNG new file mode 100644 index 0000000..7015fe4 Binary files /dev/null and b/buch/papers/ifs/images/rapperswil001.PNG differ diff --git a/buch/papers/ifs/images/rapperswil01.PNG b/buch/papers/ifs/images/rapperswil01.PNG new file mode 100644 index 0000000..067b08a Binary files /dev/null and b/buch/papers/ifs/images/rapperswil01.PNG differ diff --git a/buch/papers/ifs/images/rapperswil04.PNG b/buch/papers/ifs/images/rapperswil04.PNG new file mode 100644 index 0000000..7e946fa Binary files /dev/null and b/buch/papers/ifs/images/rapperswil04.PNG differ diff --git a/buch/papers/ifs/images/rapperswil1.PNG b/buch/papers/ifs/images/rapperswil1.PNG new file mode 100644 index 0000000..6c085db Binary files /dev/null and b/buch/papers/ifs/images/rapperswil1.PNG differ diff --git a/buch/papers/ifs/images/rapperswil4.PNG b/buch/papers/ifs/images/rapperswil4.PNG new file mode 100644 index 0000000..56d1331 Binary files /dev/null and b/buch/papers/ifs/images/rapperswil4.PNG differ diff --git a/buch/papers/ifs/images/zurich.png b/buch/papers/ifs/images/zurich.png new file mode 100644 index 0000000..bb70f7d Binary files /dev/null and b/buch/papers/ifs/images/zurich.png differ diff --git a/buch/papers/ifs/teil2.tex b/buch/papers/ifs/teil2.tex index 5e36f97..d25004f 100644 --- a/buch/papers/ifs/teil2.tex +++ b/buch/papers/ifs/teil2.tex @@ -177,7 +177,24 @@ Wie man schnell erkennen kann, besteht der Farn aus Blättern, welche eine gross \end{pmatrix}\\ \end{align*} In der Abbildung \ref{ifs:farncolor} sehen wir die vier Transformationen farblich dargestellt. -$S_1$ + +$S_1$ erstellt den Stiel des Farnblattes (rot). +Die Transformation bildet das Gesamte Blatt auf die Y-Achse ab. +$S_2$ (grün) erstellt den Hauptteil des Farnes. +Sie verkleinert und dreht das gesamte Bild und stellt es auf das Ende des Stiels aus $S_1$. +$S_3$ bildet das gesamte Blatt auf das blaue Teilblatt unten Links ab. +$S_4$ Spiegelt das Blatt und bildet es auf das magentafarbene Teilblatt ab. + +Wir führen im Zusammenhang mit dem Barnsley-Farn noch eine weitere Methode ein, um IFS auszuführen. +Bis jetzt wurde immer davon gesprochen, die Transformationen auf die gesamte Menge anzuwenden. +Bei komplizierteren IFS welche viele Iterationen brauchen, bis man den Attraktor erkennen kann, ist diese Methode ziemlich rechenintensiv. +Eine Alternative ist das Chaos-Game. +Bei dieser Methode werden die Transformationen nicht auf die Menge angewendet, sondern nur auf einen einzelnen Punkt. +Der Startpunkt kann dabei ein beliebiger Punkt in $E$ sein. +Es wird bei jedem Iterationsschritt nur eine Transformation, welche zufällig gewählt wurde, angewendet. +Da, wie wir beim Barnsley-Farn gut sehen, dass nicht jede Transformation gleich viel des Bildes ausmacht, werden diese beim Chaos-Game gewichtet. +Die Gewichtung erfolgt über den Anteil der Gesamtmasse. +Im Fall des Barnsley-Fern wird $S_1$ in $1\%$, $S_2$ in $85\%$ und $S_3 \& S_4$ in $7\%$ der Iterationen ausgeführt. \begin{figure} \label{ifs:farn} \centering diff --git a/buch/papers/ifs/teil3.tex b/buch/papers/ifs/teil3.tex index fa4130b..515fd81 100644 --- a/buch/papers/ifs/teil3.tex +++ b/buch/papers/ifs/teil3.tex @@ -102,6 +102,42 @@ Dieser Grundalgorithmus der Fraktalen Bildkompression ist offensichtlich recht l Man kann die Laufzeit zwar verbessern indem man die Domain-Blöcke auch disjunkt macht, und für weniger detailreiche Bilder ein grösseres $b$ wählt, jedoch wird er auch so nie so schnell wie zum Beispiel das jpeg verfahren. \subsection{Beispiel} -Kommen wir nun zu einem Beispiel -TODO Bilder Beispiel -TODO Performance und Kompressonsverhältnis +Kommen wir nun zu einem Beispiel. +Wir Verwenden dafür den oben beschriebenen Algorithmus. +Die Range-Blöcke wurden $4\times4$ gewählt und die Dommain dementsprechend $8\times8$. +Um etwas Zeit bei der Komprimierung zu ersparen, wurden nur disjunkte Domain-Blöcke gebraucht. +Als erstes Beispiel wählen wir das 360x360px Bild von Rapperswil in Abbildung \ref{ifs:original}. +Der Algorithmus liefert uns für jeden Range-Block die benötigten Parameter. +Mit diesen lässt sich das Bild im Anschluss wieder Rekonstruieren. + +Als Startbild wird ein mittelgraues 360x360px Bild gewählt, Abbildung \ref{ifs:bild0}. +Nun lassen wir das IFS laufen. +Wie wir in Abbildung \ref{ifs:rappirecoa} sehen, ist schon nach der ersten Iteration das Bild schon erkennbar. +Nach der fünften Iteration , Abbildung \ref{ifs:rappirecoc} gibt es fast keinen Unterschied mehr zur letzten Iteration, wir können die Rekonstruktion beenden. +\begin{figure} + \label{ifs:original} + \centering + \includegraphics[width=0.4\textwidth]{papers/ifs/images/original} + \caption{Original Bild von Rapperswil} +\end{figure} +\begin{figure} + \label{ifs:bild0} + \centering + \includegraphics[width=0.4\textwidth]{papers/ifs/images/rapperswil} + \caption{Startbild} +\end{figure} + +\begin{figure} + \label{ifs:rappireco} + \centering + \subfigure[]{ + \label{ifs:rappirecoa} + \includegraphics[width=0.32\textwidth]{papers/ifs/images/rapperswil01}} + \subfigure[]{ + \label{ifs:rappirecob} + \includegraphics[width=0.32\textwidth]{papers/ifs/images/rapperswil001}} + \subfigure[]{ + \label{ifs:rappirecoc} + \includegraphics[width=0.32\textwidth]{papers/ifs/images/rapperswil04}} + \caption{(a) 1. Iteration (b) 2. Iteration (c) 5. Iteration} +\end{figure} -- cgit v1.2.1