1
画像の補間:interpolation
元の画像の画素配列 ①画像を回転 例えば,デジタル画像を回転させたいとき... ②縦横方向に格子状に再サンプリング 求めたい画素値を周 辺の画素値から補間.f
x
if
1 + if
s
1
−
s
x
i
i
+
1
if
f
f
i+1f
2
1次元信号の再サンプリングと補間
0次補間(最近傍補間) 1次関数による補間 i is
f
sf
x
f
(
)
=
+1+
(
1
−
)
サンプリング点 どの値も、もっとも近い位置に ある画素値の値をそのまま用い る。|
|
min
arg
)
(
x
f
i
x
i
f
=
i=
−
1 + isf
if
s)
1
(
−
x
x
2つの解釈 ① 𝑓𝑓𝑖𝑖と𝑓𝑓𝑖𝑖+1の点を直線で結び、𝑥𝑥の位置での 値 を計算する。 i i i if
sf
s
f
f
s
f
x
f
(
)
=
+
(
+1−
)
=
+1+
(
1
−
)
② 𝑓𝑓𝑖𝑖からの寄与(1 − 𝑠𝑠)𝑓𝑓𝑖𝑖と、𝑓𝑓𝑖𝑖+1からの寄与 𝑠𝑠𝑓𝑓𝑖𝑖の和で与えられる。 i is
f
sf
x
f
(
)
=
+1+
(
1
−
)
f
x
if
1 + if
s
2 + if
1 − if
≤
≤
−
≤
≤
−
+
=
2
|
|
1
,
|)
|
2
(
6
1
|
|
0
,
|
|
|
|
2
1
3
2
)
(
3 2 3x
x
x
x
x
x
R
1
2 1 1(
)
(
1
)
(
2
)
)
1
(
+
−+
+
−
++
−
+=
R
s
f
iR
s
f
iR
s
f
iR
s
f
if
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0 0.5 1 1.5 2 x y y=2/3+(|x|^3)/2-|x|^2 y=(1/6)(2-|x|)^3)3
1次元信号の再サンプリングと補間
スプライン関数による補間 4つの近傍信号に対してスプライン関数で 重み付けられた和で与えられる スプライン関数4
コンボリューション演算
τ
τ
τ
f
d
x
h
x
f
x
h
x
g
(
)
(
)
*
(
)
∫
(
)
(
)
∞ ∞ −−
=
≡
τ
)
(
τ
f
τ
)
(
τ
h
τ
)
(
−
τ
h
を反転
①
h
(
τ
)
τ
)
(
x
−
τ
h
)
(x
g
x
0
)
(
−
τ
h
だけシフト
② x
④ 積分する
x
τ
(
)
)
(
x
τ
f
τ
h
−
x
の積
と
③
f
(
τ
)
h
(
x
−
τ
)
5
コンボリューション演算としての解釈
0次補間(最近傍補間) 1次関数による補間i
i
+
1
if
f
1 + if
x
ix
x
i+1)
(
x
if
)
(x
f
(
)
1 + ix
f
x
x
)
(x
h
x
)
(x
g
x
上の2つの関数 を掛けて積分x
x
シフト量)
(x
h
x
x
シフト量)
(x
g
上の2つの関数 を掛けて積分1
−
1
2
/
1
2
/
1
−
1
1
6
コンボリューション演算としての解釈 (つづき)
3次補間 ix
x
i+1)
(
x
if
)
(x
f
(
)
1 + ix
f
x
)
(x
h
x
)
(x
g
x
上の2つの関数 を掛けて積分x
x
シフト量 3次多項式(Cubic B-spline)
≤
≤
−
≤
≤
−
+
=
2
|
|
1
,
|)
|
2
(
6
1
|
|
0
,
|
|
|
|
2
1
3
2
)
(
3 2 3x
x
x
x
x
x
R
1
7
2次元画像の補間
0次補間(最近傍補間) bilinear補間(双線形補間) ijf
j if
+1, i+ j1, +1f
1 ,j+ if
i
j
s
1
−
s
t
−
1
t
1 , ,)
1
(
−
+
+=
i j i j As
f
sf
f
Af
Bf
STEP1 STEP2 1 , 1 , 1)
1
(
−
++
+ +=
i j i j Bs
f
sf
f
i
j
ijf
j if
+1,f
i+ j1, +1 1 ,j+ if
f
1 , 1 + +=
f
i jf
参考 3次元の場合も,同様にして線形 補間が可能.trilinearと呼ばれる.(
1
)(
1
)
(
1
, 1)
, 1(
1
1)
, 1, 1, 1 1, 1]
)
1
[(
]
)
1
)[(
1
(
)
1
(
+ + + + + + + ++
−
+
−
+
−
−
=
−
−
+
+
−
+
=
−
+
=
j i j i j i ij j i j i j i ij B Astf
f
s
t
f
t
s
f
s
t
sf
f
s
t
sf
f
s
t
tf
f
t
f
8
画像の補間の例
一部を拡大した様子