diff --git a/.vscode/ltex.hiddenFalsePositives.de-DE.txt b/.vscode/ltex.hiddenFalsePositives.de-DE.txt index 1b1009354fb1f60e78b4bfdb231a919c5d814796..ba1eb4c39101a316d0b4eaa0d617cd933d0fd282 100644 --- a/.vscode/ltex.hiddenFalsePositives.de-DE.txt +++ b/.vscode/ltex.hiddenFalsePositives.de-DE.txt @@ -8,3 +8,6 @@ {"rule":"UPPERCASE_SENTENCE_START","sentence":"^\\Qlanguage=Python\\E$"} {"rule":"GERMAN_SPELLER_RULE","sentence":"^\\QDie Kommandozeilen Parameter werden direkt an die Funktion main() übergeben, die alternativ zu Nutzung über die Kommandozeile von anderen Python-Programmen importiert und aufgerufen werden kann.\\E$"} {"rule":"GERMAN_SPELLER_RULE","sentence":"^\\QSowohl die Funktion main() als auch der Aufruf über die Kommandozeile geben eine Liste mit gefundenen Codes, die mit der gegebenen Liste übereinstimmen, zurück.\\E$"} +{"rule":"DE_CASE","sentence":"^\\Q[Originalbild direkt von der Kamera] [Gefiltertes Bild] Vergleich eines Bildes vor und nach der Filterung\\E$"} +{"rule":"GERMAN_SPELLER_RULE","sentence":"^\\QDer erste Filterschritt entfernt die sogenannten Salt&Pepper Störungen.\\E$"} +{"rule":"GERMAN_SPELLER_RULE","sentence":"^\\QDiese Funktionalität ist in der Funktion preprocessing.smooth_image() implementiert, welche ein Bild als Parameter annimmt und die gefilterte Version zurückgibt.\\E$"} diff --git a/Praxisbericht.pdf b/Praxisbericht.pdf index d8a56da856ea33c7f428409e4417a50f26b9f754..ae443b69d5be72e6e1efb4e098e2cfbf85053a89 100644 Binary files a/Praxisbericht.pdf and b/Praxisbericht.pdf differ diff --git a/Praxisbericht.tex b/Praxisbericht.tex index 9b1b155bb0477e8565b6e09d2a9dc9a4d43d79e2..daa084d8714ec8c8fdf0a1a0e395384d527c8efb 100644 --- a/Praxisbericht.tex +++ b/Praxisbericht.tex @@ -159,7 +159,32 @@ \section{Vorgehen bei der Erkennung} + Das Programm durchläuft mehre Schritte, um den Text auf einem Bild zu identifizieren. Diese werden im Folgenden einzeln erläutert. + \subsection{Verbesserung der Bildqualität} \label{sub: filtering} + Da die Bilder direkt von der Kamera viele Störungen aufweisen, wird das Bild zuerst gefiltert. Diese Funktionalität ist in der + Funktion \lstinline{preprocessing.smooth_image()} implementiert, welche ein Bild als Parameter annimmt und die gefilterte Version + zurückgibt. + + Der erste Filterschritt entfernt die sogenannten \emph{Salt\&Pepper} Störungen. Damit sind einzelne weiße oder schwarze Pixel gemeint, + die durch Fehler in einzelnen Transistoren des Kamerasensors entstehen. Diese werden durch einfache Mittelwertbildung mit allen + angrenzenden Pixeln eliminiert. + + Danach wird ein bilateraler Filter mit einem $7\!\times\! 7$ auf das gesamte Bild angewandt. Dadruch werden Bildsektionen mit annähern + identischen Farbwerten vereinheitlicht, gleichzeitig bleiben Kanten (also stark unterschiedlich Farbwerte bei Nachbarpixeln) aber + erhalten. + + \begin{figure} + \subfigure[Originalbild direkt von der Kamera]{\includegraphics[width=0.475\textwidth]{img/loaded.png}} + \hfill + \subfigure[Gefiltertes Bild]{\includegraphics[width=0.475\textwidth]{img/smoothed.png}} + \caption{Vergleich eines Bildes vor und nach der Filterung} \label{fig: filterung} + \end{figure} + + \autoref{fig: filterung} zeigt einen direkten Vergleich vor und nach der Filterung. Wie man sieht, sind die kleinen Störungen alle + herausgefiltert, das Bild ist aber etwas Unschärfer geworden. Das ist aber notwendig um die Ergebnisse der nachfolgenden Schritte zu + verbessern. + \subsection{Binarisierung} \label{sub: binarysation} \subsection{Morphologische Operationen} \label{sub: morph} \subsection{Finden und filtern von Konturen} \label{sub: contours} diff --git a/img/loaded.png b/img/loaded.png new file mode 100644 index 0000000000000000000000000000000000000000..73dfa88b1a6803242b59365a4d61454959ec7a56 Binary files /dev/null and b/img/loaded.png differ diff --git a/img/smoothed.png b/img/smoothed.png new file mode 100644 index 0000000000000000000000000000000000000000..25d66340bf1746b46c8eb6612506d0b001efa441 Binary files /dev/null and b/img/smoothed.png differ