bildverarbeitung-etit-cheat.../main.typ

357 lines
8.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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)
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")
)
#image("res/perspective-001.png")
#grid(
columns: 3 * (1fr,),
align: center,
[entozentrische Perspektive],
[telezentrische Perspektive],
[hyperzentrische Perspektive]
)
*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
#pagebreak()
*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
*Farbvalenz*: Beschreibung des Farbeindrucks mit 3 Dimensionen
*Metamer*: verschiedene Farbreize (Spektren) mit identischer Farbvalez (Orange = Rot + Gelb)
#grid(
columns: 2,
[
*Weißpunkt*: $x = y = 1 / 3$
*Spektralfarbenkurve*: Rad
*Purpurlinie*: untere Linie
*additive Mischung*: alle Farben in der konvexen Hülle der zu mischenden Punkte
],
image(height: 200pt, "res/color-001.jpg")
)
*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
#pagebreak()
*Histogramm-Spreizung*
#align(center, image(
height: 80pt,
"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)$
*Radon-Transformation* (finde geradenhafte Strukturen; Winkel $phi$ = x, Distanz u = y)
#pad(bottom: 15pt, align(center,grid(
columns: 2,
rows: 100pt,
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[ ]
),
)
#v(-1cm)
*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: 5cm, "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"
)
)
#grid(
columns: 2,
[
$
B_1 / b = (a / 2 - G) / g, - B_2 / b = (a / 2 + G) / g
$
Daraus erhält man die Disparität (Parallaxe):
$
p := B_1 - B_2 = (a b) / g
$
],
image("res/stereo-001.png")
)
Zeichne Lichtschnittverfahren
Maßnahmen gegen Störlichtunterdrückung