Digital Signal Processing Reference
In-Depth Information
16.3 Interpolation
Abbildung 16.20
Interpolationskerne in 2D. Idealer
Interpolationskern Sinc ( x, y )(a),
Nearest-Neighbor-Interpolationskern
(b) fur 3 ≤ x, y ≤ 3.
Sinc( y )= sin( πx )
πx
sin( πy )
πy
Sinc( x, y ) = Sinc( x )
·
·
(16.55)
(Abb.16.20 (a)), die naturlich in der Praxis nicht realisierbar ist. Gangige
Verfahren sind hingegen, neben der im Anschluss beschriebenen (jedoch
selten verwendeten) Nearest-Neighbor -Interpolation, die bilineare , biku-
bische und die Lanczos -Interpolation, die sich direkt von den bereits
beschriebenen, eindimensionalen Varianten ableiten.
Nearest-Neighbor-Interpolation in 2D
Zur Bestimmung der zu einem beliebigen Punkt ( x 0 ,y 0 )nachstliegen-
den Pixelkoordinate ( u 0 ,v 0 )genugt es, die x - und y -Komponenten un-
abhangig auf ganzzahlige Werte zu runden, d. h.
wobei u 0 = Round( x 0 )=
x 0 +0 . 5
I ( x 0 ,y 0 )= I ( u 0 ,v 0 ) ,
(16.56)
v 0 = Round( y 0 )=
y 0 +0 . 5
Der zugehorige 2D-Interpolationskern ist in Abb. 16.20 (b) dargestellt. In
der Praxis wird diese Form der Interpolation heute nur mehr in Ausnah-
mefallen verwendet, etwa wenn bei der Vergroßerung eines Bilds die Pixel
absichtlich als Blocke mit einheitlicher Intensitat ohne weiche Ubergange
erscheinen sollen (Abb. 16.21 (b)).
Bilineare Interpolation
Das Gegenstuck zur linearen Interpolation im eindimensionalen Fall ist
die so genannte bilineare Interpolation 7 , deren Arbeitsweise in Abb.16.22
dargestellt ist. Dabei werden zunachst die zur Koordinate ( x 0 ,y 0 )nachst-
liegenden vier Bildwerte A, B, C, D mit
A = I ( u 0 ,v 0 )
B = I ( u 0 +1 ,v 0 )
(16.57)
C = I ( u 0 ,v 0 +1)
D = I ( u 0 +1 ,v 0 +1)
7 Nicht zu verwechseln mit der bilinearen Abbildung (Transformation) in Ab-
schn. 16.1.5.
Search WWH ::




Custom Search