Bicubic
Bicubic 介绍
放大图像某点的像素值涉及其映射到原始图像一点的临近16个像素点。
在横、竖两个方向分别采用多项式插值三次函数
1.像素点
插值像素点与原图像的关系:
2.插值函数
插值函数是对于理论上最优插值函数
s
i
n
(
x
)
/
x
sin(x)/x
sin(x)/x的近似。
函数如下,一般取a = -0.5
W
(
x
)
=
{
(
a
+
2
)
∣
x
∣
3
−
(
a
+
3
)
∣
x
∣
2
+
1
∣
x
∣
≤
1
a
∣
x
∣
3
−
5
∣
x
∣
2
+
8
a
∣
x
∣
−
4
a
1
<
∣
x
∣
<
2
0
o
t
h
e
r
s
W(x)=\begin{cases} (a+2)|x|^3-(a+3)|x|^2+1 & |x|\leq 1\\ a|x|^3-5|x|^2+8a|x|-4a & 1<|x|<2\\ 0 & others \end{cases}
W(x)=⎩⎪⎨⎪⎧(a+2)∣x∣3−(a+3)∣x∣2+1a∣x∣3−5∣x∣2+8a∣x∣−4a0∣x∣≤11<∣x∣<2others
3.像素值计算
对于每个像素点像素值的计算:
B
(
X
,
Y
)
=
∑
n
=
−
1
2
∑
m
=
−
1
2
f
(
n
+
j
,
m
+
i
)
×
W
(
u
−
m
)
×
W
(
v
−
n
)
B(X,Y) = \sum_{n=-1}^{2} \sum_{m=-1}^{2}f(n+j,m+i)\times W(u-m)\times W(v-n)
B(X,Y)=n=−1∑2m=−1∑2f(n+j,m+i)×W(u−m)×W(v−n)
矩阵计算方式如下:
A = [ W ( u + 1 ) W ( u ) W ( u − 1 ) W ( u − 2 ) ] C = [ W ( v + 1 ) W ( v ) W ( v − 1 ) W ( v − 2 ) ] B = [ f ( j − 1 , i − 1 ) f ( j − 1 , i ) f ( j − 1 , i + 1 ) f ( j − 1 , i + 2 ) f ( j , i − 1 ) f ( j , i ) f ( j , i + 1 ) f ( j , i + 2 ) f ( j + 1 , i − 1 ) f ( j + 1 , i ) f ( j + 1 , i + 1 ) f ( j + 1 , i + 2 ) f ( j + 2 , i − 1 ) f ( j + 2 , i ) f ( j + 2 , i + 1 ) f ( j + 2 , i + 2 ) ] f ( j + v , i + u ) = C B A T \begin{aligned} &A = \left[ \begin{matrix} W(u+1) & W(u) & W(u-1) & W(u-2)\end{matrix}\right] \\ &C = \left[ \begin{matrix} W(v+1) & W(v) & W(v-1) & W(v-2)\end{matrix}\right] \\ &B =\left[ \begin{matrix} f(j-1,i-1) & f(j-1,i) & f(j-1,i+1) & f(j-1,i+2) \\ f(j,i-1) & f(j,i) & f(j,i+1) & f(j,i+2) \\ f(j+1,i-1) & f(j+1,i) & f(j+1,i+1) & f(j+1,i+2) \\ f(j+2,i-1) & f(j+2,i) & f(j+2,i+1) & f(j+2,i+2) \\ \end{matrix}\right] \\ &f(j+v,i+u) = CBA^T \end{aligned} A=[W(u+1)W(u)W(u−1)W(u−2)]C=[W(v+1)W(v)W(v−1)W(v−2)]B=⎣⎢⎢⎡f(j−1,i−1)f(j,i−1)f(j+1,i−1)f(j+2,i−1)f(j−1,i)f(j,i)f(j+1,i)f(j+2,i)f(j−1,i+1)f(j,i+1)f(j+1,i+1)f(j+2,i+1)f(j−1,i+2)f(j,i+2)f(j+1,i+2)f(j+2,i+2)⎦⎥⎥⎤f(j+v,i+u)=CBAT