summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOrangerot <purple@orangerot.dev>2024-08-05 16:59:57 +0200
committerOrangerot <purple@orangerot.dev>2024-08-05 16:59:57 +0200
commitdf13db4fc33b034a2912519d6e5afc46ace554d8 (patch)
tree176b681361af94ccc8be968e3a5eca026fc164ee
Initial Commit
-rw-r--r--.gitignore1
-rw-r--r--main.typ329
-rw-r--r--res/dunkelfeld-001.jpgbin0 -> 59330 bytes
-rw-r--r--res/histogramm-001.jpgbin0 -> 114181 bytes
-rw-r--r--res/hough-001.jpgbin0 -> 99571 bytes
-rw-r--r--res/hough-002.jpgbin0 -> 113591 bytes
-rw-r--r--res/images-000.jpgbin0 -> 29948 bytes
-rw-r--r--res/images-001.pngbin0 -> 13918 bytes
-rw-r--r--res/images-002.pngbin0 -> 235869 bytes
-rw-r--r--res/images-003.pngbin0 -> 431420 bytes
-rw-r--r--res/images-004.pngbin0 -> 543738 bytes
-rw-r--r--res/images-005.pngbin0 -> 86015 bytes
-rw-r--r--res/images-006.pngbin0 -> 344553 bytes
-rw-r--r--res/images-007.pngbin0 -> 168442 bytes
-rw-r--r--res/images-008.pngbin0 -> 254188 bytes
-rw-r--r--res/images-009.pngbin0 -> 288151 bytes
-rw-r--r--res/images-010.pngbin0 -> 145874 bytes
-rw-r--r--res/lense-001.pngbin0 -> 292755 bytes
-rw-r--r--res/morphologie-001.pngbin0 -> 273853 bytes
-rw-r--r--res/triangulation-001.jpgbin0 -> 232892 bytes
20 files changed, 330 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a136337
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+*.pdf
diff --git a/main.typ b/main.typ
new file mode 100644
index 0000000..ee5bc46
--- /dev/null
+++ b/main.typ
@@ -0,0 +1,329 @@
+#set page(
+ header: [
+ Bildverarbeitung
+ #h(1fr) Gero Beckmann
+ ]
+)
+#set heading(numbering: "1.1")
+#show heading: it => [
+ Aufgabe #counter(heading).display(): #it.body
+]
+
+= Allgemeine Fragen #h(1fr) (20 P)
+
++ Farbvalenz
++ Metamer
++ Farbräume
++ Ursprungspunke
+
+Wie viele Dimensionen hat eine Farbvalent? Woher kommt die Repräsantation?
+Was sind metamere Farbreize?
+Welcher Farbraum eigent sich zur Farbabstandsmessung?
+
+*Abtasttheorem nach Shannon*
+$f_max$ bandbegrenztes Signal aus einer Folge von äquidistanten Abtastwerten
+exakt rekonstruiert werden kann, wenn es mit einer Frequenz von größer gleich
+$2 dot f_max$ abgetastet wurde.
+
+== Lochkamera
+
+#grid(
+ columns: (1fr, 1fr),
+ [
+ #emph([Vorteile])
+ - unendliche Schärfetiefe/dünnes Loch (theoretisch)
+ ],
+ [
+ #emph([Nachteile])
+ - wenig Licht zum Sensor; lange Belichtung
+ - Loch nicht unentlich dünn $->$ Unschärfescheibchen
+ - Beugung an Blende
+ ]
+)
+
+
+#grid(
+columns: 2,
+[
+Abbildungsformel $1 / f = 1 / g + 1 / b$
+
+Vergrößerung
+$V = "Bildgröße" / "Objektivgröße" = − b / z_c = − b / g = − f / (g − f) = − 1 / (q / f − 1)$
+],
+image("res/lense-001.png")
+)
+
+*Chromatische Aberration*: unterschiedliche Wellenlängen werden unterschiedlich
+gebrochen.
+- Linsensystem aus zwei/drei Linsen $−>$ Brennpunkte der Wellenlängen stimmen überein
+- Spiegeloptiken: Reflektionsgesetz gilt unabhängig der Wellenlänge
+- Monochromatisches Licht
+
+Vor/Nachteil telezentrisches Objektiv
+
+*Photometrie* objektive Größen, Physikalisch
+
+*Radiometrie* subjektive Größen; sichtbares Licht
+
+Rezeptoren Auge
+- L-Zapfen (Rot-Rezeptoren)
+- M-Zapfen (Grün-Rezeptoren)
+- S-Zapfen (Blau-Rezeptoren)
+- Stäbchen (Licht)
+
+Warum keine Rot-Grün Valenz
+Sonnesreize der Zapfen werden zu kombinierten Nergensignalen kombiniert
+(Rot-Grün, Blau-Gelb verschmieren)
+- R-G Chromanz
+- Luminanz
+- B-Y Chromanz
+
+*CMOS vs CCD*
+2 Vorteile + 2 Nachteile
+#table(
+ columns: (1fr, 1fr),
+ table.header([*CMOS*], [*CCD*]),
+ [
+ Vorteile
+ #set list(marker: [+])
+ - frei Addressierbar (schnelle Teilbilder)
+ - hoher Dynamikbereich
+ - geringer Energiebedarf
+ - geringe Herstellungskosten
+ - hohe Dichte (geringe Baugröße)
+ ],
+ [
+ Vorteile
+ #set list(marker: [+])
+ - lineare Charakteristik
+ - Sättigung
+ ],
+ [
+ Nachteile
+ #set list(marker: [-])
+ - Empfindlichkeitsunterschiede in Pixeln (kalibrierbar)
+ - Verstärkungsunterschiede in Pixeln (kalibrierbar)
+ - hoher Dunkelstrom
+ ],
+ [
+ Nachteile
+ #set list(marker: [-])
+ - *Blooming*: Überlaufen der Ladung in (vertikalen) Nachbarzellen
+ - *Smear*: Belichtung während des Verschieben der Ladung
+ ]
+)
+Dunkelstrom: falsches Bildsignal durch thermisches Rauschen; durch kühlen beheben
+
+Welche markante Merkmale zur Segmentierung?
+
+*Histogramm-Spreizung*
+
+#image("res/histogramm-001.jpg")
+
+Histogramm ausreichen, zeichnen
+
+$
+hat(P)_i = 1 / "MN" sum^(M-1)^(m=0) sum^(N-1)_(n=0) delta^(q_i)_(g_"mn"),
+i=0,...,K-1
+"Kronecker-Delta: " delta^b_a := cases(1 "für" a = b, 0 "für" a != b)
+$
+
+Histogramm-Spreizung Formen
+
+$gamma(g) = (g - g_min) (q_(k-1) - q_0) / (g_max - g_min) + q_0 $
+
+$gamma(g_min) = q_0, gamma(g_max) = q_(K-1)$
+
+Nächste Nachbar Berechnen
+Bilineaer Berechnen
+Median Filter berechnen / erklären
+
+*Radon-Transformation* (finde geradenhafte Strukturen; Winkel $phi$ = x, Distanz u = y)
+
+#pad(bottom: 15pt, align(center,grid(
+ columns: 2,
+ rows: 120pt,
+ column-gutter: 40pt,
+ figure(image("res/hough-001.jpg"), caption: [Originalbild]),
+ figure(image("res/hough-002.jpg"), caption: [Hough-Transformation])
+)))
+
+$
+g(u, phi) = R{g(x)} := integral.double^inf_inf g(x) delta(x^T e_phi - u) dif x
+" ,mit" phi in [0, pi), u in R, e_phi = vec(cos phi, sin phi)
+$
+
+Integrationsgerade $phi$-Gerade:
+$delta(x^T e_phi - u) = cases(inf "für" x^T e_phi - u = 0, 0 "für" x^T e_phi - u != 0)$
+sorgt dafür. dass Bildwerte längt Geraden mit Parametern u (Ursprungtabstand)
+und $phi$ (Wunkel) aufintegriert werden.
+
+Enthält $g(x)$ eine $delta$-Gerade $delta(v^T u_phi_0 - u_0)$, so zeigt $g(u,
+phi)$ ein ausgeprägtes Maxtmum bei $phi = phi_0, u = u_0$
+
+*Hough-Transformation* Radon-Transformation für Binärbilder
+
+Für jeden gesetzten Bildpunkt $g(x) = 1$ wird die Geradengleichung $x^T e_phi - u = 0$
+ausgewertet: \ $u = x^T e_phi = x cos phi + y sin phi$
+
+#set box(inset: 4pt)
+
+#grid(
+ columns: 3 * (1fr,),
+ grid(
+ columns: 5,
+ box[ ], box[2], rect[1], rect[0], rect[0],
+ box[y], box[1], rect[0], rect[1], rect[0],
+ box[ ], box[0], rect[0], rect[0], rect[1],
+ box[ ], box[ ], box[0], box[1], box[2],
+ box[ ], box[ ], box[ ], box[x], box[ ],
+ ),
+ table(
+ columns: 5,
+ table.header([$x$ \\ $phi$], $0$, $pi / 6$, $pi / 3$, $pi / 2$),
+ $(2,0)^T$, $2$, $2$, $1$, $0$,
+ $(1,1)^T$, $1$, $1$, $1$, $1$,
+ $(0,2)^T$, $0$, $1$, $2$, $2$
+ ),
+ grid(
+ columns: 6,
+ box[ ], box[3], rect[0], rect[0], rect[0], rect[0],
+ box[ ], box[2], rect[1], rect[1], rect[1], rect[1],
+ box[y], box[1], rect[1], rect[2], rect[2], rect[1],
+ box[ ], box[0], rect[0], rect[0], rect[0], rect[1],
+ box[ ], box[ ], box[0], box[$pi/6$], box[$pi/3$], box[$pi/2$],
+ box[ ], box[ ], box[ ], box[x], box[ ], box[ ]
+ ),
+)
+
+Was in Schatten, was in Sonne
+
+
+*Karhunen-Loeve-Transformation* \
+(reduziere Korrelation zwischen Kanälen zu einem mit viel Information)
+- Schätzung der Kovarianzmatrix $C_"gg"$ der Farbwerte
+- Lösung des Eigenwertproblems
+- zeilenweise Anordnung der Eigenvektoren in absteigender Reihenfolge der
+ Eigenwerte $A$
+- Subtraktion des mittleren Farbwertes und Transformation $k = A(g - mu_g)$
+
+
+#image(height: 6cm, "res/morphologie-001.png")
+Rand-Extraktion: $G without (G minus.circle S)$
+
+#page(
+ header: none,
+ margin: (y: 15pt)
+)[
+= Bilder zuordnen #h(1fr) (20 P)
+#grid(
+ columns: (1fr, 1fr),
+ column-gutter: 40pt,
+ table(
+ image("res/images-001.png"),
+ [Schwellenwert (Binarisierung)],
+ [$ cases(1 "für" g(x) > gamma, 0 "sonst") $]
+ ),
+ table(
+ image("res/images-002.png"),
+ [Invertierung],
+ [$ max(g(x)) - g(x)$]
+ ),
+ table(
+ image("res/images-003.png"),
+ [Betragsspektrum],
+ [$abs(integral.double g(x) e^(-j 2 x f^T x) dif x )$]
+ ),
+ table(
+ image("res/images-004.png"),
+ [Verrauschung (additiv, normalverteilt)],
+ [$ g(x) + e(x), e(x) ~ N(0, sigma^2)$]
+ ),
+ table(
+ image("res/images-005.png"),
+ [Radon-Transformation],
+ [$integral.double g(x) delta(x^T e_phi - u) dif x$]
+ ),
+ table(
+ image("res/images-006.png"),
+ [Verschärfung],
+ [$4 dot g(x) - 3 dot "TP"{g(x)}$]
+ ),
+ table(
+ image("res/images-007.png"),
+ [Laplacian-of-Gaussian],
+ [$-Delta("TP"{g(x)})$]
+ ),
+ table(
+ image("res/images-008.png"),
+ [homomorphe Filterung],
+ [$exp("HP"{ln(g(x))})$]
+ ),
+ table(
+ image("res/images-009.png"),
+ [Gradientenbetrag],
+ [$sqrt(((partial g(x))/(partial x))^2 + ((partial g(x))/(partial y))^2)$]
+ ),
+ table(
+ image("res/images-010.png"),
+ [Fensterung (mit Hann-Fenster)],
+ [$g(x) dot w_"Hann"(x)$]
+ ),
+ )
+ ]
+
+= Filterung #h(1fr) (10 P)
+
+= Lichtschnittverfahren / Triangulation #h(1fr) (30 P)
+
+Wie muss Oberflöche beschaffen sein, damit Triangulaton berechnet werden kann?
+
+#grid(
+ columns: 2,
+ [
+Spiegelnde Oberfläche
+ Kein Licht gelangt auf den Sensor
+
+Teiltransparentes Objekt (Volumenstreuung)
+ Aufweitung des Lichtpunkts
+ Messunsicherheit steigt
+
+Abschattung des
+Beobachtungsstrahls
+ Kein Licht gelangt auf den Sensor
+
+Mehrfachreflexion bei teilspiegelndem Objekt
+ Zusätzliche, falsche Messpunkte
+ ],
+ image(height: 7cm, "res/triangulation-001.jpg")
+)
+
+
+#grid(
+ columns: 2,
+ column-gutter: 1cm,
+ pad(top: .5cm)[
+
+*Hellfeld*: Gerichtetes Licht, das (bei fehlerfreiem Objekt) direkt in die Kamera gelenkt wird
+
+*Dunkelfeld*: Gerichtetes Licht, das (bei fehlerfreiem Objekt) an der Kamera vorbei gelenkt wird
+
+*Rotkanal*: koaxiale Hellfeldbeleuchtung, liefert Transmission
+
+*Grünkanal*: streifende Beleuchtung in Dunkelfeldanordnung
+macht streuende Partikel auf der Oberfläche sichtbar
+
+*Blaukanal*: Dunkelfeld, macht Kratzer, Fusseln und Blasensichtbar
+
+],
+ image(
+ height: 6cm,
+ "res/dunkelfeld-001.jpg"
+ )
+)
+
+
+
+Zeichne Lichtschnittverfahren
+
+Maßnahmen gegen Störlichtunterdrückung
diff --git a/res/dunkelfeld-001.jpg b/res/dunkelfeld-001.jpg
new file mode 100644
index 0000000..0bf33c6
--- /dev/null
+++ b/res/dunkelfeld-001.jpg
Binary files differ
diff --git a/res/histogramm-001.jpg b/res/histogramm-001.jpg
new file mode 100644
index 0000000..1f3ea04
--- /dev/null
+++ b/res/histogramm-001.jpg
Binary files differ
diff --git a/res/hough-001.jpg b/res/hough-001.jpg
new file mode 100644
index 0000000..6ee0c90
--- /dev/null
+++ b/res/hough-001.jpg
Binary files differ
diff --git a/res/hough-002.jpg b/res/hough-002.jpg
new file mode 100644
index 0000000..2d00caa
--- /dev/null
+++ b/res/hough-002.jpg
Binary files differ
diff --git a/res/images-000.jpg b/res/images-000.jpg
new file mode 100644
index 0000000..9e86c73
--- /dev/null
+++ b/res/images-000.jpg
Binary files differ
diff --git a/res/images-001.png b/res/images-001.png
new file mode 100644
index 0000000..3530892
--- /dev/null
+++ b/res/images-001.png
Binary files differ
diff --git a/res/images-002.png b/res/images-002.png
new file mode 100644
index 0000000..2cca466
--- /dev/null
+++ b/res/images-002.png
Binary files differ
diff --git a/res/images-003.png b/res/images-003.png
new file mode 100644
index 0000000..611277a
--- /dev/null
+++ b/res/images-003.png
Binary files differ
diff --git a/res/images-004.png b/res/images-004.png
new file mode 100644
index 0000000..277e80a
--- /dev/null
+++ b/res/images-004.png
Binary files differ
diff --git a/res/images-005.png b/res/images-005.png
new file mode 100644
index 0000000..b600243
--- /dev/null
+++ b/res/images-005.png
Binary files differ
diff --git a/res/images-006.png b/res/images-006.png
new file mode 100644
index 0000000..ef7e418
--- /dev/null
+++ b/res/images-006.png
Binary files differ
diff --git a/res/images-007.png b/res/images-007.png
new file mode 100644
index 0000000..902301c
--- /dev/null
+++ b/res/images-007.png
Binary files differ
diff --git a/res/images-008.png b/res/images-008.png
new file mode 100644
index 0000000..88910c5
--- /dev/null
+++ b/res/images-008.png
Binary files differ
diff --git a/res/images-009.png b/res/images-009.png
new file mode 100644
index 0000000..ec9cdf7
--- /dev/null
+++ b/res/images-009.png
Binary files differ
diff --git a/res/images-010.png b/res/images-010.png
new file mode 100644
index 0000000..3919552
--- /dev/null
+++ b/res/images-010.png
Binary files differ
diff --git a/res/lense-001.png b/res/lense-001.png
new file mode 100644
index 0000000..199a8ee
--- /dev/null
+++ b/res/lense-001.png
Binary files differ
diff --git a/res/morphologie-001.png b/res/morphologie-001.png
new file mode 100644
index 0000000..6f70046
--- /dev/null
+++ b/res/morphologie-001.png
Binary files differ
diff --git a/res/triangulation-001.jpg b/res/triangulation-001.jpg
new file mode 100644
index 0000000..3e22cf0
--- /dev/null
+++ b/res/triangulation-001.jpg
Binary files differ