Compare commits
6 commits
ff92e4f571
...
6e18c386fb
Author | SHA1 | Date | |
---|---|---|---|
|
6e18c386fb | ||
|
81b2b1aab2 | ||
|
fa59a00619 | ||
|
d68ca28426 | ||
|
419b39447e | ||
|
c51471b803 |
381
etit-bildverarbeitung-cheatsteet/main.typ
Normal file
|
@ -0,0 +1,381 @@
|
||||||
|
#show link: it => [#text(blue)[#underline[#it]]]
|
||||||
|
|
||||||
|
#set page(
|
||||||
|
header: box(width: 1fr, stroke: (bottom: 1pt), outset: (bottom: 3pt), [
|
||||||
|
#smallcaps[Bildverarbeitung]
|
||||||
|
#h(1fr)
|
||||||
|
_Gero Beckmann_
|
||||||
|
]),
|
||||||
|
footer: [
|
||||||
|
#h(1fr)
|
||||||
|
#link("https://source.orangerot.dev/University/bildverarbeitung-etit-cheatsheet")
|
||||||
|
]
|
||||||
|
)
|
||||||
|
#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 Farbvalenz? Woher kommt die Repräsentation?
|
||||||
|
Was sind metamere Farbreize?
|
||||||
|
Welcher Farbraum eignet 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ärfentiefe/dünnes Loch (theoretisch)
|
||||||
|
],
|
||||||
|
[
|
||||||
|
#emph([Nachteile])
|
||||||
|
- wenig Licht zum Sensor; lange Belichtung
|
||||||
|
- Loch nicht unendlich 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: Reflexionsgesetz gilt unabhängig der Wellenlänge
|
||||||
|
- Monochromatisches Licht
|
||||||
|
|
||||||
|
#pagebreak()
|
||||||
|
|
||||||
|
#grid(
|
||||||
|
columns: 2,
|
||||||
|
column-gutter: 2cm,
|
||||||
|
[
|
||||||
|
*Photometrie*: objektive Größen, Physikalisch \
|
||||||
|
*Radiometrie*: subjektive Größen; sichtbares Licht
|
||||||
|
|
||||||
|
*photopisch* (Tag): am besten (MAX) bei 555nm \
|
||||||
|
*skotopisch* (Nacht): am besten (MAX) bei 500nm
|
||||||
|
],
|
||||||
|
[
|
||||||
|
*Rezeptoren Auge*
|
||||||
|
- L-Zapfen (Rot-Rezeptoren)
|
||||||
|
- M-Zapfen (Grün-Rezeptoren)
|
||||||
|
- S-Zapfen (Blau-Rezeptoren)
|
||||||
|
- Stäbchen (Licht)
|
||||||
|
]
|
||||||
|
)
|
||||||
|
|
||||||
|
Warum keine Rot-Grün Valenz
|
||||||
|
Sinnesreize der Zapfen werden zu kombinierten Nervensignalen 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 Farbvalenz (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
|
||||||
|
|
||||||
|
*CIELAB* zur Farbabtastung \
|
||||||
|
Helligkeit $L^* = root(3, Y)$ \
|
||||||
|
$a^*$: Rot-Grün \
|
||||||
|
$b^*$: Gelb-Blau
|
||||||
|
],
|
||||||
|
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 Adressierbar (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ängs Geraden mit Parametern u (Ursprungsabstand)
|
||||||
|
und $phi$ (Winkel) 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 Maximum 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-Loève-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,
|
||||||
|
footer: 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 Triangulation 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
|
||||||
|
- Abdunkeln
|
||||||
|
- Monochromatisches Licht
|
||||||
|
- Referenzaufnahme des Störlichts
|
||||||
|
|
BIN
etit-bildverarbeitung-cheatsteet/res/color-001.jpg
Normal file
After Width: | Height: | Size: 428 KiB |
BIN
etit-bildverarbeitung-cheatsteet/res/dunkelfeld-001.jpg
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
etit-bildverarbeitung-cheatsteet/res/histogramm-001.jpg
Normal file
After Width: | Height: | Size: 112 KiB |
BIN
etit-bildverarbeitung-cheatsteet/res/hough-001.jpg
Normal file
After Width: | Height: | Size: 97 KiB |
BIN
etit-bildverarbeitung-cheatsteet/res/hough-002.jpg
Normal file
After Width: | Height: | Size: 111 KiB |
BIN
etit-bildverarbeitung-cheatsteet/res/images-000.jpg
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
etit-bildverarbeitung-cheatsteet/res/images-001.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
etit-bildverarbeitung-cheatsteet/res/images-002.png
Normal file
After Width: | Height: | Size: 230 KiB |
BIN
etit-bildverarbeitung-cheatsteet/res/images-003.png
Normal file
After Width: | Height: | Size: 421 KiB |
BIN
etit-bildverarbeitung-cheatsteet/res/images-004.png
Normal file
After Width: | Height: | Size: 531 KiB |
BIN
etit-bildverarbeitung-cheatsteet/res/images-005.png
Normal file
After Width: | Height: | Size: 84 KiB |
BIN
etit-bildverarbeitung-cheatsteet/res/images-006.png
Normal file
After Width: | Height: | Size: 336 KiB |
BIN
etit-bildverarbeitung-cheatsteet/res/images-007.png
Normal file
After Width: | Height: | Size: 164 KiB |
BIN
etit-bildverarbeitung-cheatsteet/res/images-008.png
Normal file
After Width: | Height: | Size: 248 KiB |
BIN
etit-bildverarbeitung-cheatsteet/res/images-009.png
Normal file
After Width: | Height: | Size: 281 KiB |
BIN
etit-bildverarbeitung-cheatsteet/res/images-010.png
Normal file
After Width: | Height: | Size: 142 KiB |
BIN
etit-bildverarbeitung-cheatsteet/res/lense-001.png
Normal file
After Width: | Height: | Size: 286 KiB |
BIN
etit-bildverarbeitung-cheatsteet/res/morphologie-001.png
Normal file
After Width: | Height: | Size: 267 KiB |
BIN
etit-bildverarbeitung-cheatsteet/res/perspective-001.png
Normal file
After Width: | Height: | Size: 246 KiB |
BIN
etit-bildverarbeitung-cheatsteet/res/stereo-001.png
Normal file
After Width: | Height: | Size: 224 KiB |
BIN
etit-bildverarbeitung-cheatsteet/res/triangulation-001.jpg
Normal file
After Width: | Height: | Size: 227 KiB |