Finish coding
This commit is contained in:
@@ -1,31 +1,16 @@
|
|||||||
\relax
|
\relax
|
||||||
\providecommand\hyper@newdestlabel[2]{}
|
|
||||||
\gdef\pagesLTS@loaded{p@gesLTSnotlo@ded}
|
\gdef\pagesLTS@loaded{p@gesLTSnotlo@ded}
|
||||||
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
|
\providecommand\hyper@newdestlabel[2]{}
|
||||||
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
|
|
||||||
\global\let\oldcontentsline\contentsline
|
|
||||||
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
|
|
||||||
\global\let\oldnewlabel\newlabel
|
|
||||||
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
|
|
||||||
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
|
|
||||||
\AtEndDocument{\ifx\hyper@anchor\@undefined
|
|
||||||
\let\contentsline\oldcontentsline
|
|
||||||
\let\newlabel\oldnewlabel
|
|
||||||
\fi}
|
|
||||||
\fi}
|
|
||||||
\global\let\hyper@last\relax
|
|
||||||
\gdef\HyperFirstAtBeginDocument#1{#1}
|
|
||||||
\providecommand\HyField@AuxAddToFields[1]{}
|
\providecommand\HyField@AuxAddToFields[1]{}
|
||||||
\providecommand\HyField@AuxAddToCoFields[2]{}
|
\providecommand\HyField@AuxAddToCoFields[2]{}
|
||||||
|
\providecommand\babel@aux[2]{}
|
||||||
|
\@nameuse{bbl@beforestart}
|
||||||
\catcode `"\active
|
\catcode `"\active
|
||||||
\newlabel{pagesLTS.0}{{}{1}{}{page.1}{}}
|
\newlabel{pagesLTS.0}{{}{1}{}{page.1}{}}
|
||||||
\newlabel{pagesLTS.0.local}{{}{1}{}{page.1}{}}
|
\newlabel{pagesLTS.0.local}{{}{1}{}{page.1}{}}
|
||||||
\providecommand \oddpage@label [2]{}
|
\providecommand \oddpage@label [2]{}
|
||||||
\reset@newl@bel
|
\reset@newl@bel
|
||||||
\select@language{ngerman}
|
\babel@aux{ngerman}{}
|
||||||
\@writefile{toc}{\select@language{ngerman}}
|
|
||||||
\@writefile{lof}{\select@language{ngerman}}
|
|
||||||
\@writefile{lot}{\select@language{ngerman}}
|
|
||||||
\@input{sections/overview.aux}
|
\@input{sections/overview.aux}
|
||||||
\@input{sections/a.aux}
|
\@input{sections/a.aux}
|
||||||
\@input{sections/a1.aux}
|
\@input{sections/a1.aux}
|
||||||
@@ -43,3 +28,4 @@
|
|||||||
\newlabel{pagesLTS.arabic}{{}{17}{}{page.17}{}}
|
\newlabel{pagesLTS.arabic}{{}{17}{}{page.17}{}}
|
||||||
\newlabel{pagesLTS.arabic.local}{{}{17}{}{page.17}{}}
|
\newlabel{pagesLTS.arabic.local}{{}{17}{}{page.17}{}}
|
||||||
\newlabel{LastPages}{{}{17}{}{page.17}{}}
|
\newlabel{LastPages}{{}{17}{}{page.17}{}}
|
||||||
|
\gdef \@abspage@last{17}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,15 +1,15 @@
|
|||||||
\BOOKMARK [1][-]{section.1}{Einleitung}{}% 1
|
\BOOKMARK [1][-]{section.1}{\376\377\000E\000i\000n\000l\000e\000i\000t\000u\000n\000g}{}% 1
|
||||||
\BOOKMARK [2][-]{subsection.1.1}{Vorbereitung}{section.1}% 2
|
\BOOKMARK [2][-]{subsection.1.1}{\376\377\000V\000o\000r\000b\000e\000r\000e\000i\000t\000u\000n\000g}{section.1}% 2
|
||||||
\BOOKMARK [2][-]{subsection.1.2}{Programmierumgebung}{section.1}% 3
|
\BOOKMARK [2][-]{subsection.1.2}{\376\377\000P\000r\000o\000g\000r\000a\000m\000m\000i\000e\000r\000u\000m\000g\000e\000b\000u\000n\000g}{section.1}% 3
|
||||||
\BOOKMARK [1][-]{section.2}{Aufgabe}{}% 4
|
\BOOKMARK [1][-]{section.2}{\376\377\000A\000u\000f\000g\000a\000b\000e}{}% 4
|
||||||
\BOOKMARK [2][-]{subsection.2.1}{Vorverarbeitung}{section.2}% 5
|
\BOOKMARK [2][-]{subsection.2.1}{\376\377\000V\000o\000r\000v\000e\000r\000a\000r\000b\000e\000i\000t\000u\000n\000g}{section.2}% 5
|
||||||
\BOOKMARK [3][-]{subsubsection.2.1.1}{Rauschreduktion}{subsection.2.1}% 6
|
\BOOKMARK [3][-]{subsubsection.2.1.1}{\376\377\000R\000a\000u\000s\000c\000h\000r\000e\000d\000u\000k\000t\000i\000o\000n}{subsection.2.1}% 6
|
||||||
\BOOKMARK [3][-]{subsubsection.2.1.2}{Histogramm Spreizung}{subsection.2.1}% 7
|
\BOOKMARK [3][-]{subsubsection.2.1.2}{\376\377\000H\000i\000s\000t\000o\000g\000r\000a\000m\000m\000\040\000S\000p\000r\000e\000i\000z\000u\000n\000g}{subsection.2.1}% 7
|
||||||
\BOOKMARK [2][-]{subsection.2.2}{Farbanalyse}{section.2}% 8
|
\BOOKMARK [2][-]{subsection.2.2}{\376\377\000F\000a\000r\000b\000a\000n\000a\000l\000y\000s\000e}{section.2}% 8
|
||||||
\BOOKMARK [3][-]{subsubsection.2.2.1}{RGB}{subsection.2.2}% 9
|
\BOOKMARK [3][-]{subsubsection.2.2.1}{\376\377\000R\000G\000B}{subsection.2.2}% 9
|
||||||
\BOOKMARK [3][-]{subsubsection.2.2.2}{HSV}{subsection.2.2}% 10
|
\BOOKMARK [3][-]{subsubsection.2.2.2}{\376\377\000H\000S\000V}{subsection.2.2}% 10
|
||||||
\BOOKMARK [2][-]{subsection.2.3}{Segmentierung und Bildmodifizierung}{section.2}% 11
|
\BOOKMARK [2][-]{subsection.2.3}{\376\377\000S\000e\000g\000m\000e\000n\000t\000i\000e\000r\000u\000n\000g\000\040\000u\000n\000d\000\040\000B\000i\000l\000d\000m\000o\000d\000i\000f\000i\000z\000i\000e\000r\000u\000n\000g}{section.2}% 11
|
||||||
\BOOKMARK [3][-]{subsubsection.2.3.1}{Statisches Schwellwertverfahren}{subsection.2.3}% 12
|
\BOOKMARK [3][-]{subsubsection.2.3.1}{\376\377\000S\000t\000a\000t\000i\000s\000c\000h\000e\000s\000\040\000S\000c\000h\000w\000e\000l\000l\000w\000e\000r\000t\000v\000e\000r\000f\000a\000h\000r\000e\000n}{subsection.2.3}% 12
|
||||||
\BOOKMARK [3][-]{subsubsection.2.3.2}{Bin\344rmaske}{subsection.2.3}% 13
|
\BOOKMARK [3][-]{subsubsection.2.3.2}{\376\377\000B\000i\000n\000\344\000r\000m\000a\000s\000k\000e}{subsection.2.3}% 13
|
||||||
\BOOKMARK [3][-]{subsubsection.2.3.3}{Bildmodifizierung}{subsection.2.3}% 14
|
\BOOKMARK [3][-]{subsubsection.2.3.3}{\376\377\000B\000i\000l\000d\000m\000o\000d\000i\000f\000i\000z\000i\000e\000r\000u\000n\000g}{subsection.2.3}% 14
|
||||||
\BOOKMARK [1][-]{section.3}{Zusammenfassung}{}% 15
|
\BOOKMARK [1][-]{section.3}{\376\377\000Z\000u\000s\000a\000m\000m\000e\000n\000f\000a\000s\000s\000u\000n\000g}{}% 15
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -54,8 +54,8 @@
|
|||||||
\vspace{2cm}
|
\vspace{2cm}
|
||||||
|
|
||||||
\begin{tabular}{@{}p{4cm}l}
|
\begin{tabular}{@{}p{4cm}l}
|
||||||
Datum: & XX.XX.XXXX \\
|
Datum: & 27.06.2025 \\
|
||||||
Uhrzeit: & XX:XX \\
|
Uhrzeit: & 08:00 \\
|
||||||
Anzahl der Bl\"{a}tter: & \lastpageref*{LastPages} (einschlie\ss{}lich Deckblatt)
|
Anzahl der Bl\"{a}tter: & \lastpageref*{LastPages} (einschlie\ss{}lich Deckblatt)
|
||||||
|
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
@@ -64,16 +64,16 @@
|
|||||||
|
|
||||||
\begin{tabular}{@{}p{4cm} l }
|
\begin{tabular}{@{}p{4cm} l }
|
||||||
{\normalfont\bfseries Name:} & {\normalfont\bfseries Matrikelnummer:}\\
|
{\normalfont\bfseries Name:} & {\normalfont\bfseries Matrikelnummer:}\\
|
||||||
$\underline{\hspace{5cm}}$ \hspace{0.5cm}& $\underline{\hspace{5cm}}$ \\
|
Koussai Hamraoui\hspace{0.5cm}&10049868\\
|
||||||
$\underline{\hspace{5cm}}$ \hspace{0.5cm}& $\underline{\hspace{5cm}}$\\
|
Alexander Gossmann \hspace{0.5cm}&3217770 \\
|
||||||
$\underline{\hspace{5cm}}$ \hspace{0.5cm}& $\underline{\hspace{5cm}}$\\
|
Tobias Zoghaib \hspace{0.5cm}&10019865\\
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
|
|
||||||
\vspace{2.0cm}
|
\vspace{2.0cm}
|
||||||
|
|
||||||
Die Bearbeitung der Aufgaben erfolgt selbstst<73>ndig in Kleingruppen. Alle Gruppenmitglieder sollen Arbeitsaufwand in gleicher Gr<47><72>enordnung einbringen. Betrugsversuche werden geahndet.
|
Die Bearbeitung der Aufgaben erfolgt selbstst<73>ndig in Kleingruppen. Alle Gruppenmitglieder sollen Arbeitsaufwand in gleicher Gr<47><72>enordnung einbringen. Betrugsversuche werden geahndet.
|
||||||
|
|
||||||
|
\pagebreak
|
||||||
\tableofcontents
|
\tableofcontents
|
||||||
|
|
||||||
\include{sections/overview}
|
\include{sections/overview}
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
\select@language {ngerman}
|
\babel@toc {ngerman}{}\relax
|
||||||
\contentsline {section}{\numberline {1}Einleitung}{3}{section.1}
|
\contentsline {section}{\numberline {1}Einleitung}{3}{section.1}%
|
||||||
\contentsline {subsection}{\numberline {1.1}Vorbereitung}{4}{subsection.1.1}
|
\contentsline {subsection}{\numberline {1.1}Vorbereitung}{4}{subsection.1.1}%
|
||||||
\contentsline {subsection}{\numberline {1.2}Programmierumgebung}{5}{subsection.1.2}
|
\contentsline {subsection}{\numberline {1.2}Programmierumgebung}{5}{subsection.1.2}%
|
||||||
\contentsline {section}{\numberline {2}Aufgabe}{8}{section.2}
|
\contentsline {section}{\numberline {2}Aufgabe}{8}{section.2}%
|
||||||
\contentsline {subsection}{\numberline {2.1}Vorverarbeitung}{10}{subsection.2.1}
|
\contentsline {subsection}{\numberline {2.1}Vorverarbeitung}{10}{subsection.2.1}%
|
||||||
\contentsline {subsubsection}{\numberline {2.1.1}Rauschreduktion}{10}{subsubsection.2.1.1}
|
\contentsline {subsubsection}{\numberline {2.1.1}Rauschreduktion}{10}{subsubsection.2.1.1}%
|
||||||
\contentsline {subsubsection}{\numberline {2.1.2}Histogramm Spreizung}{11}{subsubsection.2.1.2}
|
\contentsline {subsubsection}{\numberline {2.1.2}Histogramm Spreizung}{11}{subsubsection.2.1.2}%
|
||||||
\contentsline {subsection}{\numberline {2.2}Farbanalyse}{12}{subsection.2.2}
|
\contentsline {subsection}{\numberline {2.2}Farbanalyse}{12}{subsection.2.2}%
|
||||||
\contentsline {subsubsection}{\numberline {2.2.1}RGB}{12}{subsubsection.2.2.1}
|
\contentsline {subsubsection}{\numberline {2.2.1}RGB}{12}{subsubsection.2.2.1}%
|
||||||
\contentsline {subsubsection}{\numberline {2.2.2}HSV}{13}{subsubsection.2.2.2}
|
\contentsline {subsubsection}{\numberline {2.2.2}HSV}{13}{subsubsection.2.2.2}%
|
||||||
\contentsline {subsection}{\numberline {2.3}Segmentierung und Bildmodifizierung}{14}{subsection.2.3}
|
\contentsline {subsection}{\numberline {2.3}Segmentierung und Bildmodifizierung}{14}{subsection.2.3}%
|
||||||
\contentsline {subsubsection}{\numberline {2.3.1}Statisches Schwellwertverfahren}{14}{subsubsection.2.3.1}
|
\contentsline {subsubsection}{\numberline {2.3.1}Statisches Schwellwertverfahren}{14}{subsubsection.2.3.1}%
|
||||||
\contentsline {subsubsection}{\numberline {2.3.2}Bin\"armaske}{15}{subsubsection.2.3.2}
|
\contentsline {subsubsection}{\numberline {2.3.2}Bin\"armaske}{15}{subsubsection.2.3.2}%
|
||||||
\contentsline {subsubsection}{\numberline {2.3.3}Bildmodifizierung}{15}{subsubsection.2.3.3}
|
\contentsline {subsubsection}{\numberline {2.3.3}Bildmodifizierung}{15}{subsubsection.2.3.3}%
|
||||||
\contentsline {section}{\numberline {3}Zusammenfassung}{17}{section.3}
|
\contentsline {section}{\numberline {3}Zusammenfassung}{17}{section.3}%
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
\relax
|
\relax
|
||||||
\providecommand\hyper@newdestlabel[2]{}
|
\providecommand\hyper@newdestlabel[2]{}
|
||||||
\@writefile{toc}{\contentsline {section}{\numberline {2}Aufgabe}{8}{section.2}}
|
\@writefile{toc}{\contentsline {section}{\numberline {2}Aufgabe}{8}{section.2}\protected@file@percent }
|
||||||
\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Bildverarbeitungs-Pipeline}}{8}{figure.5}}
|
\@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces Bildverarbeitungs-Pipeline}}{8}{figure.5}\protected@file@percent }
|
||||||
\newlabel{fig:skizzepipeline}{{5}{8}{Bildverarbeitungs-Pipeline}{figure.5}{}}
|
\newlabel{fig:skizzepipeline}{{5}{8}{Bildverarbeitungs-Pipeline}{figure.5}{}}
|
||||||
\@setckpt{sections/a}{
|
\@setckpt{sections/a}{
|
||||||
\setcounter{page}{10}
|
\setcounter{page}{10}
|
||||||
@@ -26,12 +26,12 @@
|
|||||||
\setcounter{pagesLTS.pagenr}{17}
|
\setcounter{pagesLTS.pagenr}{17}
|
||||||
\setcounter{pagesLTS.current.local.0}{1}
|
\setcounter{pagesLTS.current.local.0}{1}
|
||||||
\setcounter{pagesLTS.pnc.0}{0}
|
\setcounter{pagesLTS.pnc.0}{0}
|
||||||
|
\setcounter{section@level}{1}
|
||||||
\setcounter{Item}{0}
|
\setcounter{Item}{0}
|
||||||
\setcounter{Hfootnote}{2}
|
\setcounter{Hfootnote}{2}
|
||||||
\setcounter{bookmark@seq@number}{4}
|
\setcounter{bookmark@seq@number}{4}
|
||||||
\setcounter{lstnumber}{10}
|
\setcounter{lstnumber}{10}
|
||||||
\setcounter{pagesLTS.arabic.1.local.cnt}{17}
|
\setcounter{pagesLTS.arabic.1.local.cnt}{17}
|
||||||
\setcounter{section@level}{1}
|
|
||||||
\setcounter{lstlisting}{2}
|
\setcounter{lstlisting}{2}
|
||||||
\setcounter{pagesLTS.pnc.arabic}{1}
|
\setcounter{pagesLTS.pnc.arabic}{1}
|
||||||
\setcounter{pagesLTS.double.arabic}{1}
|
\setcounter{pagesLTS.double.arabic}{1}
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
\relax
|
\relax
|
||||||
\providecommand\hyper@newdestlabel[2]{}
|
\providecommand\hyper@newdestlabel[2]{}
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Vorverarbeitung}{10}{subsection.2.1}}
|
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Vorverarbeitung}{10}{subsection.2.1}\protected@file@percent }
|
||||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.1}Rauschreduktion}{10}{subsubsection.2.1.1}}
|
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.1}Rauschreduktion}{10}{subsubsection.2.1.1}\protected@file@percent }
|
||||||
\newlabel{lst:code1}{{3}{10}{Vorverarbeitung, Aufgabe 1}{lstlisting.3}{}}
|
\newlabel{lst:code1}{{3}{10}{Vorverarbeitung, Aufgabe 1}{lstlisting.3}{}}
|
||||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {3}Vorverarbeitung, Aufgabe 1}{10}{lstlisting.3}}
|
\@writefile{lol}{\contentsline {lstlisting}{\numberline {3}Vorverarbeitung, Aufgabe 1}{10}{lstlisting.3}\protected@file@percent }
|
||||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.2}Histogramm Spreizung}{11}{subsubsection.2.1.2}}
|
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.1.2}Histogramm Spreizung}{11}{subsubsection.2.1.2}\protected@file@percent }
|
||||||
\newlabel{equ:histogramm-equalization}{{3}{11}{Histogramm Spreizung}{equation.2.3}{}}
|
\newlabel{equ:histogramm-equalization}{{3}{11}{Histogramm Spreizung}{equation.2.3}{}}
|
||||||
\newlabel{lst:code1}{{4}{11}{Vorverarbeitung, Aufgabe 4}{lstlisting.4}{}}
|
\newlabel{lst:code1}{{4}{11}{Vorverarbeitung, Aufgabe 4}{lstlisting.4}{}}
|
||||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {4}Vorverarbeitung, Aufgabe 4}{11}{lstlisting.4}}
|
\@writefile{lol}{\contentsline {lstlisting}{\numberline {4}Vorverarbeitung, Aufgabe 4}{11}{lstlisting.4}\protected@file@percent }
|
||||||
\@setckpt{sections/a1}{
|
\@setckpt{sections/a1}{
|
||||||
\setcounter{page}{12}
|
\setcounter{page}{12}
|
||||||
\setcounter{equation}{3}
|
\setcounter{equation}{3}
|
||||||
@@ -31,12 +31,12 @@
|
|||||||
\setcounter{pagesLTS.pagenr}{17}
|
\setcounter{pagesLTS.pagenr}{17}
|
||||||
\setcounter{pagesLTS.current.local.0}{1}
|
\setcounter{pagesLTS.current.local.0}{1}
|
||||||
\setcounter{pagesLTS.pnc.0}{0}
|
\setcounter{pagesLTS.pnc.0}{0}
|
||||||
|
\setcounter{section@level}{3}
|
||||||
\setcounter{Item}{0}
|
\setcounter{Item}{0}
|
||||||
\setcounter{Hfootnote}{2}
|
\setcounter{Hfootnote}{2}
|
||||||
\setcounter{bookmark@seq@number}{7}
|
\setcounter{bookmark@seq@number}{7}
|
||||||
\setcounter{lstnumber}{2}
|
\setcounter{lstnumber}{2}
|
||||||
\setcounter{pagesLTS.arabic.1.local.cnt}{17}
|
\setcounter{pagesLTS.arabic.1.local.cnt}{17}
|
||||||
\setcounter{section@level}{3}
|
|
||||||
\setcounter{lstlisting}{4}
|
\setcounter{lstlisting}{4}
|
||||||
\setcounter{pagesLTS.pnc.arabic}{1}
|
\setcounter{pagesLTS.pnc.arabic}{1}
|
||||||
\setcounter{pagesLTS.double.arabic}{1}
|
\setcounter{pagesLTS.double.arabic}{1}
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
\relax
|
\relax
|
||||||
\providecommand\hyper@newdestlabel[2]{}
|
\providecommand\hyper@newdestlabel[2]{}
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Farbanalyse}{12}{subsection.2.2}}
|
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Farbanalyse}{12}{subsection.2.2}\protected@file@percent }
|
||||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.1}RGB}{12}{subsubsection.2.2.1}}
|
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.1}RGB}{12}{subsubsection.2.2.1}\protected@file@percent }
|
||||||
\newlabel{lst:Histogramm}{{5}{12}{Histogrammberechnung mit \textit {matplotlib}}{lstlisting.5}{}}
|
\newlabel{lst:Histogramm}{{5}{12}{Histogrammberechnung mit \textit {matplotlib}}{lstlisting.5}{}}
|
||||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {5}Histogrammberechnung mit \textit {matplotlib}}{12}{lstlisting.5}}
|
\@writefile{lol}{\contentsline {lstlisting}{\numberline {5}Histogrammberechnung mit \textit {matplotlib}}{12}{lstlisting.5}\protected@file@percent }
|
||||||
\newlabel{lst:code1}{{6}{13}{Farbanalyse, Aufgabe 1}{lstlisting.6}{}}
|
\newlabel{lst:code1}{{6}{13}{Farbanalyse, Aufgabe 1}{lstlisting.6}{}}
|
||||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {6}Farbanalyse, Aufgabe 1}{13}{lstlisting.6}}
|
\@writefile{lol}{\contentsline {lstlisting}{\numberline {6}Farbanalyse, Aufgabe 1}{13}{lstlisting.6}\protected@file@percent }
|
||||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.2}HSV}{13}{subsubsection.2.2.2}}
|
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.2.2}HSV}{13}{subsubsection.2.2.2}\protected@file@percent }
|
||||||
\newlabel{equ:segrule}{{5}{13}{Aufgabe 5}{equation.2.5}{}}
|
\newlabel{equ:segrule}{{5}{13}{Aufgabe 5}{equation.2.5}{}}
|
||||||
\@setckpt{sections/a2}{
|
\@setckpt{sections/a2}{
|
||||||
\setcounter{page}{14}
|
\setcounter{page}{14}
|
||||||
@@ -31,12 +31,12 @@
|
|||||||
\setcounter{pagesLTS.pagenr}{17}
|
\setcounter{pagesLTS.pagenr}{17}
|
||||||
\setcounter{pagesLTS.current.local.0}{1}
|
\setcounter{pagesLTS.current.local.0}{1}
|
||||||
\setcounter{pagesLTS.pnc.0}{0}
|
\setcounter{pagesLTS.pnc.0}{0}
|
||||||
|
\setcounter{section@level}{3}
|
||||||
\setcounter{Item}{0}
|
\setcounter{Item}{0}
|
||||||
\setcounter{Hfootnote}{2}
|
\setcounter{Hfootnote}{2}
|
||||||
\setcounter{bookmark@seq@number}{10}
|
\setcounter{bookmark@seq@number}{10}
|
||||||
\setcounter{lstnumber}{2}
|
\setcounter{lstnumber}{2}
|
||||||
\setcounter{pagesLTS.arabic.1.local.cnt}{17}
|
\setcounter{pagesLTS.arabic.1.local.cnt}{17}
|
||||||
\setcounter{section@level}{3}
|
|
||||||
\setcounter{lstlisting}{6}
|
\setcounter{lstlisting}{6}
|
||||||
\setcounter{pagesLTS.pnc.arabic}{1}
|
\setcounter{pagesLTS.pnc.arabic}{1}
|
||||||
\setcounter{pagesLTS.double.arabic}{1}
|
\setcounter{pagesLTS.double.arabic}{1}
|
||||||
|
|||||||
@@ -1,19 +1,19 @@
|
|||||||
\relax
|
\relax
|
||||||
\providecommand\hyper@newdestlabel[2]{}
|
\providecommand\hyper@newdestlabel[2]{}
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Segmentierung und Bildmodifizierung}{14}{subsection.2.3}}
|
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Segmentierung und Bildmodifizierung}{14}{subsection.2.3}\protected@file@percent }
|
||||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1}Statisches Schwellwertverfahren}{14}{subsubsection.2.3.1}}
|
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.1}Statisches Schwellwertverfahren}{14}{subsubsection.2.3.1}\protected@file@percent }
|
||||||
\newlabel{lst:conditions}{{7}{14}{Benutzung von Randbedingungen mit \textit {numpy}}{lstlisting.7}{}}
|
\newlabel{lst:conditions}{{7}{14}{Benutzung von Randbedingungen mit \textit {numpy}}{lstlisting.7}{}}
|
||||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {7}Benutzung von Randbedingungen mit \textit {numpy}}{14}{lstlisting.7}}
|
\@writefile{lol}{\contentsline {lstlisting}{\numberline {7}Benutzung von Randbedingungen mit \textit {numpy}}{14}{lstlisting.7}\protected@file@percent }
|
||||||
\newlabel{lst:code1}{{8}{14}{Segmentierung und Bildmodifizierung, Aufgabe 1}{lstlisting.8}{}}
|
\newlabel{lst:code1}{{8}{14}{Segmentierung und Bildmodifizierung, Aufgabe 1}{lstlisting.8}{}}
|
||||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {8}Segmentierung und Bildmodifizierung, Aufgabe 1}{14}{lstlisting.8}}
|
\@writefile{lol}{\contentsline {lstlisting}{\numberline {8}Segmentierung und Bildmodifizierung, Aufgabe 1}{14}{lstlisting.8}\protected@file@percent }
|
||||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.2}Bin\"armaske}{15}{subsubsection.2.3.2}}
|
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.2}Bin\"armaske}{15}{subsubsection.2.3.2}\protected@file@percent }
|
||||||
\newlabel{lst:contours}{{9}{15}{Konturfindung}{lstlisting.9}{}}
|
\newlabel{lst:contours}{{9}{15}{Konturfindung}{lstlisting.9}{}}
|
||||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {9}Konturfindung}{15}{lstlisting.9}}
|
\@writefile{lol}{\contentsline {lstlisting}{\numberline {9}Konturfindung}{15}{lstlisting.9}\protected@file@percent }
|
||||||
\newlabel{lst:contours}{{10}{15}{Segmentierung und Bildmodifizierung, Aufgabe 2}{lstlisting.10}{}}
|
\newlabel{lst:contours}{{10}{15}{Segmentierung und Bildmodifizierung, Aufgabe 2}{lstlisting.10}{}}
|
||||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {10}Segmentierung und Bildmodifizierung, Aufgabe 2}{15}{lstlisting.10}}
|
\@writefile{lol}{\contentsline {lstlisting}{\numberline {10}Segmentierung und Bildmodifizierung, Aufgabe 2}{15}{lstlisting.10}\protected@file@percent }
|
||||||
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.3}Bildmodifizierung}{15}{subsubsection.2.3.3}}
|
\@writefile{toc}{\contentsline {subsubsection}{\numberline {2.3.3}Bildmodifizierung}{15}{subsubsection.2.3.3}\protected@file@percent }
|
||||||
\newlabel{lst:contours}{{11}{16}{Segmentierung und Bildmodifizierung, Aufgabe 4}{lstlisting.11}{}}
|
\newlabel{lst:contours}{{11}{16}{Segmentierung und Bildmodifizierung, Aufgabe 4}{lstlisting.11}{}}
|
||||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {11}Segmentierung und Bildmodifizierung, Aufgabe 4}{16}{lstlisting.11}}
|
\@writefile{lol}{\contentsline {lstlisting}{\numberline {11}Segmentierung und Bildmodifizierung, Aufgabe 4}{16}{lstlisting.11}\protected@file@percent }
|
||||||
\@setckpt{sections/a3}{
|
\@setckpt{sections/a3}{
|
||||||
\setcounter{page}{17}
|
\setcounter{page}{17}
|
||||||
\setcounter{equation}{5}
|
\setcounter{equation}{5}
|
||||||
@@ -37,12 +37,12 @@
|
|||||||
\setcounter{pagesLTS.pagenr}{17}
|
\setcounter{pagesLTS.pagenr}{17}
|
||||||
\setcounter{pagesLTS.current.local.0}{1}
|
\setcounter{pagesLTS.current.local.0}{1}
|
||||||
\setcounter{pagesLTS.pnc.0}{0}
|
\setcounter{pagesLTS.pnc.0}{0}
|
||||||
|
\setcounter{section@level}{3}
|
||||||
\setcounter{Item}{0}
|
\setcounter{Item}{0}
|
||||||
\setcounter{Hfootnote}{2}
|
\setcounter{Hfootnote}{2}
|
||||||
\setcounter{bookmark@seq@number}{14}
|
\setcounter{bookmark@seq@number}{14}
|
||||||
\setcounter{lstnumber}{2}
|
\setcounter{lstnumber}{2}
|
||||||
\setcounter{pagesLTS.arabic.1.local.cnt}{17}
|
\setcounter{pagesLTS.arabic.1.local.cnt}{17}
|
||||||
\setcounter{section@level}{3}
|
|
||||||
\setcounter{lstlisting}{11}
|
\setcounter{lstlisting}{11}
|
||||||
\setcounter{pagesLTS.pnc.arabic}{1}
|
\setcounter{pagesLTS.pnc.arabic}{1}
|
||||||
\setcounter{pagesLTS.double.arabic}{1}
|
\setcounter{pagesLTS.double.arabic}{1}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
\relax
|
\relax
|
||||||
\providecommand\hyper@newdestlabel[2]{}
|
\providecommand\hyper@newdestlabel[2]{}
|
||||||
\@writefile{toc}{\contentsline {section}{\numberline {3}Zusammenfassung}{17}{section.3}}
|
\@writefile{toc}{\contentsline {section}{\numberline {3}Zusammenfassung}{17}{section.3}\protected@file@percent }
|
||||||
\@setckpt{sections/conclusion}{
|
\@setckpt{sections/conclusion}{
|
||||||
\setcounter{page}{18}
|
\setcounter{page}{18}
|
||||||
\setcounter{equation}{5}
|
\setcounter{equation}{5}
|
||||||
@@ -24,12 +24,12 @@
|
|||||||
\setcounter{pagesLTS.pagenr}{17}
|
\setcounter{pagesLTS.pagenr}{17}
|
||||||
\setcounter{pagesLTS.current.local.0}{1}
|
\setcounter{pagesLTS.current.local.0}{1}
|
||||||
\setcounter{pagesLTS.pnc.0}{0}
|
\setcounter{pagesLTS.pnc.0}{0}
|
||||||
|
\setcounter{section@level}{1}
|
||||||
\setcounter{Item}{0}
|
\setcounter{Item}{0}
|
||||||
\setcounter{Hfootnote}{2}
|
\setcounter{Hfootnote}{2}
|
||||||
\setcounter{bookmark@seq@number}{15}
|
\setcounter{bookmark@seq@number}{15}
|
||||||
\setcounter{lstnumber}{2}
|
\setcounter{lstnumber}{2}
|
||||||
\setcounter{pagesLTS.arabic.1.local.cnt}{17}
|
\setcounter{pagesLTS.arabic.1.local.cnt}{17}
|
||||||
\setcounter{section@level}{1}
|
|
||||||
\setcounter{lstlisting}{11}
|
\setcounter{lstlisting}{11}
|
||||||
\setcounter{pagesLTS.pnc.arabic}{1}
|
\setcounter{pagesLTS.pnc.arabic}{1}
|
||||||
\setcounter{pagesLTS.double.arabic}{1}
|
\setcounter{pagesLTS.double.arabic}{1}
|
||||||
|
|||||||
@@ -1,23 +1,23 @@
|
|||||||
\relax
|
\relax
|
||||||
\providecommand\hyper@newdestlabel[2]{}
|
\providecommand\hyper@newdestlabel[2]{}
|
||||||
\@writefile{toc}{\contentsline {section}{\numberline {1}Einleitung}{3}{section.1}}
|
\@writefile{toc}{\contentsline {section}{\numberline {1}Einleitung}{3}{section.1}\protected@file@percent }
|
||||||
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Harry Potter ohne magischen Tarnumhang}}{3}{figure.1}}
|
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces Harry Potter ohne magischen Tarnumhang}}{3}{figure.1}\protected@file@percent }
|
||||||
\newlabel{fig:harry1}{{1}{3}{Harry Potter ohne magischen Tarnumhang}{figure.1}{}}
|
\newlabel{fig:harry1}{{1}{3}{Harry Potter ohne magischen Tarnumhang}{figure.1}{}}
|
||||||
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Harry Potter mit magischem Tarnumhang}}{3}{figure.2}}
|
\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Harry Potter mit magischem Tarnumhang}}{3}{figure.2}\protected@file@percent }
|
||||||
\newlabel{fig:harry2}{{2}{3}{Harry Potter mit magischem Tarnumhang}{figure.2}{}}
|
\newlabel{fig:harry2}{{2}{3}{Harry Potter mit magischem Tarnumhang}{figure.2}{}}
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Vorbereitung}{4}{subsection.1.1}}
|
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Vorbereitung}{4}{subsection.1.1}\protected@file@percent }
|
||||||
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Programmierumgebung in PyCharm}}{4}{figure.3}}
|
\@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces Programmierumgebung in PyCharm}}{4}{figure.3}\protected@file@percent }
|
||||||
\newlabel{fig:pycharm}{{3}{4}{Programmierumgebung in PyCharm}{figure.3}{}}
|
\newlabel{fig:pycharm}{{3}{4}{Programmierumgebung in PyCharm}{figure.3}{}}
|
||||||
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Programmierumgebung}{5}{subsection.1.2}}
|
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}Programmierumgebung}{5}{subsection.1.2}\protected@file@percent }
|
||||||
\newlabel{sec:Programmierumgebung}{{1.2}{5}{Programmierumgebung}{subsection.1.2}{}}
|
\newlabel{sec:Programmierumgebung}{{1.2}{5}{Programmierumgebung}{subsection.1.2}{}}
|
||||||
\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces Argumente f\"ur die Programmausf\"uhrung}}{5}{table.1}}
|
\@writefile{lot}{\contentsline {table}{\numberline {1}{\ignorespaces Argumente f\"ur die Programmausf\"uhrung}}{5}{table.1}\protected@file@percent }
|
||||||
\newlabel{tab:parameter}{{1}{5}{Argumente f<>r die Programmausf<73>hrung}{table.1}{}}
|
\newlabel{tab:parameter}{{1}{5}{Argumente f<>r die Programmausf<73>hrung}{table.1}{}}
|
||||||
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Run Configuration in PyCharm}}{5}{figure.4}}
|
\@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces Run Configuration in PyCharm}}{5}{figure.4}\protected@file@percent }
|
||||||
\newlabel{fig:run_config}{{4}{6}{Run Configuration in PyCharm}{figure.4}{}}
|
\newlabel{fig:run_config}{{4}{6}{Run Configuration in PyCharm}{figure.4}{}}
|
||||||
\newlabel{lst:code2}{{1}{6}{Eigener Algorithmus in \textit {your\_algorithm.py}}{lstlisting.1}{}}
|
\newlabel{lst:code2}{{1}{6}{Eigener Algorithmus in \textit {your\_algorithm.py}}{lstlisting.1}{}}
|
||||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {1}Eigener Algorithmus in \textit {your\_algorithm.py}}{6}{lstlisting.1}}
|
\@writefile{lol}{\contentsline {lstlisting}{\numberline {1}Eigener Algorithmus in \textit {your\_algorithm.py}}{6}{lstlisting.1}\protected@file@percent }
|
||||||
\newlabel{lst:code1}{{2}{7}{Verlinkung der Algorithmen in \textit {\_\_init\_\_.py}}{lstlisting.2}{}}
|
\newlabel{lst:code1}{{2}{7}{Verlinkung der Algorithmen in \textit {\_\_init\_\_.py}}{lstlisting.2}{}}
|
||||||
\@writefile{lol}{\contentsline {lstlisting}{\numberline {2}Verlinkung der Algorithmen in \textit {\_\_init\_\_.py}}{7}{lstlisting.2}}
|
\@writefile{lol}{\contentsline {lstlisting}{\numberline {2}Verlinkung der Algorithmen in \textit {\_\_init\_\_.py}}{7}{lstlisting.2}\protected@file@percent }
|
||||||
\@setckpt{sections/overview}{
|
\@setckpt{sections/overview}{
|
||||||
\setcounter{page}{8}
|
\setcounter{page}{8}
|
||||||
\setcounter{equation}{0}
|
\setcounter{equation}{0}
|
||||||
@@ -41,12 +41,12 @@
|
|||||||
\setcounter{pagesLTS.pagenr}{17}
|
\setcounter{pagesLTS.pagenr}{17}
|
||||||
\setcounter{pagesLTS.current.local.0}{1}
|
\setcounter{pagesLTS.current.local.0}{1}
|
||||||
\setcounter{pagesLTS.pnc.0}{0}
|
\setcounter{pagesLTS.pnc.0}{0}
|
||||||
|
\setcounter{section@level}{2}
|
||||||
\setcounter{Item}{0}
|
\setcounter{Item}{0}
|
||||||
\setcounter{Hfootnote}{2}
|
\setcounter{Hfootnote}{2}
|
||||||
\setcounter{bookmark@seq@number}{3}
|
\setcounter{bookmark@seq@number}{3}
|
||||||
\setcounter{lstnumber}{10}
|
\setcounter{lstnumber}{10}
|
||||||
\setcounter{pagesLTS.arabic.1.local.cnt}{17}
|
\setcounter{pagesLTS.arabic.1.local.cnt}{17}
|
||||||
\setcounter{section@level}{2}
|
|
||||||
\setcounter{lstlisting}{2}
|
\setcounter{lstlisting}{2}
|
||||||
\setcounter{pagesLTS.pnc.arabic}{1}
|
\setcounter{pagesLTS.pnc.arabic}{1}
|
||||||
\setcounter{pagesLTS.double.arabic}{1}
|
\setcounter{pagesLTS.double.arabic}{1}
|
||||||
|
|||||||
@@ -19,6 +19,9 @@ class InvisCloak (Algorithm):
|
|||||||
# Includes noice reduction and histogram spread
|
# Includes noice reduction and histogram spread
|
||||||
self.middle_value_picture = None
|
self.middle_value_picture = None
|
||||||
|
|
||||||
|
# Buffer for background image
|
||||||
|
self.background = None
|
||||||
|
|
||||||
# Clean up results folder
|
# Clean up results folder
|
||||||
folder_path = os.path.join("results")
|
folder_path = os.path.join("results")
|
||||||
|
|
||||||
@@ -78,6 +81,7 @@ class InvisCloak (Algorithm):
|
|||||||
elif event == cv2.EVENT_MBUTTONUP:
|
elif event == cv2.EVENT_MBUTTONUP:
|
||||||
# Save current image as background
|
# Save current image as background
|
||||||
cv2.imwrite(f"results/background.png", self.picture_buffer[self.n - 1])
|
cv2.imwrite(f"results/background.png", self.picture_buffer[self.n - 1])
|
||||||
|
self.background = cv2.imread("results/background.png")
|
||||||
|
|
||||||
|
|
||||||
def _plotNoise(self, img, name:str):
|
def _plotNoise(self, img, name:str):
|
||||||
@@ -172,29 +176,23 @@ class InvisCloak (Algorithm):
|
|||||||
Hier steht Ihr Code zu Aufgabe 2.3.1 (StatischesSchwellwertverfahren)
|
Hier steht Ihr Code zu Aufgabe 2.3.1 (StatischesSchwellwertverfahren)
|
||||||
- Binärmaske erstellen
|
- Binärmaske erstellen
|
||||||
"""
|
"""
|
||||||
# 0 = blue, 1 = green, 2 = red
|
# Convert BGR -> HSV
|
||||||
selected_color_channel = 2
|
hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
|
||||||
|
|
||||||
# Color threshold values for color deletion
|
# Area 1: H = 0-10 (strong Rot)
|
||||||
lower_bound, upper_bound = 100, 255
|
lower_red1 = np.array([0, 100, 50])
|
||||||
|
upper_red1 = np.array([0, 255, 255])
|
||||||
|
|
||||||
# Creating binary mask
|
# Area 2: H = 169-179 (red-violet)
|
||||||
binary_mask = (lower_bound < img[:, :, selected_color_channel]) * (img[:, :, selected_color_channel] < upper_bound)
|
lower_red2 = np.array([171, 100, 50])
|
||||||
|
upper_red2 = np.array([179, 255, 255])
|
||||||
|
|
||||||
# Store binary mask to results folder
|
# Create binary mask for both red areas
|
||||||
if save_binary_mask:
|
mask1 = cv2.inRange(hsv, lower_red1, upper_red1)
|
||||||
cv2.imwrite(f"results/{datetime.datetime.now().strftime('%Y-%m-%d_%H:%M:%S')}_binary_mask.png",
|
mask2 = cv2.inRange(hsv, lower_red2, upper_red2)
|
||||||
binary_mask * 256)
|
|
||||||
|
|
||||||
try:
|
|
||||||
# Get background image
|
|
||||||
background = cv2.imread("results/background.png")
|
|
||||||
|
|
||||||
# Apply mask to image
|
|
||||||
img[binary_mask] = background[binary_mask]
|
|
||||||
except:
|
|
||||||
print("No background image")
|
|
||||||
|
|
||||||
|
# Combine both masks
|
||||||
|
mask = cv2.bitwise_or(mask1, mask2)
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Hier steht Ihr Code zu Aufgabe 2.3.2 (Binärmaske)
|
Hier steht Ihr Code zu Aufgabe 2.3.2 (Binärmaske)
|
||||||
@@ -202,12 +200,42 @@ class InvisCloak (Algorithm):
|
|||||||
- Wahl größte zusammenhängende Region
|
- Wahl größte zusammenhängende Region
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
# Optimizing mask with opening and closing
|
||||||
|
kernel = np.ones((5, 5), np.uint8)
|
||||||
|
|
||||||
|
mask = cv2.morphologyEx(mask, cv2.MORPH_OPEN, kernel)
|
||||||
|
mask = cv2.morphologyEx(mask, cv2.MORPH_CLOSE, kernel)
|
||||||
|
|
||||||
|
# Select biggest connected area
|
||||||
|
cnts, _ = cv2.findContours(mask, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
|
||||||
|
|
||||||
|
if cnts:
|
||||||
|
c = max(cnts, key=cv2.contourArea)
|
||||||
|
new_mask = np.zeros_like(mask)
|
||||||
|
cv2.drawContours(new_mask, [c], -1, color = 255, thickness = -1)
|
||||||
|
mask = new_mask
|
||||||
|
else:
|
||||||
|
mask = np.zeros_like(mask)
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Hier steht Ihr Code zu Aufgabe 2.3.1 (Bildmodifizerung)
|
Hier steht Ihr Code zu Aufgabe 2.3.3 (Bildmodifizerung)
|
||||||
- Hintergrund mit Mausklick definieren
|
- Hintergrund mit Mausklick definieren
|
||||||
- Ersetzen des Hintergrundes
|
- Ersetzen des Hintergrundes
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
# Return image if no background is set
|
||||||
|
if self.background is None:
|
||||||
return img
|
return img
|
||||||
|
|
||||||
|
# 3-channel mask for binary operations
|
||||||
|
mask_3ch = cv2.cvtColor(mask, cv2.COLOR_GRAY2BGR)
|
||||||
|
|
||||||
|
# Background are: Get from save background image
|
||||||
|
background_part = cv2.bitwise_and(self.background, mask_3ch)
|
||||||
|
|
||||||
|
# Foreground area: Extract from current image
|
||||||
|
foreground_part = cv2.bitwise_and(img, cv2.bitwise_not(mask_3ch))
|
||||||
|
|
||||||
|
# Merge both areas
|
||||||
|
output = cv2.add(background_part, foreground_part)
|
||||||
|
return output
|
||||||
|
|||||||
Reference in New Issue
Block a user