Digitale Bildverarbeitung

Werbung
Was bisher geschah
I
digitale Bilder:
I Funktion B : pos → col
pos
I Matrix B ∈ col
I
statistische Merkmale
und ihre Aussagen über das Bild
I
Punktoperationen f : col1 → col2
und ihre Fortsetzung f : colpos
→ colpos
1
2
(Bildanalyse)
(Farbtransformation)
∀p ∈ pos : f (B)(p) = f (B(p))
I
I
I
Intensitäts-, Kontrasterhöhung
Histogrammstreckung
Binarisierung
I
Geometrische Operationen f : pos1 → pos2
(Koordinatentransformation)
I Verschiebung, Skalierung, Drehung
I Projektion
I
Interpolation der Intensitäten
57
Digitalisierung
Transformation analoger in digitale Signale
(mit endlichem diskretem Definitions- und Wertebereich)
Teilaufgaben:
Rasterung (Abtastung, Sampling):
Abbildung auf diskreten Definitionsbereich
(Ortsraum) pos
Ortsauflösung: Anzahl der Positionen
(Stützstellen)
oft definiert durch Abtastrate
Quantisierung Abbildung auf diskreten Wertebereiches col
58
Eindimensionale Signale
analog : Funktion
R→R
N
digital : Funktion pos → col mit pos, col ⊆ , oft
pos = {0, . . . , m − 1} ⊆ ,
col = {0, . . . , n − 1} ⊆
(Array / Liste / 1D-Matrix natürlicher Zahlen)
N
N
Beispiele:
I
Temperaturverläufe
I
Börsenkurse
I
Töne (Schallwellen)
59
Abtastung eindimensionaler Signale
(Transformation eines Signals mit stetigem Definitionsbereich in
ein Signal mit diskretem Definitionsbereich)
gegeben:
gesucht:
R R
Funktion B : →
Funktion B 0 : pos →
R mit pos = {0, . . . , m − 1}
Ziel: Transformation f : (R → R) → (pos → R) mit
∀B ∈ (RR ) ∀p ∈ pos : f (B, p) =
B(p)
0
falls p ∈ pos
sonst
Realisierung von f durch Multiplikation von B mit
Dirac-Impulsen δ : → mit
Z ∞
δ(x)dx = 1
R R
−∞
∀x ∈
R : x 6= 0 → δ(x) = 0
(1)
(2)
60
Dirac-Impuls
R R
Dirac-Impuls δ : → mit
Z ∞
δ(x)dx = 1 und ∀x ∈
R : x 6= 0 → δ(x) = 0
Approximation durch Rechteck-Impulse: ∀x ∈ R :
−∞
f1 (x)
1 falls −1/2 ≤ x ≤ 1/2
0 sonst
1 falls −2−i ≤ x ≤ 2−i
0 sonst
=
...
fi (x)
=
...
R R
Wirkung der Multiplikation von B : → mit
Z ∞
Z 2−i
fi :
B(x)fi (x)dx =
B(x)dx
= avg{B(x) | x ∈ [−2−i , 2−i ]}
−∞
−2−i
Z
∞
für i → ∞: δ :
B(x)δ(x)dx = B(0)
−∞
61
Dirac-Kamm
R R
Dirac-Impuls δ : → mit
Z ∞
δ(x)dx = 1 und ∀x ∈
−∞
R : x 6= 0 → δ(x) = 0
Verschiebung um p entlang der x-Achse:
Z ∞
Z ∞
B(p + x)δ(x)dx =
B(x)δ(p − x)dx = B(p)
−∞
−∞
Dirac-Kamm: Summe mehrerer Dirac-Impulse
X
∀x ∈ : δpos (x) =
δ(p − x)
R
p∈pos
R → R) → (pos → R) mit
Transformation f : (
RR) ∀p ∈ pos : f (B, p)
∀B ∈ (
Z
∞
B(x)δpos (x)dx
=
−∞
=
Ziel erreicht: Abtastung der Funktion B :
B(p)
0
falls p ∈ pos
sonst
R → R an den Stellen pos
62
Beispiele
I
R
I
I
I
I
R
B : → {0, 1} mit ∀x ∈ : B(x) = bxc mod 2
Abtastung an allen Positionen
B:
pos = {n/2 |∈ {0, . . . , 10}}
B 0 = {(0, 0), (1/2, 0), (1, 1), (3/2, 1), (2, 0), (5/2, 0), . . .}
pos = {3n/2 |∈ {0, . . . , 10}}
B 0 = {(0, 0), (3/2, 1), (3, 1), (9/2, 0), (6, 0), (15/2, 1), . . .}
Unterabtastung
pos = {4n |∈ {0, . . . , 10}}
B 0 = {(0, 0), (4, 0), (8, 0), . . .}
Unterabtastung
R → [−1, 1] mit ∀x ∈ R : B(x) = sin(x)
Aliasing: Rekonstruktion nicht im Original vorhandener
Frequenzen (Alias-Frequenzen, Schwebungen)
63
Probleme bei der Abtastung
Durch Digitalisierung (Transformation stetiger Signale in
diskrete) entstehen möglicherweise
Informationsverlust bei Unterabtastung
verfälschte Strukturen (Aliasing)
Nyquist-Shannon-Abtasttheorem:
Zur verlustfreien Rekonstruktion darf das Abtastraster nicht
gröber sein als die halbe Größe des kleinsten abzubildenden
Details.
(Abstasfrequenz wenigstens doppelt so groß wie die höchste
im Signal vorkommende Frequenz)
64
Faltung
Verschiebung eines Dirac-Impulses um p entlang der x-Achse:
Z ∞
Z ∞
B(p + t)δ(t)dt =
B(t)δ(p − t)dt = B ∗ δ
−∞
−∞
ist Spezialfall einer Operation zweier Funktionen:
R R ist die Faltung (Convolution) von f und g
Für f , g : →
definiert durch
∀x ∈
R : (f ∗ g)(x) =
Z
∞
f (t)g(x − t)dt
−∞
65
Faltung – Eigenschaften
I
kommutativ, d.h. ∀f , g : f ∗ g = g ∗ f
I
assoziativ, d.h. ∀f , g, h : (f ∗ g) ∗ h = f ∗ (g ∗ h)
I
bilinear, d.h. linear in jeder Komponente
(af + bf 0 ) ∗ g = a(f ∗ g) + b(f 0 ∗ g) (analog für ag + bg 0 )
I
Dirac-Impuls δ ist neutrales Element bzgl. ∗:
Für jede Funktion B : → gilt
Z ∞
∀x ∈ : (B ∗ δ)(x) =
B(t)δ(x − t)dt = B(x)
R R
R
−∞
also B ∗ δ = B
I
für verschobenen Dirac-Impuls δp mit
∀x ∈ : δp (x) = δ(x − p) und
jede Funktion B : → gilt
R
R R
∀x ∈ R : (B ∗ δp )(x) = B(x − p)
66
Diskrete Faltung
stetig:
Für f , g :
R → R ist die Faltung von
f und g definiert durch
Z ∞
∀x ∈ R : (f ∗ g)(x) =
f (t)g(x − t)dt
−∞
diskret:
Für f , g : → ist die Faltung (Convolution) von f und g
definiert durch
∞
X
∀x ∈ : (f ∗ g)(x) =
f (t)g(x − t)
Z Z
Z
−∞
diskret mit endlichen Definitionsbereichen
Für f , g : {0, . . . , n − 1} ist die Faltung (Convolution) von f und g
definiert durch
n−1
X
∀x ∈ {0, . . . , n − 1} : (f ∗ g)(x) =
f (t)g(x − t)
0
67
Diskrete Faltung – Beispiel
f,g :
Z → N mit
f (x) =
1 falls x = 2
0 sonst

 2 falls x = 1
1 falls x ∈ {0, 2}
g(x) =

0 sonst
als Vektoren (mit endlichen Definitionsbereichen):
f = (0, 0, 1, 0), g = (1, 2, 1) (nur relevante Bereiche)

falls x = 31
 2
falls x ∈ {2, 4}
(f ∗ g)(x) =

0
sonst
als Vektor: f ∗ g = (0, 0, 1, 2, 1, 0)
68
Zweidimensionale Signale
analog : Funktion
R2 → R
N
N
digital : Funktion pos → col mit col ⊆ und pos ⊆ 2 ,
oft
pos = {0, . . . , m − 1} × pos = {0, . . . , n − 1} ⊆
und col = {0, . . . , k − 1} ⊆
(Matrix natürlicher Zahlen, Bilder)
N
N2
69
Abtastung (2D)
Transformation eines Signals mit stetigem Definitionsbereich in
ein Signal mit diskretem Definitionsbereich (Raster)
gegeben: Funktion B : 2 →
gesucht: Funktion B 0 : pos → mit
pos = {0, . . . , m − 1} × {0, . . . , n − 1}
Transformation f : ( 2 → ) → (pos → ) mit
2
∀B ∈ ( (R ) ) ∀p = (px , py ) ∈ pos :
B(px , py ) falls (px , py ) ∈ pos
f (B, px , py ) =
0
sonst
R
R
R
R
R
R
R
Realisierung durch Multiplikation von B mit
Dirac-Impulsen δ : 2 → mit
Z ∞Z ∞
δ(x, y )dxdy = 1
R
−∞
−∞
∀(x, y ) ∈
R
R2 : (x, y ) 6= (0, 0) → δ(x) = 0
70
Dirac-Kamm (2D)
R
R
Dirac-Impuls δ : 2 → mit
Z ∞Z ∞
δ(x, y )dxdy = 1 und ∀(x, y ) ∈
−∞
−∞
R2 : (x, y ) 6= (0, 0) → δ(x) = 0
R
Verschiebung in der Ebene um (px , py ) ∈ 2 :
Z ∞Z ∞
B(px + x, py + y )δ(x, y )dxdy
−∞ −∞
Z ∞Z ∞
=
B(x, y )δ(px − x, py − y )dxdy
−∞
−∞
B(px , py )
=
Dirac-Kamm: Summe mehrerer Dirac-Impulse
X
∀(x, y ) ∈ 2 : δpos (x, y ) =
δ(px − x, py − y )
R
p∈pos
Abtastung der Funktion B :
0
R2 → R an den Stellen pos ⊆ R2:
Z
∞
Z
∞
∀(x, y ) ∈ pos : B (x, y ) =
B(x, y )δpos (x, y )dxdy = B(x, y )
−∞
−∞
71
Faltung (2D)
R
Für f , g : 2 →
definiert durch
∀(x, y ) ∈
R ist die Faltung (Convolution) von f und g
R : (f ∗ g)(x, y ) =
Z
∞
Z
∞
f (t, u)g(x − t, y − u)dtdu
−∞
−∞
diskreter Fall (Bilder):
Für f , g : {0, . . . , m − 1} × {0, . . . , m − 1} → col ist die Faltung
(Convolution) von f und g definiert durch
∀(x, y ) ∈ {0, . . . , m − 1} × {0, . . . , m − 1} :
(f ∗ g)(x, y ) =
m−1
n−1
XX
f (t, u)g(x − t, y − u)
t=0 u=0
72
Probleme bei der Abtastung
Durch Digitalisierung (Transformation stetiger Signale in
diskrete) entstehen möglicherweise
Informationsverlust bei Unterabtastung
verfälschte Strukturen (Aliasing)
Nyquist-Shannon-Abtasttheorem:
Zur verlustfreien Rekonstruktion darf das Raster nicht gröber
sein als die halbe Größe des kleinsten abzubildenden Details.
73
Anti-Aliasing-Techniken
I
Erhöhung der Abtastrate
I
kleine Frequenzen durch Filter entfernen
I
bei Bilderzeugung und -aufnahme:
zufällige kleine Verschiebungen im Abtast-Raster
74
Herunterladen