diff --git a/.vscode/ltex.dictionary.de-DE.txt b/.vscode/ltex.dictionary.de-DE.txt index f49f9fee6e6b3f5b410fda2e7cedcc4e494c3082..fc487f3b957d6beaa18f0f7e4df94ab4b25fddc8 100644 --- a/.vscode/ltex.dictionary.de-DE.txt +++ b/.vscode/ltex.dictionary.de-DE.txt @@ -13,3 +13,4 @@ Otsu Binarisierungsschritte Kernelgröße Gemorphtes +pytesseract diff --git a/.vscode/ltex.hiddenFalsePositives.de-DE.txt b/.vscode/ltex.hiddenFalsePositives.de-DE.txt index 43197a73430f302936a27e8d7cb73570d742c4f4..db9e28b0d84cb0e6c424318f37c8f4c06e42cb56 100644 --- a/.vscode/ltex.hiddenFalsePositives.de-DE.txt +++ b/.vscode/ltex.hiddenFalsePositives.de-DE.txt @@ -15,3 +15,6 @@ {"rule":"GERMAN_SPELLER_RULE","sentence":"^\\QDiese sind in der Funktion preprocessing.morphologic_close() implementiert.\\E$"} {"rule":"DE_AGREEMENT","sentence":"^\\QZuerst wird eine Closing Operation mit einem Rechteck-Kernel angewandt.\\E$"} {"rule":"DE_CASE","sentence":"^\\Q[Konturen im binarisierten Bild] [Konturen übertragen auf das originale Bild] Im Bild gefundene Konturen\\E$"} +{"rule":"GERMAN_SPELLER_RULE","sentence":"^\\QDie Kommunikation mit der Bibliothek ist in die Datei src/tesseract.py ausgelagert.\\E$"} +{"rule":"GERMAN_SPELLER_RULE","sentence":"^\\QDort steht die Funktion tesseract.read_text_in_image() zur Verfügung, die ein Bild akzeptiert und den gefundenen Text zurückgibt.\\E$"} +{"rule":"GERMAN_SPELLER_RULE","sentence":"^\\QAlle Funktionalitäten hierfür sind in die Datei src/findcodes.py ausgelagert.\\E$"} diff --git a/Praxisbericht.pdf b/Praxisbericht.pdf index c259cf05c7599ec733eee02b90d17192d5aa5a5a..9f369fd3ca4885eede7eb08906cfc6b96f165642 100644 Binary files a/Praxisbericht.pdf and b/Praxisbericht.pdf differ diff --git a/Praxisbericht.tex b/Praxisbericht.tex index 16a4556fad0d5d3a185160dc308e272a6940cc90..cd77a9d1c2c430eb753e62756a0ad65b6d426608 100644 --- a/Praxisbericht.tex +++ b/Praxisbericht.tex @@ -262,7 +262,23 @@ \subsection{Übergabe an Tesseract} \label{sub: call tesseract} - \subsection{Textanalyse des Ergebnisses} + Für die eigentliche Texterkennung wird eine weite Software namens \emph{Tesseract} verwendet. Für diese gibt es eine + Python-Wrapper-Bibliothek namens \lstinline{pytesseract}, welche die Verwendung stark vereinfacht. + + Die Kommunikation mit der Bibliothek ist in die Datei \lstinline{src/tesseract.py} ausgelagert. Dort steht die Funktion + \lstinline{tesseract.read_text_in_image()} zur Verfügung, die ein Bild akzeptiert und den gefundenen Text zurückgibt. Diese wird für + jeden Bildausschnitt aufgerufen. + + + \subsection{Textanalyse des Ergebnisses} \label{sub: textanalyse} + Der von Tesseract gefundene Text wird zum Abschluss analysiert und mit der Liste an gültigen Codes verglichen. Dadruch werden + weiter Beschriftungen oder Hersteller-Logos herausgefiltert. + + Alle Funktionalitäten hierfür sind in die Datei \lstinline{src/findcodes.py} ausgelagert. Hier ist ein regulärer Ausdruck definiert, + welcher die Voraussetzung, das gültige Codes mit 2-3 Großbuchstaben beginnen und darauf 5-9 Ziffern folgen, abbildet. Dies wir mit dem + übergebenen Text verglichen und Code-Kandidaten ermittelt. Alle Kandidaten werden mit der Liste von bekanntem Code verglichen und die + gültigen Codes zurückgegeben. + \section{Automatisiertes Testen} \label{sec: testing}