Skip to content
Snippets Groups Projects
Commit 72b4612e authored by Jan Wille's avatar Jan Wille
Browse files

beschreibung der verwendeten Biblioteken

parent bfc4497c
Branches
No related tags found
No related merge requests found
......@@ -23,3 +23,4 @@ venv
pytest
tesseract
Python-Syntaxchecker
Syntaxchecker
......@@ -24,3 +24,13 @@
{"rule":"GERMAN_SPELLER_RULE","sentence":"^\\QIn ihn werden alle Bibliotheken für das venv installiert src/ Hier befinden sich die eigentlichen Quellcodedateien tesseract/ Die binären Dateien für das Programm Tesseract befinden sich hier tests/ Die Testscripte für pytest befinden sich hier tests/img/ Ein Ablageort für Testbilder .flake8 Konfigurationsdatei für den Python-Syntaxchecker flake8 .gitignore Diese Datei enthält Informationen für Git, welche Dateien/Ordner ignoriert werden sollen Makefile Das Makefile enthält Befehle oder Befehlsketten die für das Arbeiten mit dem Projekt relevant sein können README.md Eine Textdatei im Markdownformat die eine Projektbeschreibung enthält requirements.txt Diese Datei enthält eine Liste aller benötigten Bibliotheken (siehe \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q)\\E$"}
{"rule":"DE_CASE","sentence":"^\\QIn ihn werden alle Bibliotheken für das venv installiert src/ Hier befinden sich die eigentlichen Quellcodedateien tesseract/ Die binären Dateien für das Programm Tesseract befinden sich hier tests/ Die Testscripte für pytest befinden sich hier tests/img/ Ein Ablageort für Testbilder .flake8 Konfigurationsdatei für den Python-Syntaxchecker flake8 .gitignore Diese Datei enthält Informationen für Git, welche Dateien/Ordner ignoriert werden sollen Makefile Das Makefile enthält Befehle oder Befehlsketten die für das Arbeiten mit dem Projekt relevant sein können README.md Eine Textdatei im Markdownformat die eine Projektbeschreibung enthält requirements.txt Diese Datei enthält eine Liste aller benötigten Bibliotheken (siehe \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q)\\E$"}
{"rule":"COMMA_PARENTHESIS_WHITESPACE","sentence":"^\\QIn ihn werden alle Bibliotheken für das venv installiert src/ Hier befinden sich die eigentlichen Quellcodedateien tesseract/ Die binären Dateien für das Programm Tesseract befinden sich hier tests/ Die Testscripte für pytest befinden sich hier tests/img/ Ein Ablageort für Testbilder .flake8 Konfigurationsdatei für den Python-Syntaxchecker flake8 .gitignore Diese Datei enthält Informationen für Git, welche Dateien/Ordner ignoriert werden sollen Makefile Das Makefile enthält Befehle oder Befehlsketten die für das Arbeiten mit dem Projekt relevant sein können README.md Eine Textdatei im Markdownformat die eine Projektbeschreibung enthält requirements.txt Diese Datei enthält eine Liste aller benötigten Bibliotheken (siehe \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q)\\E$"}
{"rule":"GERMAN_SPELLER_RULE","sentence":"^\\QVerwendete Pakete und ihre Funktion Runtime Pakete: opencv-python \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q Ein Wrapper für das OpenCV Framework \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q.\\E$"}
{"rule":"DE_CASE","sentence":"^\\QVerwendete Pakete und ihre Funktion Runtime Pakete: opencv-python \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q Ein Wrapper für das OpenCV Framework \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q.\\E$"}
{"rule":"UPPERCASE_SENTENCE_START","sentence":"^\\Qnumpy \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q Eine Bibliothek zu schnellen Verarbeitung großer Datenstrukturen (insbesondere Matrizen).\\E$"}
{"rule":"DE_CASE","sentence":"^\\Qnumpy \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q Eine Bibliothek zu schnellen Verarbeitung großer Datenstrukturen (insbesondere Matrizen).\\E$"}
{"rule":"UPPERCASE_SENTENCE_START","sentence":"^\\Qpytesseract \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q Wrapper für das OCR-Programm Tesseract \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q.\\E$"}
{"rule":"GERMAN_SPELLER_RULE","sentence":"^\\QSie liegt den Bild-Datentypen in opencv-python zugrunde.\\E$"}
{"rule":"UPPERCASE_SENTENCE_START","sentence":"^\\Qblack Python formatierungs Programm.\\E$"}
{"rule":"UPPERCASE_SENTENCE_START","sentence":"^\\Qflake8 Python Syntaxchecker.\\E$"}
{"rule":"UPPERCASE_SENTENCE_START","sentence":"^\\Qpytest Python Unittest Framework.\\E$"}
{"rule":"DE_CASE","sentence":"^\\QPakete für die Entwicklung: pyinstaller \\E(?:Dummy|Ina|Jimmy-)[0-9]+\\Q Eine Bibliothek zum Verpacken eines Pythonprogrammes in ein alleinstehendes Programm.\\E$"}
No preview for this file type
......@@ -3,7 +3,7 @@
% include packages here
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{biblatex}
\usepackage[style=numeric,sorting=none]{biblatex}
\usepackage{subfigure}
\usepackage{siunitx}
\usepackage{listings}
......@@ -161,16 +161,37 @@
\end{table}
\section{Verwendete Bibliotheken} \label{sec: bibliotheken}
\section{Verwendete Pakete} \label{sec: bibliotheken}
\textcolor{red}{TODO}
Dieses Projekt verwendet einige Pakete. Diese sind in der Datei \lstinline{requirements.txt} aufgelistet. Außerdem ist eine kurze
Zusammenfassung ihrer Funktion in \autoref{tab: bibliotheken} zu finden.
\begin{table}
\caption{Verwendete Pakete und ihre Funktion} \label{tab: bibliotheken}
\renewcommand*{\arraystretch}{1.25}
\begin{tabular}{@{}r p{.6\textwidth}@{}}
\multicolumn{2}{@{}l}{\textit{Runtime Pakete:} } \\
\texttt{opencv-python} \cite{pypi:python-opencv} & Ein Wrapper für das OpenCV Framework \cite{opencv}. Stellt eine Reihe an
Funktionen für die Bildverarbeitung zur Verfügung. Ein Großteil aller verwendeten Algorithmen sind hier implementiert. \\
\texttt{numpy} \cite{pypi:numpy} & Eine Bibliothek zu schnellen Verarbeitung großer Datenstrukturen (insbesondere Matrizen). Sie liegt den
Bild-Datentypen in \texttt{opencv-python} zugrunde. \\
\texttt{pytesseract} \cite{pypi:pytesseract} & Wrapper für das OCR-Programm \emph{Tesseract} \cite{tesseract}. Dieses für die
eigentliche Texterkennung durch und kann durch diese Bibliothek bedient werden. \\
\multicolumn{2}{@{}l}{\textit{Pakete für die Entwicklung:}} \\
\texttt{pyinstaller} \cite{pypi:pyinstaller} & Eine Bibliothek zum Verpacken eines Pythonprogrammes in ein alleinstehendes
Programm. \\
\texttt{black} & Python formatierungs Programm. \\
\texttt{flake8} & Python Syntaxchecker. \\
\texttt{pytest} & Python Unittest Framework. Ermöglicht automatisiertes Testen. \\
\end{tabular}
\end{table}
Um das Projekt zum ersten Mal auf einen neuen Computer zu benutzen, müssen die in der Datei \lstinline{requirements.txt} aufgelisteten
Pakete installiert werden. Hierzu wird das Anlegen eines sogenannten \emph{Virtual Enviroments} empfohlen. Dadurch werden die Pakete nicht
für den gesamten Computer installiert, sondern in einem Unterordner dieses Projektes abgelegt und nur diesem Projekt zur Verfügung
gestellt. Dazu werden die folgenden Befehle oder das Makefilerezept \lstinline{setup} verwendet.
Um das Projekt zum ersten Mal auf einen neuen Computer zu benutzen, müssen diese Pakete installiert werden. Hierzu wird das Anlegen eines
sogenannten \emph{Virtual Enviroments} empfohlen. Dadurch werden die Pakete nicht für den gesamten Computer installiert, sondern in einem
Unterordner dieses Projektes abgelegt und nur diesem Projekt zur Verfügung gestellt. Dazu werden die folgenden Befehle oder das
Makefilerezept \lstinline{setup} verwendet.
\begin{lstlisting}[language=bash,gobble=12]
\begin{lstlisting}[language=bash,gobble=16]
# virual env erstellen:
python -m venv .venv
# venv für diese Terminal-Session aktiviren (windows):
......@@ -183,6 +204,7 @@
Haupteinstiegspunktes des Programms sowie alle weiten selbsterstellten Pakete. Das Programm wird also mittels
\lstinline{python src/__main__.py} gestartet (ein Beispiel ist im Makefilerezept \emph{run} gezeigt).
\pagebreak
\section{Schnittstelle} \label{sec: interface}
Da das Softwaremodule von einem übergeordneten Programm aufgerufen wird, erhält es beim Start von diesem die Nötigen Informationen. Diese
......@@ -238,6 +260,7 @@
verbessern.
\pagebreak
\subsection{Binarisierung} \label{sub: binarysation}
Als Nächstes wird das Bild binarisiert. Das Bild wird also auf nur zwei Farben heruntergebrochen, in dem nur noch die prominenten
Features enthalten sind. Implementiert ist dies in der Funktion \lstinline{preprocessing.make_binary_image()}.
......
......@@ -4,6 +4,47 @@
date = {2018-07-16},
language = {GER}
}
@online{pypi:python-opencv,
title = {Python Package Index - opencv-python},
date = {2022-03-09},
url = {https://pypi.org/project/opencv-python/},
urldate = {2022-05-02},
language = {ENG}
}
@online{opencv,
title = {OpenCV},
year = {2022},
url = {https://opencv.org/},
urldate = {2022-05-02},
language = {ENG}
}
@online{pypi:numpy,
title = {Python Package Index - numpy},
url = {https://pypi.org/project/numpy/},
urldate = {2022-03-07},
language = {ENG}
}
@online{pypi:pytesseract,
title = {Python Package Index - pytesseract},
date = {2022-02-19},
url = {https://pypi.org/project/pytesseract/},
urldate = {2022-05-02},
language = {ENG}
}
@online{tesseract,
title = {Tesseract User Manual},
date = {2022-04-24},
url = {https://tesseract-ocr.github.io/tessdoc/},
urldate = {2022-05-02},
language = {ENG}
}
@online{pypi:pyinstaller,
title = {Python Package Index - pyinstaller},
date = {2022-04-25},
url = {https://pypi.org/project/pyinstaller/},
urldate = {2022-05-02},
language = {ENG}
}
%-----------------------Templates--------------------------------------------------------
% A single-volume book with one or more authors
@book{1,
......@@ -64,15 +105,7 @@
language = {}
}
% web sites which are intrinsically online resources
@online{5,
author = {},
title = {},
date = {},
year = {},
url = {},
urldate = {},
language = {}
}
% a Thesis
@phdthesis{6,
author = {},
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment