diff options
author | Alain <mceagle117@gmail.com> | 2021-06-08 14:53:07 +0200 |
---|---|---|
committer | Alain <mceagle117@gmail.com> | 2021-06-08 14:53:07 +0200 |
commit | 6b86c10028987f4e08ca3e25ac13291f256375fa (patch) | |
tree | 47ce4cb24f20ed9e4527579c5bd922eb068ae03b /buch/papers/ifs | |
parent | Farn und Compression (diff) | |
download | SeminarMatrizen-6b86c10028987f4e08ca3e25ac13291f256375fa.tar.gz SeminarMatrizen-6b86c10028987f4e08ca3e25ac13291f256375fa.zip |
Barnsley Farn & Kompression bsp
Diffstat (limited to 'buch/papers/ifs')
-rw-r--r-- | buch/papers/ifs/images/faroe.png | bin | 0 -> 987 bytes | |||
-rw-r--r-- | buch/papers/ifs/images/faroe0.PNG | bin | 0 -> 80239 bytes | |||
-rw-r--r-- | buch/papers/ifs/images/faroe1.PNG | bin | 0 -> 104146 bytes | |||
-rw-r--r-- | buch/papers/ifs/images/faroe5.PNG | bin | 0 -> 73790 bytes | |||
-rw-r--r-- | buch/papers/ifs/images/original.png | bin | 0 -> 138885 bytes | |||
-rw-r--r-- | buch/papers/ifs/images/rapperswil.png | bin | 0 -> 851 bytes | |||
-rw-r--r-- | buch/papers/ifs/images/rapperswil0.PNG | bin | 0 -> 66375 bytes | |||
-rw-r--r-- | buch/papers/ifs/images/rapperswil001.PNG | bin | 0 -> 93116 bytes | |||
-rw-r--r-- | buch/papers/ifs/images/rapperswil01.PNG | bin | 0 -> 81696 bytes | |||
-rw-r--r-- | buch/papers/ifs/images/rapperswil04.PNG | bin | 0 -> 60921 bytes | |||
-rw-r--r-- | buch/papers/ifs/images/rapperswil1.PNG | bin | 0 -> 82594 bytes | |||
-rw-r--r-- | buch/papers/ifs/images/rapperswil4.PNG | bin | 0 -> 60837 bytes | |||
-rw-r--r-- | buch/papers/ifs/images/zurich.png | bin | 0 -> 71780 bytes | |||
-rw-r--r-- | buch/papers/ifs/teil2.tex | 19 | ||||
-rw-r--r-- | buch/papers/ifs/teil3.tex | 42 |
15 files changed, 57 insertions, 4 deletions
diff --git a/buch/papers/ifs/images/faroe.png b/buch/papers/ifs/images/faroe.png Binary files differnew file mode 100644 index 0000000..183702a --- /dev/null +++ b/buch/papers/ifs/images/faroe.png diff --git a/buch/papers/ifs/images/faroe0.PNG b/buch/papers/ifs/images/faroe0.PNG Binary files differnew file mode 100644 index 0000000..7396ed3 --- /dev/null +++ b/buch/papers/ifs/images/faroe0.PNG diff --git a/buch/papers/ifs/images/faroe1.PNG b/buch/papers/ifs/images/faroe1.PNG Binary files differnew file mode 100644 index 0000000..b2aff49 --- /dev/null +++ b/buch/papers/ifs/images/faroe1.PNG diff --git a/buch/papers/ifs/images/faroe5.PNG b/buch/papers/ifs/images/faroe5.PNG Binary files differnew file mode 100644 index 0000000..50f9564 --- /dev/null +++ b/buch/papers/ifs/images/faroe5.PNG diff --git a/buch/papers/ifs/images/original.png b/buch/papers/ifs/images/original.png Binary files differnew file mode 100644 index 0000000..2932af1 --- /dev/null +++ b/buch/papers/ifs/images/original.png diff --git a/buch/papers/ifs/images/rapperswil.png b/buch/papers/ifs/images/rapperswil.png Binary files differnew file mode 100644 index 0000000..62a3564 --- /dev/null +++ b/buch/papers/ifs/images/rapperswil.png diff --git a/buch/papers/ifs/images/rapperswil0.PNG b/buch/papers/ifs/images/rapperswil0.PNG Binary files differnew file mode 100644 index 0000000..3eba43a --- /dev/null +++ b/buch/papers/ifs/images/rapperswil0.PNG diff --git a/buch/papers/ifs/images/rapperswil001.PNG b/buch/papers/ifs/images/rapperswil001.PNG Binary files differnew file mode 100644 index 0000000..7015fe4 --- /dev/null +++ b/buch/papers/ifs/images/rapperswil001.PNG diff --git a/buch/papers/ifs/images/rapperswil01.PNG b/buch/papers/ifs/images/rapperswil01.PNG Binary files differnew file mode 100644 index 0000000..067b08a --- /dev/null +++ b/buch/papers/ifs/images/rapperswil01.PNG diff --git a/buch/papers/ifs/images/rapperswil04.PNG b/buch/papers/ifs/images/rapperswil04.PNG Binary files differnew file mode 100644 index 0000000..7e946fa --- /dev/null +++ b/buch/papers/ifs/images/rapperswil04.PNG diff --git a/buch/papers/ifs/images/rapperswil1.PNG b/buch/papers/ifs/images/rapperswil1.PNG Binary files differnew file mode 100644 index 0000000..6c085db --- /dev/null +++ b/buch/papers/ifs/images/rapperswil1.PNG diff --git a/buch/papers/ifs/images/rapperswil4.PNG b/buch/papers/ifs/images/rapperswil4.PNG Binary files differnew file mode 100644 index 0000000..56d1331 --- /dev/null +++ b/buch/papers/ifs/images/rapperswil4.PNG diff --git a/buch/papers/ifs/images/zurich.png b/buch/papers/ifs/images/zurich.png Binary files differnew file mode 100644 index 0000000..bb70f7d --- /dev/null +++ b/buch/papers/ifs/images/zurich.png 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} |