Zusammenfassung Digi- tale Bildverarbeitung
Zusammenfassung Digi- tale Bildverarbeitung
Zusammenfassung Digi- tale Bildverarbeitung
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong>, Prof. Dr. Gitta Domik, <strong>Zusammenfassung</strong> v. Florian Schoppmann<br />
Das Copyright für die dieser <strong>Zusammenfassung</strong> zugrunde liegenden Vorlesungsunterlagen (Skripte, Folien, etc.) liegt beim Dozenten.<br />
Darüber hinaus bin ich, Florian Schoppmann, alleiniger Autor dieses Dokuments und der genannte Dozent ist in keiner Weise verantwortlich.<br />
Etwaige Inkorrektheiten sind mit sehr großer Wahrscheinlichkeit erst durch meine <strong>Zusammenfassung</strong>/Interpretation entstanden.<br />
<strong>Zusammenfassung</strong> <strong>Digi</strong><strong>tale</strong><br />
<strong>Bildverarbeitung</strong><br />
1. Einführung<br />
Geschichtliches:<br />
Ab den 1920ern: Bartlane Cable Picture Transmission<br />
mit ca. 5 Graustufen, Übertragung eines Bildes<br />
von New York nach London in ausreichender<br />
Druckqualität in 3 Stunden<br />
(Erst) ab den 1960ern: Wissenschaftliche Disziplin<br />
durch Weltraumprogramm<br />
Anwendungen: Medizin (Röntgenbilder), Fotografie<br />
(Störungen entfernen), Vermessung der Erde,<br />
etc.<br />
Schritte bei der <strong>Bildverarbeitung</strong>:<br />
Image Acquisition Bilderfassung mit Sensor. Aktiv<br />
(Messung der Reflektionen ausgestrahlter Wellen)<br />
oder passiv (ausschließlich Messung von<br />
Wellen von Objekten des Sichtbereichs)<br />
Image Enhancement<br />
Image Restauration<br />
Color Image Processing<br />
Wavelets and Multiresolution Processing<br />
Compression<br />
Morphological Processing<br />
Segmentation Einteilen des Bildes in überlappende<br />
oder nicht-überlappende Teile<br />
Representation & Description Segmente und Bilder<br />
werden weiter manipuliert, um den Inhalt<br />
der Bilder so zu charakterisieren, dass Erkennung<br />
und Interpretation unterstützt werden<br />
Object Recognition Der eigentlich Seh-Teil der<br />
Verarbeitung. Herstellung semantischer Informationen.<br />
Wellenlängen des Lichtes:<br />
400 - 420 nm Violett 575 - 585 nm Gelb<br />
420 - 490 nm Blau 585 - 650 nm Orange<br />
490 - 575 nm Grün 650 - 750 nm Rot<br />
Farbmodelle: RGB, CMY(K), HIS (Hue-<br />
Intensity-Saturation, als Zylinder), HLS (Hue-<br />
Luminance-Saturation, als Doppelkegel), HSV<br />
(Hue-Saturation-Value, als Kegel)<br />
Menschlicher<br />
Sehsinn:<br />
Zäpfchen: Teil<br />
des menschlichen<br />
Auges zur Wahrnehmung<br />
von<br />
Farbe<br />
Stäbchen: Wahrnehmung<br />
von<br />
Helligkeit<br />
Mach-Band-Effekt:<br />
Sinnesphänomen;<br />
an Grenze zwischen<br />
heller und dunklen Fläche erscheint auf<br />
heller Seite ein schmales Band, welches noch heller<br />
ist. Entsprechend auf der dunklen Seite.<br />
2. Rasterung und Quantisierung<br />
Darstellung eines Bildes als 2-stellige Funktion f :<br />
M × N −→]0, ∞[, wobei M := {1, . . . , m}, N resp.<br />
Aufteilung in Beleuchtungs- und Reflektionskompontenten<br />
I : M×N −→]0, ∞[, J : M×N −→]0, 1[.<br />
Es gelte dabei f = I · J.<br />
I gibt den Grauwert eines Pixels an.<br />
Aliasing: Allgemeine Definition: Alias-Effekte sind<br />
durch die Verletzung des Abtasttheorems (siehe<br />
nachfolgenden Absatz) auftretende Fehler beim<br />
Abtasten von Signalen.<br />
Auswirkungen bei der <strong>Bildverarbeitung</strong>: Moiré-<br />
Muster, Treppeneffekte an harten Kanten, Verschwinden<br />
von Strukturen, die dünner als 1 Pixel<br />
sind, etc.<br />
(Nyquist-Shannon’sches) Abtasttheorem: Ein kontinuierliches<br />
Signal mit einer Maximalfrequenz<br />
fmax muss mit einer Frequenz größer als 2 · fmax<br />
abgetastet werden, damit man aus dem so erhaltenen<br />
zeitdiskreten Signal das Ursprungssignal ohne<br />
Informationsverlust wieder rekonstruieren kann.<br />
Anti-Aliasing: Entweder feinere Auflösung bei Rasterung<br />
wählen: Jede Struktur durch mindestens 2<br />
Bildpunkte repräsentieren oder durch Verwischung<br />
das Auge täuschen<br />
Ortsbereich: Bildpunkte ↔ Frequenzbereich: enthaltenen<br />
Frequenzen<br />
(Umwandlung mittels Spektralanalyse)<br />
1
<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong>, Prof. Dr. Gitta Domik, <strong>Zusammenfassung</strong> v. Florian Schoppmann<br />
Das Copyright für die dieser <strong>Zusammenfassung</strong> zugrunde liegenden Vorlesungsunterlagen (Skripte, Folien, etc.) liegt beim Dozenten.<br />
Darüber hinaus bin ich, Florian Schoppmann, alleiniger Autor dieses Dokuments und der genannte Dozent ist in keiner Weise verantwortlich.<br />
Etwaige Inkorrektheiten sind mit sehr großer Wahrscheinlichkeit erst durch meine <strong>Zusammenfassung</strong>/Interpretation entstanden.<br />
3. Fourier Transformation<br />
Transformationen werden oftmals dazu eingesetzt,<br />
Probleme zu vereinfachen – indem etwa die Komplexität<br />
der zur Problemlösung verwendeten Algorithmen<br />
gesenkt wird. Beispiel: Multiplikation/Division<br />
mittels Logarithmentafeln. Transformation<br />
des Problems f(a, b) = a · b auf eine Addition<br />
(+ Hin- und Rücltransformation): exp(ln(a) +<br />
ln(b)).<br />
Aus der Analysis ist bekannt, dass eine über<br />
] − ∞, ∞[ stückweise stetige, stückweise monotone<br />
sowie T -periodische Funktion f : −→ als Summe<br />
von Sinus und Cosinus-Funktionen dargestellt<br />
werden kann:<br />
f(x) = a0<br />
2 +<br />
∞<br />
k=1<br />
ak cos( 2π<br />
T kx) + bn sin( 2π<br />
T kx)<br />
(1)<br />
Durch Umformen und Ausnutzen von Additionstheoremen<br />
erhält man, dass sich f auch in komplexer<br />
Form schreiben lässt:<br />
f(x) =<br />
ck = 1<br />
T<br />
∞<br />
k=−∞<br />
T/2<br />
ck exp(i 2π<br />
kx), mit (2)<br />
T<br />
−T/2<br />
f(t) exp(−i 2π<br />
kt)dt ∈ (3)<br />
T<br />
Definiere nun die sogenannte Fourier-Transformation<br />
(FT) F{f(x)}, sofern sie für ganz existiert.<br />
Im Folgenden setzen wir immer limx→±∞ = 0 voraus,<br />
da dies hinreichend für die Existenz ist – allerdings<br />
nicht unbedingt notwendig).<br />
F (u) :=<br />
∞<br />
−∞<br />
f(t) exp(−i2πut)dt (4)<br />
Zur Verallgemeinerung auf den Fall, dass f nichtperiodisch<br />
ist, gehe T → ∞. Damit folgt:<br />
T · ck = F ( k<br />
) (5)<br />
T<br />
Erweitere nun (2) mit T/T :<br />
2<br />
f(x) =<br />
∞<br />
k=−∞<br />
T ck exp(i 2π 1<br />
kx)<br />
T T<br />
(6)<br />
Da 1<br />
T<br />
für T → ∞ infinitesimal klein wird, ersetze<br />
im Folgenden:<br />
1<br />
T<br />
→ du, k<br />
T<br />
Erhalte durch T → ∞:<br />
f(x) =<br />
∞<br />
−∞<br />
k<br />
→ u, F ( ) → F (u) (7)<br />
T<br />
F (u) exp(i2πux)du (8)<br />
Folglich lässt sich jede beliebige über ] − ∞, ∞[<br />
stückweise stetige, stückweise monotone Funktion<br />
f, deren FT wie oben beschrieben exitsiert,<br />
als unendliche Summe bzgl. der Basis B :=<br />
{exp(−i2πux) | u ∈ } darstellen. Dass B<br />
tatsächlich Basis ist, folgt aus der Orthogonalität<br />
zweier Elemente exp(−i2πu1x) und exp(−i2πu2x)<br />
für u1 = u2 bzgl. des Skalarprodukts fg auf<br />
der Menge aller komplexwertigen Funktionen, d. h.<br />
f, g : → .<br />
Bemerkungen: i) Die Def. von F in (4) ist also<br />
nichts anderes als das Skalarprodukt zwischen der<br />
Funktion f und dem entsprechenden Basisvektor<br />
u → exp(−i2πut). (Vgl. den Anschauungsraum, in<br />
dem wir beim Basiswechsel für die Koordinatenbestimmung<br />
ebenfalls das Skalarprodukt eines Vektors<br />
mit den neuen Basisvektoren bilden würden.)<br />
ii) Das u in der Definition von F wird Frequenzvariable<br />
genannt.<br />
Da F im Allgemeinen eine komplexe Funktion ist,<br />
teilt man auf: F (u) = R(u) + iI(u)<br />
Als Polarform von F ergibt sich:<br />
F (u) = |F (u)| exp(i · Φ(u)), mit (9)<br />
|F | = R2 + I2 −1 I<br />
, Φ = tan<br />
R<br />
|F (u)| heißt Fourier-Spektrum, |F (u)| 2<br />
Leistungsspektrum von f und Φ(u) der Phasenwinkel.<br />
Eigenschaften der Fourier-Transformation:<br />
Linearität:<br />
F{af(x) + bg(x)} = aF (u) + bG(u) (10)<br />
Änderung der Skalierung im Ortsbereich:<br />
F{f(ax)} = 1<br />
F (u ) (11)<br />
a a
<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong>, Prof. Dr. Gitta Domik, <strong>Zusammenfassung</strong> v. Florian Schoppmann<br />
Das Copyright für die dieser <strong>Zusammenfassung</strong> zugrunde liegenden Vorlesungsunterlagen (Skripte, Folien, etc.) liegt beim Dozenten.<br />
Darüber hinaus bin ich, Florian Schoppmann, alleiniger Autor dieses Dokuments und der genannte Dozent ist in keiner Weise verantwortlich.<br />
Etwaige Inkorrektheiten sind mit sehr großer Wahrscheinlichkeit erst durch meine <strong>Zusammenfassung</strong>/Interpretation entstanden.<br />
Verschiebung im Ortsbereich ändert nur die<br />
Phase:<br />
Ableitung:<br />
F{f(x − a)} = F (u) exp(i2πua) (12)<br />
F{ dn<br />
dx n f(x)} = (i2πu)n F (u) (13)<br />
Integral des Leistungsspektrums:<br />
∞<br />
−∞<br />
|f(x)| 2 dx =<br />
∞<br />
−∞<br />
Symmetrieeigenschaften:<br />
f reell =⇒ F (−x) = F (x)<br />
f imaginär =⇒ F (−x) = −F (x)<br />
f gerade, d. h. f(−x) = f(x)<br />
=⇒ F (−x) = F (x)<br />
f ungerade, d. h. f(−x) = −f(x)<br />
=⇒ F (−x) = −F (x)<br />
Für den zweidimensionalen Fall:<br />
|F (u)| 2 du (14)<br />
F{f(u, v)} = F (u, v) (15)<br />
=<br />
=<br />
∞ ∞<br />
−∞<br />
∞<br />
−∞<br />
−∞<br />
f(s, t) exp(−i2π(us + vt))dsdt<br />
∞<br />
f(s, t) exp(−i2πus)ds ·<br />
−∞<br />
exp(−i2πvt))dt<br />
(Separabilität von F )<br />
(16)<br />
(17)<br />
gelten die gleichen Eigenschaften wie im eindimensionalen.<br />
Zustätzlich: Wird f(x, y) um den Winkel<br />
θ gedreht, so auch F{f(x, y)} = F (u, v).<br />
Für die praktische Anwendbarkeit benötigen wir<br />
die diskrete Fourier-Transformation (DFT). Eine<br />
kontinuierliche Funktion f(x) mit FT F (u) werde<br />
dazu diskretisiert, d. h. auf N äquidistanten Intervallen<br />
[0, ∆x] = [x0, x1], . . . , [xN−1, xN] approximiert<br />
durch die Treppenfunktion g(x) mit FT<br />
G(u). (OBdA setzen wir hier voraus, dass x0 =<br />
0, ggf. wäre ansonsten noch eine Verschiebung<br />
notwendig.) Der Kehrwert von ∆x ist dabei die<br />
(Abtast-)frequenz.<br />
g(x) :=<br />
<br />
f(xi) wenn x ∈ [xi, xi+1[<br />
0 sonst<br />
(18)<br />
Nach Nyquist’schem Abstasttheorem ist die höchste<br />
darstellbare Frequenz bei einer Abtastrate von<br />
1<br />
∆ (also einem Abtastinterval von ∆) gerade ν∆ :=<br />
1<br />
2∆ .<br />
Folglich betrachten wir nur Frequenzen innerhalb<br />
des Intervals [−ν∆x, +ν∆x] mit äquidistanter Zerlegung<br />
(also mit Abstand ∆u = 2ν∆x 1<br />
N = N∆x ):<br />
u0 < · · · < uN.<br />
Es kann nun approximiert werden:<br />
F (un) =<br />
∞<br />
−∞<br />
≈ G(un) = ∆x<br />
= ∆x<br />
N−1 <br />
k=0<br />
f(t) exp(−i2πunt)dt<br />
N−1 <br />
k=0<br />
g(k∆x) exp(−i2πunk∆x)<br />
g(k∆x) exp(−i2πk( n<br />
N<br />
da un∆x = (− 1<br />
2∆x<br />
− 1<br />
2 ))<br />
+ n<br />
)∆x<br />
N∆x<br />
(19)<br />
Da die Abbildung n → G(un) (bei entsprechender<br />
Fortsetzung der un) N-periodisch ist, wird aus<br />
praktischen Gründen die DFT H von g(x) jedoch<br />
zwischen 0 und ν∆x als n-elementige Folge definiert.<br />
Zudem wird ∆x = 1 gewählt. (Bei einer beliebigen<br />
Funktion würden wir die DFT auf einer Skalierung<br />
vornehmen, welche die Abtastpunkte auf<br />
einen Abstand von 1 abbildet.) Zusammen mit etwas<br />
geänderter Skalierung ( 1<br />
N steht nun bei der<br />
Hintransformation) und gn := g(n∆x) = g(n) folgt:<br />
Gn := 1<br />
N−1 <br />
gk exp(−i2πk<br />
N<br />
n<br />
) (20)<br />
N<br />
<br />
N−1<br />
gn =<br />
k=0<br />
k=0<br />
Gk exp(i2πk n<br />
) (21)<br />
N<br />
Bemerkungen: Einsetzen von (21) in (20) ergibt<br />
Gn<br />
= 1<br />
N<br />
N−1 <br />
k=0<br />
= 1<br />
N−1 <br />
N<br />
N−1 <br />
l=0<br />
N−1 <br />
Gl exp(i2πl k<br />
n<br />
) exp(−i2πk<br />
N N )<br />
exp(i2π(l − n) k<br />
N )<br />
Gl<br />
l=0 k=0<br />
<br />
N wenn l = n,<br />
sonst 0 wg. (23)<br />
<br />
= Gn<br />
(22)<br />
Man sieht also, dass das Produkt der konstanten<br />
Vorfaktoren 1<br />
N ergeben muss. Die Aufteilung ist<br />
prinzipiell willkürlich möglich.<br />
3
<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong>, Prof. Dr. Gitta Domik, <strong>Zusammenfassung</strong> v. Florian Schoppmann<br />
Das Copyright für die dieser <strong>Zusammenfassung</strong> zugrunde liegenden Vorlesungsunterlagen (Skripte, Folien, etc.) liegt beim Dozenten.<br />
Darüber hinaus bin ich, Florian Schoppmann, alleiniger Autor dieses Dokuments und der genannte Dozent ist in keiner Weise verantwortlich.<br />
Etwaige Inkorrektheiten sind mit sehr großer Wahrscheinlichkeit erst durch meine <strong>Zusammenfassung</strong>/Interpretation entstanden.<br />
Sei w := exp(i2π(l − n) 1 ). Es gilt: w ist N-te Ein-<br />
N<br />
heitswurzel (Gruppeneigenschaft), und exp(i2π(l −<br />
n) k<br />
N ) = wk , da k ∈ . Folglich:<br />
N−1 <br />
k=0<br />
w k = wN − 1<br />
w − 1<br />
= 0 (23)<br />
Die Erweiterung auf den 2-dimensionalen Fall erfolgt<br />
analog zur kontinuierlichen FT. Es gelten die<br />
für die kontinuierliche FT oben genannten Eigenschaften.<br />
Durchschnitt f einer 2-dimensionalen diskreten<br />
Funktion f(x, y):<br />
f(x, y) = 1<br />
MN<br />
M−1 <br />
x=0<br />
N−1 <br />
y=0<br />
f(x, y)<br />
= F (0, 0) (durch Einsetzen)<br />
(24)<br />
Die Faltung zweier Funktionen f, g ist definiert im<br />
Eindimsionalen (25) und 2-Dimensionalen (26):<br />
(f ∗ g)(x) =<br />
(f ∗ g)(x, y) =<br />
∞<br />
−∞<br />
∞ ∞<br />
−∞<br />
f(t)g(x − t)dt (25)<br />
−∞<br />
f(s, t)(x − s, y − t)dsdt<br />
Faltungstheorem (Convolution Theorem):<br />
(26)<br />
F{(f ∗ g)(x)} = F (u) · G(u) (27)<br />
F{f(x) · g(x)} = (F ∗ G)(u) (28)<br />
Faltung im diskreten Fall, f, g : → , beide Nperiodisch<br />
(2-dimensionaler Fall analog):<br />
(f ∗ g)(x) =<br />
N−1 <br />
i=0<br />
f(i)g(x − i) (29)<br />
Der Dirac-Impuls δ(x − a) eine Distribution, die<br />
über ihr Integral definiert ist. Für eine beliebige<br />
Funktion f(x) muss gelten:<br />
∞<br />
−∞<br />
∞<br />
−∞<br />
f(x)δ(x − a)dx = f(a) (30)<br />
a+t<br />
δ(x − a)dx = lim<br />
t→0<br />
Im 2-Dimensionalen analog.<br />
4<br />
a−t<br />
δ(x − a)dx = 1<br />
(31)<br />
Die Fast Fourier-Transformation (FFT). Im Folgenden<br />
sei WN = exp(−i2π/N) primitive N-te<br />
Einheitswurzel. N sei der Form N = 2 m = 2M,<br />
m, M ∈ . Nach (20) folgt ((fn) sei Folge von<br />
Funktionswerten im Orts- (Fn) im Frequenzbereich):<br />
<br />
Fn = 1<br />
2M−1<br />
fkW<br />
2M<br />
k=0<br />
nk<br />
2M<br />
= 1<br />
M−1<br />
1 <br />
2 M<br />
k=0<br />
+ 1<br />
M−1 <br />
M<br />
= 1<br />
1<br />
2 M<br />
k=0<br />
M−1 <br />
f2kW n(2k)<br />
2M<br />
f2k+1W n(2k+1) <br />
2M<br />
f2kW nk<br />
M<br />
<br />
k=0<br />
<br />
=:F<br />
<br />
(even)<br />
n<br />
+ 1<br />
M<br />
M−1 <br />
f2k+1W nk<br />
M W n 2M<br />
<br />
k=0<br />
<br />
=:F<br />
<br />
(odd)<br />
n<br />
(da W n2k<br />
2M = W nk<br />
M )<br />
<br />
(32)<br />
(33)<br />
= 1 (even)<br />
(F n + F<br />
2 (odd)<br />
n W n 2M) (34)<br />
Das Divide & Conquer-Prinzip werde entsprechend<br />
fortgeführt... Laufzeitverbesserung von N 2 (mit<br />
” normalem“ naivem Ansatz) auf N log 2 N.<br />
4. Punktoperationen<br />
Punktoperationen verändern die Pixel unabhängig<br />
von den Nachbarpixeln: Operation T auf einen Pixel<br />
an Position (x, y) und altem Grauwert r. Neuer<br />
Grauwert s = T (g, x, y), falls nur von Grauwert<br />
abhängig (oft), dann s = T (r).<br />
(Nachbarschaftsoperationen – siehe nächstes Kapitel<br />
– berücksichtigen umliegende Pixel.)<br />
Beispiele für Punktoperationen:<br />
Negativ<br />
Exponential-Transformation ( ” Gamma Korrektur“):<br />
T (r) = cr γ oder T (r) = c(r + ɛ) γ<br />
Operationen über mehrere Bilder: Bspw.<br />
Durchschnittbildung<br />
Maße für Qualität eines Bildes:
<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong>, Prof. Dr. Gitta Domik, <strong>Zusammenfassung</strong> v. Florian Schoppmann<br />
Das Copyright für die dieser <strong>Zusammenfassung</strong> zugrunde liegenden Vorlesungsunterlagen (Skripte, Folien, etc.) liegt beim Dozenten.<br />
Darüber hinaus bin ich, Florian Schoppmann, alleiniger Autor dieses Dokuments und der genannte Dozent ist in keiner Weise verantwortlich.<br />
Etwaige Inkorrektheiten sind mit sehr großer Wahrscheinlichkeit erst durch meine <strong>Zusammenfassung</strong>/Interpretation entstanden.<br />
Mittlerer Grauwert<br />
Γ := 1<br />
MN<br />
M−1 <br />
x=0<br />
N−1 <br />
y=0<br />
f(x, y) (35)<br />
Varianz Mittlere quadratische Abweichung:<br />
Λ := 1<br />
MN<br />
M−1 <br />
x=0<br />
N−1 <br />
(f(x, y) − Γ) 2<br />
y=0<br />
(36)<br />
Histogramm Bildet einen Grauwert g auf die Anzahl<br />
Pixel mit diesem Grauwert r ab: r →<br />
|{(x, y) | f(x, y) = r}|. Wenn normiert (also<br />
durch MN geteilt), entspricht das Histogramm<br />
einer Wahrscheinlichkeitsverteilung<br />
über den Grauwert eines zufällig gewählten Pixels.<br />
Grauwertpofil Grauwerte entlang einer Linie, d. h.<br />
Zuordnung Position → Grauwert<br />
Histogramm Einebnung: Betrachte eine stetige<br />
(streng) montonon steigende (und damit bijektive)<br />
Punktoperation s = T (r), deren Inverse T −1 ebenfalls<br />
monton steigt. Zur Einfachheit sei T : [0, 1] →<br />
[0, 1]. Mit pr, ps seien im Folgenden die Wahrscheinlichkeitsdichten<br />
bezeichnet für die Zufallsvariable<br />
R, S = T (R), die den Grauwert eines zufällig ausgewählten<br />
Pixels vor bzw. nach der Transformation<br />
T angeben. Es folgt:<br />
b<br />
Pr(T (a) ≤ S < T (b)) = pr(r)dr<br />
T (b)<br />
a<br />
= pr(T<br />
T (a)<br />
−1 (s))(T −1 ) ′ (s)ds (Subst.)<br />
=⇒ps(s) = d<br />
Pr(S < s)<br />
ds<br />
(Def. der Dichte)<br />
=pr(T −1 (s))(T −1 ) ′ (s) = pr(r) dr<br />
ds<br />
(37)<br />
Für die Einebnung gewünscht ist ps(s) = 1 für 0 ≤<br />
s ≤ 1 (und 0 sonst). Definiere:<br />
r<br />
s = T (r) := pr(t)dt (0 ≤ r ≤ 1) (38)<br />
Hiermit folgt:<br />
pr(r) = ds<br />
dr<br />
0<br />
= (dr<br />
ds )−1<br />
(39)<br />
ps(s) = pr(r) 1<br />
= 1 (40)<br />
pr(r)<br />
Die Einebnung im diskreten Fall (es stehen k Graustufen<br />
r0, . . . , rk zur Verfügung): nj bezeichne die<br />
Anzahl der Pixel mit Grauwert rj, N die Gesamtpixelzahl.<br />
Es gelten (analog zu (38)) folgende Definitionen:<br />
pr(rj) := nj<br />
N<br />
sk = T (rk) :=<br />
(41)<br />
k<br />
pr(rj) (42)<br />
j=0<br />
5. Filteroperationen<br />
<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong> 5. Filteroperationen<br />
Darstellung":=;H:8>=;:E67B Nachbarschaft:<br />
25 June, 2004<br />
Pixel an Stelle x,y<br />
Direkte Nachbarn – 4er Nachbarschaft<br />
Indirekte Nachbarn<br />
8er Nachbarschaft<br />
Grafische Darstellung<br />
einer Faltung: Multi- Page 4<br />
plizieren,Aufsummieren, Zentrumspixel ersetzen<br />
Einige Filter:<br />
Boxcar: 1<br />
9 ·<br />
Gauss: 1<br />
8 ·<br />
1 1 1<br />
1 1 1<br />
1 1 1<br />
0 1 0<br />
1 4 1<br />
0 1 0<br />
<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong><br />
!"#$%&'#()*+,*-./%&0+&"<br />
!"#$%&'#()*+,*-./%&0+&"<br />
12345678*98:4;?*$5:@
<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong>, Prof. Dr. Gitta Domik, <strong>Zusammenfassung</strong> v. Florian Schoppmann<br />
Das Copyright für die dieser <strong>Zusammenfassung</strong> zugrunde liegenden Vorlesungsunterlagen (Skripte, Folien, etc.) liegt beim Dozenten.<br />
Darüber hinaus bin ich, Florian Schoppmann, alleiniger Autor dieses Dokuments und der genannte Dozent ist in keiner Weise verantwortlich.<br />
Etwaige Inkorrektheiten sind mit sehr großer Wahrscheinlichkeit erst durch meine <strong>Zusammenfassung</strong>/Interpretation entstanden.<br />
Sobel:<br />
Laplace:<br />
−1 −2 −1<br />
0 0 0<br />
1 2 1<br />
0 1 0<br />
1 −4 1<br />
0 1 0<br />
oder<br />
1 1 1<br />
1 −8 1<br />
1 1 1<br />
(mit Diag.)<br />
Erste partielle Ableitungen eines Bildes f(x, y)<br />
(Gradient):<br />
∇f(x, y) =<br />
<br />
∂f<br />
∂x<br />
∂f =<br />
∂y<br />
<br />
f(x + 1, y) − f(x, y)<br />
f(x, y + 1) − f(x, y)<br />
(45)<br />
Der Gradient zeigt in die Richtung des maximalen<br />
Anstiegs von f.<br />
Zweite partielle Ableitungen ( ∂2 f<br />
∂y 2 analog):<br />
∂ 2 f<br />
∂x 2 = f(x + 1, y) − f(x, y) −<br />
f(x, y) − f(x − 1, y) <br />
=f(x + 1, y) − 2f(x, y) + f(x − 1, y)<br />
(46)<br />
Dies entspricht dem Laplace-Filter.<br />
1 1 1<br />
Laplace mit 1 −8 1 entspricht ebenfalls einem<br />
1 1 1<br />
Unscharf Maskieren, d. h. Kantenverstärktest Bild<br />
= c · Originalbild − geglättetes Bild.<br />
Der Filterkern summiert sich auf 1 bei einem<br />
Glättungsfilter, um die Skalierung der Grauwerte<br />
zu behalten, und summiert sich auf 0 bei einer Kantenerkennung,<br />
so dass bei Filterung über ein homogenes<br />
Bild das Ergebnis 0 bleibt (keine Kanten).<br />
Ergebnisse: 1. Ableitung erzeugt dickere Kanten, 2.<br />
Ableitung dünnere. Insb. die 2. Ableitung verstärkt<br />
Rauschen stark durch ” ringing“, ” double edges“<br />
Ein Tiefpassfilter lässt nur ” niedrige“ Frequenzen<br />
durch, um so Störungen mit hohen Frequenzen<br />
zu eliminieren. Dies ist intuitiv im Frequenzbereich<br />
möglich: Sei F (u, v) die Transformation eines<br />
Bildes f(x, y). Gesucht ist nun ein H(u, v), so<br />
dass die Rücktransformation g(x, y) von G(u, v) =<br />
H(u, v)F (u, v) ein entstörtes (weichgezeichnetes)<br />
Bild ergibt. Ideal wäre also (im kontinuierlichen<br />
Fall), wenn sämtliche Frequenzpaare (u, v), deren<br />
6<br />
(absolutes) geometrisches Mittel größer einer bestimmten<br />
Frequenz D0 ist, ausgefiltert werden:<br />
D(u, v) := u2 + v2 <br />
(47)<br />
H(u, v) =<br />
1<br />
0<br />
wenn D(u, v) ≤ D0<br />
sonst<br />
(48)<br />
Der Butterworth Filter hat im Unterschied keinen<br />
scharfen Abschnitt:<br />
1<br />
H(u, v) =<br />
1 + D(u,v) (49)<br />
2n<br />
D0<br />
Hochpassfilter ist analog definiert – im idealen Fall<br />
bspw. H ′ (u, v) := 1 − H(u, v).<br />
Homomorphic Filtering: Ein Bild f(x, y) kann aus<br />
zwei Komponenten zusammengesetzt gedacht werden:<br />
f(x, y) = ι(x, y) · ρ(x, y), wobei 0 < ι < ∞ die<br />
Beleuchtung angibt, 0 < ρ < 1 die Reflektion. Da<br />
die FT bzgl. der Multiplikation nicht strukturverträglich<br />
ist (allerdings bzgl. der Addition) und es<br />
manchmal wünschenswert ist, auf beiden Komponenten<br />
separat zu arbeiten, kann das Filterergebnis<br />
g(x, y) wie folgt folgt gewonnen werden:<br />
z(x, y) := ln f(x, y)<br />
F{f ′ (x, y)}<br />
<br />
:=Z(u,v)<br />
= ln ι(x, y) + ln ρ(x, y)<br />
= F{ι(x, y)}<br />
<br />
:=I(u,v)<br />
+ F{ρ(x, y)}<br />
<br />
:=R(u,v)<br />
Es werde nun der Filter H(u, v) angewandt:<br />
g(x, y) = exp(F −1 {H(u, v)Z(u, v)})<br />
= exp(F −1 {H(u, v)I(u, v)}+<br />
F −1 {H(u, v)R(u, v)})<br />
= exp(F −1 {H(u, v)Z(u, v)})·<br />
exp(F −1 {H(u, v)R(u, v)})<br />
(50)<br />
(51)<br />
(52)<br />
Zusammenfassend: f(x, y) → ln → FFT →<br />
H(u, v) · ⋆ → FFT −1 → exp → g(x, y)<br />
6. Restauration<br />
Restaurierung<br />
Modell im Orts- und Fourier-Bereich:<br />
g(x, y) = f(x, y)<br />
<br />
∗ h(x, y)<br />
<br />
+ n(x, y)<br />
<br />
Originalbild Degradierung<br />
” noise term“<br />
(53)<br />
G(u, v) =F (u, v)H(u, v) + N(u, v) (54)
<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong>, Prof. Dr. Gitta Domik, <strong>Zusammenfassung</strong> v. Florian Schoppmann<br />
Das Copyright für die dieser <strong>Zusammenfassung</strong> zugrunde liegenden Vorlesungsunterlagen (Skripte, Folien, etc.) liegt beim Dozenten.<br />
Darüber hinaus bin ich, Florian Schoppmann, alleiniger Autor dieses Dokuments und der genannte Dozent ist in keiner Weise verantwortlich.<br />
Etwaige Inkorrektheiten sind mit sehr großer Wahrscheinlichkeit erst durch meine <strong>Zusammenfassung</strong>/Interpretation entstanden.<br />
Inverse Filtering, Näherung für Original:<br />
ˆF<br />
G(u, v) N(u, v)<br />
(u, v) = −<br />
H(u, v) H(u, v)<br />
(55)<br />
Problematisch beim Inverse Filtering sind Fälle, in<br />
denen H(u, v) sehr kleine Werte annimmt (oder –<br />
schlimmer noch – sogar ganz verschwindet).<br />
Der Least Mean Square (LMS) Filter, wobei<br />
Sf (u, v) und Sn(u, v) das Leistungssprektrum von<br />
fe bzw. ne darstellen (den für die diskrete Faltung<br />
mit 0en erweiterten Funktionen f und n):<br />
ˆF (u, v) =<br />
H(u, v)<br />
|H(u, v)| 2 + γ( Sn(u, v)<br />
Sf (u, v) )<br />
<br />
=:k<br />
· G(u, v)<br />
(56)<br />
Wenn Sn und Sf unbekannt, so muss k selbst bestimmt<br />
werden.<br />
Der LMS für γ = 1 heißt Wiener Filter. Für ihn<br />
gilt: E[(f(x, y) − ˆ f(x, y)) 2 beitung 6. Restaurieren / Segmentieren / Pyramiden<br />
rauwertberechnung!<br />
] wird minimal.<br />
t neighbor Geometrische (zero-order Verzerrung interpolation) - Nächste<br />
arschaft<br />
spatial transformation<br />
(x,y)<br />
Gray-level transformation<br />
( xˆ<br />
, yˆ<br />
)<br />
nearest neighbor<br />
Neue Grauwertberechnung: Nearest Neighbor oder<br />
bilineare Interpolation. Faustregel: Backward<br />
”<br />
re Interpolation oder kubische Interpolation<br />
ard mapping” mapping“ sinnvoller als “forward forward mapping“.<br />
” mapping”<br />
Segmentierung<br />
!"#$%&'#()*+,*-./%&0+&"<br />
!"#$%&'#()*+,*-./%&0+&"<br />
12345678*98:4;?*$5:@
<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong>, Prof. Dr. Gitta Domik, <strong>Zusammenfassung</strong> v. Florian Schoppmann<br />
Das Copyright für die dieser <strong>Zusammenfassung</strong> zugrunde liegenden Vorlesungsunterlagen (Skripte, Folien, etc.) liegt beim Dozenten.<br />
Darüber hinaus bin ich, Florian Schoppmann, alleiniger Autor dieses Dokuments und der genannte Dozent ist in keiner Weise verantwortlich.<br />
Etwaige Inkorrektheiten sind mit sehr großer Wahrscheinlichkeit erst durch meine <strong>Zusammenfassung</strong>/Interpretation entstanden.<br />
(lossy) Kodierungen: Pyramidenebenen weglassen,<br />
im YIC-Farbmodell nur die Helligkeit mit voller<br />
Auflösung, im RGB Würfel Farbwerte neu quantisieren,<br />
bei der Cosinus-Transformation nur die<br />
” wichtigen“ Werte speichern<br />
Schema für Kodierung (Verlust tritt beim Quantizer<br />
auf):<br />
f(x, y) → Mapper → Quantizer →<br />
Symbol encoder → Channel<br />
Dekodierung: Channel → Symbol decoder →<br />
Inverse Mapper → ˆ f(x, y)<br />
Schema beim JPEG: Mapper transformiert<br />
von RGB in Helligkeitsmodell (hier kann Verlust<br />
auftreten) und nimmt diskrete Cosinus-<br />
Transformation (DCT) vor, Quantizer kann<br />
Auflösung der DCT-Werte vergröbern, Symbol encoder<br />
benutzt Huffman und Lauflängen-Codierung<br />
<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong> 7. Kompression<br />
Rechts: DCT Komponenten<br />
geordnet nach Frequenz. Bei<br />
JPEG werden die Werte<br />
<strong>Digi</strong><strong>tale</strong> <strong>Bildverarbeitung</strong><br />
nach Wichtigkeit“ quanti-<br />
7. Kompression<br />
”<br />
siert. Die Folge der Komponenten<br />
links oben wird<br />
für alle 8 × 8-Matrizen Huffman<br />
kodiert. Die jeweils anderen<br />
Komponenten werden geordnet nach Frequenzen<br />
(also in Pfeilrichtung) abgespeichert und<br />
Lauflängen-kodiert (es treten viele 0en auf).<br />
DCT Komponenten geordnet<br />
nach Frequenzen<br />
25 June, 2004<br />
Wavelet-Komprimierung: Zerlegung des Bildes<br />
in eine Skalierung und 3 Wavelets (horizontal,<br />
vertikal, diagonal). Verlustfreie Rekonstruktion<br />
möglich, wenn keine Quantisierung vorgenommen<br />
wurde. Eignung für Pyramiden:<br />
5 June, 2004<br />
8<br />
Page 31<br />
Quantisierung<br />
Das Auge reagiert nicht<br />
gleich auf unterschiedliche Frequenzen.<br />
Deshalb werden die Zahlen<br />
nach „Wichtigkeit“ quantisiert.<br />
Komponenten von weniger wichtigen<br />
Frequenzen werden dabei gröber<br />
quantisiert als von wichtigen<br />
Frequenzen. Es wird meist auf die<br />
Konstruktion der<br />
DWT der Ebene<br />
j aus der Ebene<br />
nächste ganze Zahlen gerundet.<br />
j+1<br />
Page 25<br />
!"#$%&'#()*+,*-./%&0+&"<br />
!"#$%&'#()*+,*-./%&0+&"<br />
12345678*98:4;?*$5:@