diff --git a/Bilder/Faltung_1D.png b/Bilder/Faltung_1D.png new file mode 100644 index 0000000..233b471 Binary files /dev/null and b/Bilder/Faltung_1D.png differ diff --git a/Bilder/JPEG_Artefakte.png b/Bilder/JPEG_Artefakte.png new file mode 100644 index 0000000..ba0321e Binary files /dev/null and b/Bilder/JPEG_Artefakte.png differ diff --git a/Bilder/JPEG_Helligkeits_Kante.png b/Bilder/JPEG_Helligkeits_Kante.png new file mode 100644 index 0000000..fed5a4d Binary files /dev/null and b/Bilder/JPEG_Helligkeits_Kante.png differ diff --git a/Bildverarbeitung_Lausen_Skript_AM.pdf b/Bildverarbeitung_Lausen_Skript_AM.pdf index 1a1ab71..ee2275d 100644 Binary files a/Bildverarbeitung_Lausen_Skript_AM.pdf and b/Bildverarbeitung_Lausen_Skript_AM.pdf differ diff --git a/Bildverarbeitung_Lausen_Skript_AM.tex b/Bildverarbeitung_Lausen_Skript_AM.tex index f2b147e..2e5b060 100644 --- a/Bildverarbeitung_Lausen_Skript_AM.tex +++ b/Bildverarbeitung_Lausen_Skript_AM.tex @@ -1,7 +1,7 @@ \input{../_latex/Praeamble.tex} -\newcommand{\Was}{Eigenes Skript} -\newcommand{\ArtikelWas}{das eigene Skript} % dies ist... +\newcommand{\Was}{Zusammenfassung Kapitel 1 + 2} +\newcommand{\ArtikelWas}{die nicht vollständige Zusammenfassung} % dies ist... \newcommand{\Titel}{Digitale Bildverarbeitung \\ natürliche Bilder} \newcommand{\TitelOneLine}{Digitale Bildverarbeitung} \newcommand{\Dozent}{Ralph Lausen} @@ -48,6 +48,7 @@ \acro{LZW}{Lempel-Ziv-Welch} \acro{LUT}{Look-Up-Table} \acro{PO}{Punktoperation} + \acro{RLC}{Running Length Codierung} \end{acronym} \newpage diff --git a/Code_Original/Filter_Laplace.java b/Code_Original_Lausen/Filter_Laplace.java similarity index 100% rename from Code_Original/Filter_Laplace.java rename to Code_Original_Lausen/Filter_Laplace.java diff --git a/Code_Original/Filter_Median5.java b/Code_Original_Lausen/Filter_Median5.java similarity index 100% rename from Code_Original/Filter_Median5.java rename to Code_Original_Lausen/Filter_Median5.java diff --git a/Code_Original/Filter_operator.java b/Code_Original_Lausen/Filter_operator.java similarity index 100% rename from Code_Original/Filter_operator.java rename to Code_Original_Lausen/Filter_operator.java diff --git a/Code_Original_Lausen/Watershed_.jar b/Code_Original_Lausen/Watershed_.jar new file mode 100644 index 0000000..5174060 Binary files /dev/null and b/Code_Original_Lausen/Watershed_.jar differ diff --git a/Folien_Lausen/Klausur-DBV-Themenliste.pdf b/Folien_Lausen/Klausur-DBV-Themenliste.pdf new file mode 100644 index 0000000..01bb806 Binary files /dev/null and b/Folien_Lausen/Klausur-DBV-Themenliste.pdf differ diff --git a/Inhalt.txt b/Inhalt.txt new file mode 100644 index 0000000..379c5c2 --- /dev/null +++ b/Inhalt.txt @@ -0,0 +1,34 @@ + + +1. Einführung + a. Motivation + b. Überblick + c. Definition DBV +2. Farbwelten + a. Adaptiv / Subtraktiv + b. YUV / YIQ / 4:2:2 +3. Digitalisierung + a. Quantisierungsrauschen + b. Fourier-Transformation +4. Kompressionsverfahren + a. Quellkodierung (DCT) + b. Entropiekodierung (LZW, Huffman) + c. Hybridkodierung (JPEG) +5. Vorverarbeitung + a. Bildverbesserung + b. Bildtransformation +6. Nachbarschaftsoperatoren / Filter + a. LSI (Prewitt, Sobel) + b. Globale Filter (Median) + c. Lookup-Tabellen (Homogene Punktoperationen) +7. Merkmalsextraktion + a. Segmentierung (Otsu, Wasserscheiden) + b. Labeln +8. Bildanalyse + a. Klassifikation (K-Mean, Quadratmethode) + b. Neuronale Netze (überwachtes Lernen) +9. Bildvergleich + a. Template-Matching + b. Distanztransformation + c. Interpolation + d. Target-to-Source oder Source-to-Target diff --git a/Kapitel/00_Vorwort.tex b/Kapitel/00_Vorwort.tex index 8cb9ab6..3c009b4 100644 --- a/Kapitel/00_Vorwort.tex +++ b/Kapitel/00_Vorwort.tex @@ -20,3 +20,11 @@ \item Grundlagen der Bildverarbeitung (Klaus D. Tönnies) \item Digitale Bildverarbeitung (Bernd Jähne) \end{itemize} + +\section{Was ist das?} + +Das ist meine eigene Zusammenfassung der Vorlesung \enquote{Bildverarbeitung} bei Herrn Lausen. +Sie ist leider nicht vollständig und enthält nur Kapitel 1 + 2 (Bilderfassung und Bildvorverarbeitung). Die restlichen Kapitel wurden nicht digitalisiert. + +Du findest diese nicht vollständige Zusammenfassung unter: \url{https://gitea.ameyering.de/DHBW_AI_16/Bildverarbeitung_Lausen}. +Ich würde mich über Ergänzungen freuen. diff --git a/Kapitel/02_Bilderfassung.tex b/Kapitel/02_Bilderfassung.tex index a8ba241..3b590db 100644 --- a/Kapitel/02_Bilderfassung.tex +++ b/Kapitel/02_Bilderfassung.tex @@ -2,7 +2,7 @@ \section{Natürliche Bilder} -Eine Beleuchtungsfunktion sit analog, kontinuierlich/stetig, sodass Intensität $I(x,y) \rightarrow$ 2D, kontinuierlich. Ein Sensor erfasst ein Bild und digitalisiert es, wodurch wir eine diskrete Funktion $g(m,n)$ erhalten. +Eine Beleuchtungsfunktion ist analog, kontinuierlich/stetig, sodass Intensität $I(x,y) \rightarrow$ 2D, kontinuierlich. Ein Sensor erfasst ein Bild und digitalisiert es, wodurch wir eine diskrete Funktion $g(m,n)$ erhalten. \subsection{Sensoren} Die Auflösung eines Sensors wird in \acs{dpi} (Punkte pro Länge) angegeben. @@ -54,11 +54,11 @@ Ein \ac{CCD} Sensor ist ein Halbleiter Bildsensor bestehend aus eine großen Anz \label{fig:ccd_physik} \end{figure} -Jedes Element (Pixel) sammelt elektrische Ladungen, die durch das Absorbieren von Photonen (also des einfallenden Lichts) erzeugt wird. Dies ist möglich, da die Photonen Elektronen des P-Dotierten Halbleiters vom Valenz- ins Leitungsband heben. Hierdurch entstehen Elektronen-Loch-Paare. Diese Ladungen werden nacheinander von Sensorelement zu Sensorelement über den Chip in einen mit schwarzer Folien abgedeckten Bereich transportiert (Stichwort Interline-CCD-Sensor). Dieser dient dazu, die Informationen zu schützen während sie ausgelesen werden. +Jedes Element (Pixel) sammelt elektrische Ladungen, die durch das Absorbieren von Photonen (also des einfallenden Lichts) erzeugt wird. Dies ist möglich, da die Photonen Elektronen des P-Dotierten Halbleiters vom Valenz- ins Leitungsband heben. Hierdurch entstehen Elektronen-Loch-Paare. Diese Ladungen werden nacheinander von Sensorelement zu Sensorelement über den Chip in einen mit schwarzer Folien abgedeckten Bereich transportiert (Stichwort Fullframe/Interline-CCD-Sensor). Dieser dient dazu, die Informationen zu schützen während sie ausgelesen werden. \begin{figure}[h] \begin{center} - \includegraphics[width=\textwidth - 5cm]{./Bilder/CCD_Elemente.png} + \includegraphics[width=\textwidth - 4cm]{./Bilder/CCD_Elemente.png} \end{center} \caption{CCD -- Gitter} \label{fig:ccd_gitter} @@ -69,7 +69,8 @@ Es ist anzumerken, dass \ac{CCD} Sensoren anfällig sind für verschiedene Arten \begin{itemize}[noitemsep] \item Photonenrauschen $n(\gamma) \sim n(e)\pm\sqrt{n(e)}$ \newline (poissonverteilt; Verbesserung durch gute Beleuchtung) - \item \acs{CCD} Rauschen / Dunkelstromrauschen: Elektronen lösen sich ungewollt durch Wärmeeinfluss (Verbesserung durch Kühlen) + \item \acs{CCD} Rauschen / Dunkelstromrauschen: \newline + Elektronen lösen sich ungewollt durch Wärmeeinfluss (Verbesserung durch Kühlen) \item Verstärker-Rauschen (Verbesserung durch geringere Verstärkung) \item Quantisierungs-Rauschen (Analog/Digital) \end{itemize} @@ -86,7 +87,7 @@ Wie können nun Farben auf dem \ac{CCD} unterschieden werden? Bei 1-CCD kann hie Dies führt uns zur Pixellüge: Bei 4~Mio. Pixel sind 2~Mio. grün, 1~Mio. rot und 1~Mio. blau. Es gibt somit doppelt so viele grüne wie rote und blaue Pixel. -Die andere Variante ist 3-CCD, wie in \autoref{fig:drei_ccd} gezeigt wird. Hierbei gibt es drei Sensoren, die jeweils für eine der Farben rot, blau und grün zuständig sind. +Die andere Variante ist 3-CCD, wie in \autoref{fig:drei_ccd} gezeigt wird. Hierbei gibt es drei Sensoren, die jeweils für eine der Farben rot, blau und grün zuständig sind. Eine Alternative ist CMOS, bei dem die Eindringtiefe für den Farbwert verwendet wird. \begin{figure}[h] \begin{center} @@ -103,10 +104,7 @@ CCD Sensor, PhotoEffekt, Photonenrauschen (Poisson Statistik),, Phononen/CCD Rau \section{Farbsysteme}\label{sec:Farbsysteme} -Farben - -TODO: Andre Grafik 5 - -rgba <--> cmyk - +Wir unterscheiden zwischen zwischen RGB und CMYK. Setzt man rot, grün und blau auf das Maximum, ergibt sich weiß (Emission). Setzt man Cyan, Magenta und Gelb auf das Maximum, ergibt sich schwarz (Absorption). +Für eine Umrechnungsformel zwischen RGB und CMYK siehe \newline +\url{https://www.rapidtables.com/convert/color/rgb-to-cmyk.html} diff --git a/Kapitel/03_Vorverarbeitung.tex b/Kapitel/03_Vorverarbeitung.tex index d8b15c4..ab99938 100644 --- a/Kapitel/03_Vorverarbeitung.tex +++ b/Kapitel/03_Vorverarbeitung.tex @@ -75,6 +75,17 @@ Bei natürlichen Bilder kann dies auch sinnvoll sein, da der Himmel \zB eine äh Bei üblichen Bildern werden pro Pixel drei Farben (rot, grün, blau) gespeichert, wodurch sich pro Pixel ein Speicherbedarf von 24~Bit ergibt. Gute Scanner verwenden pro Subpixel sogar 16~Bit und damit 48~Bit pro Pixel. +\begin{enumerate}[noitemsep] + \item Farbmodellumrechnung von RGB -> YCbCr + \item Tiefpassfilterung der Farbdifferenzsignale + \item Blockbildung + \item Diskrete Kosinustransformation + \item Quantifizierung + \item Umsortierung und Differenzkodierung des Gleichanteils + \item Lauflängenkodierung (\acs{RLC}) + \item Huffmankodierung +\end{enumerate} + \subsection{Konvertierung in ein geeignetes Farbmodell}\index{Farbraum} \begin{wrapfigure}{r}{5cm} \centering @@ -153,9 +164,8 @@ Ist $q_{uv}$ überall 1, dann hat das Bild die beste Qualität, da die Amplitude \begin{align*} \hat{G}_{uv} &= 31 \\ q_{uv} &= 8 \\ - INT[\frac{G_{uv}}{q_{uv}}] &= 3 \rightarrow Dekodierung: 3\times 8 = 24=G_{uv} + INT\lfloor\frac{G_{uv}}{q_{uv}}\rfloor &= 3 \rightarrow Dekodierung: 3\times 8 = 24=G_{uv} \end{align*} -\todo{Müsste das Abrunden sein?} \subsection{Serialisierung der Matrix} \begin{wrapfigure}{r}{5cm} @@ -175,16 +185,26 @@ Anschließend folgt eine Lauflängenkodierung der serialisierten Matrix. Das fun \subsection{Huffman-Kodierung} Es ergibt sich, dass die Huffman-Tabelle sehr klein ist. -Natürliche Bilder haben in jedem $8\times 8$ Block Helligkeit. Schmeißen wir dies raus, dann funktioniert RCL und Huffman gut \todo{Wie meinte er das?} +Natürliche Bilder haben in jedem $8\times 8$ Block Helligkeit. Schmeißen wir dies raus, dann funktioniert \ac{RLC} und Huffman gut \todo{Wie meinte er das?} -\subsection{Kantenerkennung bei JPEG} +\subsection{Kantenartefakte bei JPEG} +\begin{figure}[h] + \centering + \begin{subfigure}[b]{5cm} + \includegraphics[width=5.1cm]{./Bilder/JPEG_Helligkeits_Kante.png} + \end{subfigure} + ~~ + \begin{subfigure}[b]{5cm} + \includegraphics[width=3.8cm]{./Bilder/JPEG_Artefakte.png} + \end{subfigure} + \caption{JPEG Artefakte} +\end{figure} -\todo{Grafik Diagram} \subsection{JPEG 2000}\index{JPEG 2000} JPEG 2000 ist eine erweiterte Version von JPEG. Sie verspricht eine bessere Qualität bei geringen Bitraten. Anstatt der \ac{DCT} werden Wavelets verwendet und anstatt der Huffman Kodierung wird eine arithmetische verwendet. -Es gibt keine fest Blockgröße für die Wavelet-Transformation. +Es gibt keine feste Blockgröße für die Wavelet-Transformation. Trotz dieser Unterschiede ist die Bildqualität nicht zwingend besser als bei JPEG. Sie macht sich nur bei starker Kompression bemerkbar. \subsection{Moire Effekt bei JPEG}\index{Moire} @@ -276,19 +296,124 @@ Bilder erkennen. Eine Kompression kann auf das Histogramm Einfluss haben. Ein Bild mit nur einem Grauwert hat nach der Dekompression plötzlich deutlich mehr Grauwerte im Histogramm. Dies liegt an der Funktionsweise von JPEG mit \ac{DCT}. \section{LSI-Filter}\index{LSI-Filter} -In der Bildverarbeitung werden häufig \ac{LSI}-Filter verwendet (z)u deutsch \enquote{lineare Verschiebungsinvarianz}). +In der Bildverarbeitung werden häufig \ac{LSI}-Filter verwendet (zu deutsch \enquote{lineare Verschiebungs-/Translationsinvarianz}). Dies bedeutet, dass der Operator auch bei Verschiebung des Systems anwenden kann. Im folgenden bezeichnet $I$ das Bild (Image). \begin{Tipp}[frametitle={Faltung}] - \vspace{-5mm} + \textbf{2D Faltung - Kontinuierlich} + \vspace{-3mm} \begin{align*} - Kommutativität&& \mathcal{H}_1\mathcal{H}_2&=\mathcal{H}_2\mathcal{H}_1 \\ - Assoziativität&& (\mathcal{H}_1\mathcal{H}_2)\mathcal{H}_3 &= \mathcal{H}_1(\mathcal{H}_2\mathcal{H}_3) \\ - Distributivität &&(\mathcal{H}_1+\mathcal{H}_2)\cdot\mathcal{H}_3&=\mathcal{H}_1\mathcal{H}_3+\mathcal{H}_2\mathcal{H}*3 + I \cdot H(x,y) = \int_{-\infty}^\infty I(x-\lambda_1, y-\lambda_2)\,H(\lambda_1, \lambda_2)\,\mathrm{d}\lambda_1\mathrm{d}\lambda_2 \end{align*} + \vspace{-3mm} + \textbf{2D Faltung - Diskret} + \vspace{-3mm} + \begin{align*} + I \cdot H(m,n) = \sum_{i=-\infty}^\infty\,\sum_{j=-\infty}^\infty\,I(m-i, n-j)\,H(i,j) + \end{align*} + + \vspace{-8mm} + \begin{align*} + Kommutativität & & \mathcal{H}_1\mathcal{H}_2 & =\mathcal{H}_2\mathcal{H}_1 \\ + Assoziativität & & (\mathcal{H}_1\mathcal{H}_2)\mathcal{H}_3 & = \mathcal{H}_1(\mathcal{H}_2\mathcal{H}_3) \\ + Distributivität & & (\mathcal{H}_1+\mathcal{H}_2)\cdot\mathcal{H}_3 & =\mathcal{H}_1\mathcal{H}_3+\mathcal{H}_2\mathcal{H}*3 + \end{align*} + \end{Tipp} +Sei ${}^{mn}\mathcal{S}$ der Verschiebungsoperator. Die Verschiebungsinvarianz wird dargestellt durch: \begin{align*} - \mathcal{H}^{mn}\mathcal{S} &= {}^{mn}\mathcal{S}\mathcal{H} + \mathcal{H}^{mn}\mathcal{S} &= {}^{mn}\mathcal{S}\mathcal{H} \\ + {}^{mn}\mathcal{S}g_{m'n'} &= g_{m'-m,n'-n} \\ \end{align*} -\includepdf[pages=-]{2018-10-31.pdf} +\subsection{Gaußoperator zum Weichzeichnen} + +\begin{wrapfigure}[9]{r}{8cm} + \centering + \vspace{-10mm} + \begin{align*} + \begin{bmatrix} + 1 & 4 & 6 & 4 & 1 \\ + 4 & 16 & 24 & 16 & 4 \\ + 6 & 24 & 36 & 24 & 6 \\ + 4 & 16 & 24 & 16 & 4 \\ + 1 & 4 & 6 & 4 & 1 + \end{bmatrix} = \begin{bmatrix} + 1&4&6&4&1 + \end{bmatrix} \cdot \begin{bmatrix} + 1\\4\\6\\4\\1 + \end{bmatrix} + \end{align*} + \caption[Gaußoperator zum Weichzeichnen]{\unskip} + Gaußoperator zum Weichzeichnen +\end{wrapfigure} + +Für die linke, große Matrix ergeben sich 25 Multiplikationen und 24 Additionen. Teilt man diese Matrix jedoch in zwei kleinere auf, so ergeben sich zwei mal 5 Mult. + 4 Add. = 10 Mult. + 8 Add. + +$[1~4~6~4~1]$ lässt sich weiter unterteilen nach: \newline +\hspace*{5mm} $[1~1]^4\cdot(\frac{1}{2})^4$. + +\subsubsection{Erklärung} + +\begin{align*} + I'=H\cdot I && H = \begin{bmatrix} + \textcolor{red}{a} & b & c \\ + d & e_{\cdot} & f \\ + g & h & i + \end{bmatrix} && + I = \begin{bmatrix} + \cdots &&\cdots\\ + &\begin{bmatrix} + ~ & ~ & ~ \\ + ~ & \mathbf{\cdot} & ~ \\ + ~ & ~ & \textcolor{red}{a} + \end{bmatrix}&\\ + \cdots &&\cdots + \end{bmatrix} +\end{align*} + +\begin{align*} + I'(m,n) = & ~H\cdot I(m,n) \\ + I'_{mn} = & ~\sum_{j=-1}^{+1}\,\sum_{+1}^{i=-1}\,H(i,j)\cdot I(m-i,n-j) \\ + = & ~(a\cdot I_{m+1,n+1} + b\cdot I_{m,n+1} + c\cdot I_{m-1,n+1} + d\cdot I_{m+1,n} + e\cdot I_{m,n}+f\cdot I_{m-1,n} + \\ + & ~g\cdot I_{m+1,n-1}+h\cdot I_{m,n-1}+i\cdot I_{m-1,n-1}) +\end{align*} + +\newpage +\subsubsection{Beispiel: 1D-Faltung} +\begin{wrapfigure}[9]{l}{6cm} + \centering + \vspace{-5mm} + \includegraphics[width=5cm]{./Bilder/Faltung_1D.png} + \caption{1D Faltung} + \label{fig:faltung_1d} +\end{wrapfigure} + +Sei $H$ der Faltungskern $[1~-1]$ (gedacht: $[1~-1~0]$). \autoref{fig:faltung_1d} zeigt diesen Kern angewendet auf ein Bild $I$. Anhand der resultierenden Grafik wird deutlich, dass es sich bei dem Faltungskern um den Ableitungsoperator handelt. Leiten wir das Bild an einem Punkt ab, so ergibt sich aus der Berechnung eben dieser Faltungskern. + +\vspace*{-1cm} +\begin{align*} + \frac{\mathrm{d}f}{\mathrm{d}x} &= \lim\limits_{h\rightarrow 0} \frac{f(x+h) - f(x)}{h} \\ + \frac{\mathrm{d}I}{\mathrm{d}m} &= \frac{f(m+1) - f(m)}{1} \\ + &= I(m+1) - I(m)\\ + &= \mathbf{1}~\cdot I_{m+1} + (\mathbf{-1})\cdot I_m +\end{align*} + +Dieser Ableitungsoperator kommt jedoch \enquote{von oben}. Andersherum ergibt sich $[0~1~-1]$. Besser wäre jedoch ein Operator, der beide Seiten betrachtet. + +Mittelt man beide Operator, ergibt sich: + +\begin{center} + \begin{tabular}{|c|c|c|} + \hline + 1 & -1 & 0 \\ + \hline + 0 & 1 & $-1$\\ + \hline + \end{tabular} = $[1~0~-1]\cdot \frac{1}{2}$. +\end{center} + +Da nach der Transformation jedoch sowieso kein echtes Bild herauskommt, kann man das Teilen durch zwei weglassen. + + +%Seite 8 von Lars \ No newline at end of file diff --git a/Klausurthemen.txt b/Klausurthemen.txt new file mode 100644 index 0000000..cb0a71b --- /dev/null +++ b/Klausurthemen.txt @@ -0,0 +1,25 @@ +- Definition eines digitalen Bildverarbeitungssystems +- System und Ziele der Bildverarbeitung Bildaufnahme +- CCD - physik, Bayer-Maske, Rauschen +- Beleuchtungsmodell +- Bildkompression - JPEG +- Grauwertbilder, Farbbilder, Farbwelten +- Punktoperatoren, Kontraststreckung Histogramm +- Schwellwertverfahren Otsu +- Bildstörungen, Bildrauschen (Gauss’sches Rauschen, Salt&Pepper-Rauschen) +- Bildfilterung allgemein (Durchführung, Faltung, Filtermaske) +- Randbehandlung bei Bildfilterung Rechteckfilter, Gaussfilter , Sobel, Prewitt, .. +- Nichtlineare Filter (Medianfilter) +- Kantendetektion, Kantenfilter Verschiedene Kantenfilter (Sobel-, Prewitt-,… ) +- Kantenschärfung (Verwendung der 2. Ableitung, unscharfe Maskierung) +- Diffusionsfilter - Anisotrope Diffusion +- Harris-Corner-Detektor +- Konturdetektion, Konturverfolgung, Chain-Code +- Separierbarkeit von Filtern (Nutzen für die Implementation) +- Houghtransformation für Linien, Kreise, allgemeine Konturen +- Morphologische Operatoren – Was ist das, wozu dient das? +- Morphologische Operatoren – Opening und Closing +- Morphologische Operatoren – Outline (Rand) +- Segmentierung – Merge , Splitt-and-Merge, Ähnlichkeitstransformation +- Segmentierung – Wasserscheidentransformation +- Klassifikation - K-Mean, Neuronale Netze diff --git a/Links.txt b/Links.txt new file mode 100644 index 0000000..22a9217 --- /dev/null +++ b/Links.txt @@ -0,0 +1,4 @@ +Links: + +http://homepages.inf.ed.ac.uk/rbf/HIPR2/hough.htm +http://homepages.inf.ed.ac.uk/rbf/HIPR2/distance.htm \ No newline at end of file diff --git a/Merkmalsextraktion.txt b/Merkmalsextraktion.txt new file mode 100644 index 0000000..6927f44 --- /dev/null +++ b/Merkmalsextraktion.txt @@ -0,0 +1,3 @@ +Das Ziel der Merkmalsextraktion ist in der digitalen Bildverarbeitung eine präzise Beschreibung auch komplizierter Objekte zu ermöglichen. In vielen Anwendungsfällen ist es notwendig Klassen von Formen zu erkennen. Diese Klassifikation beruht auf Merkmalen, die zusammen einen Merkmalsvektor bilden und einen somit einen n-dimensionalen Merkmalsvektorraum aufspannen. + +Im nächsten Schritt ist es dann die Aufgabe in so einem n-dimensionalen Vektorraum einen oder mehrere Häufungspunkte, s.g. Cluster-Zentren zu finden. Um eine möglichst trennscharfe Klassifizierung zu ermöglichen werden Merkmale gesucht, die robust sind gegen verschiedene Einflüsse, die bei der Bilderfassung auftreten können, wie z.B. Translation, Rotation oder Skalierung. \ No newline at end of file diff --git a/Scan 2018-10-17 12.22.25.pdf b/Scan 2018-10-17 12.22.25.pdf deleted file mode 100644 index 1d918d4..0000000 Binary files a/Scan 2018-10-17 12.22.25.pdf and /dev/null differ