はじめに
先日、画像の補間方法について記事を書いた。
本記事で紹介するバイキュービック補間法も画像を拡大、縮小、回転する時に利用できる補間法の1つである。バイキュービック補間法ではどのような処理が行われるのか解説していく。
バイキュービック補間法とは?
バイキュービック補間法は、16個の画素値を用いて補間する画素の画素値を求める方法である。16個の画素の加重平均を基に補間する画素の画素値を求める。処理の流れを以下に示す。
処理の流れ
変換後の画像の座標$(x', y')$における画素値を求める手順は以下の通り。
- 拡大率を$α$とした時、$(\frac{x'}{α}, \frac{y'}{α})$を求める
- $(\frac{x'}{α}, \frac{y'}{α})$の整数部の座標の画素値を$Src(0,0)$とすると、$x$軸方向および$y$軸方向の-1~+2の範囲における16画素を得る
- 周囲16画素それぞれと$(\frac{x'}{α}, \frac{y'}{α})$の距離$d$を計算する
- $(x', y')$における画素値は、周囲16画素の加重平均とする。加重平均の計算に用いる各画素に対する重み$k$は距離$d$に応じて、下式で求める
$$
\begin{equation} \label{eq: cases f}
k=
\begin{cases}
1-(a+3)d^2+(a+2)d^3 & (0\le d < 1) \\
-4a+8ad-5ad^2+ad^3 & (1 \le d < 2) \\
0 &(d \ge 2)
\end{cases}
\end{equation}
$$
$a$は-0.5~-1.0付近の値を使用することが多い
画像を回転する場合は、回転行列を用いて補間前の座標を求める。
関連記事