在图像处理中,我们经常需要对图像进行各种操作如平移、缩放、旋转、翻转等,这些其实都是图像的仿射变换
。通过本篇文章,你能够知道它们的实现原理以及如何应用它们。
仿射变换
也称仿射投影
,是指几何中,对一个向量空间进行线性变换并接上一个平移,变换为另一个向量空间。所以,仿射变换其实也就是再讲如何来进行两个向量空间的变换
假设有一个向量空间
k
k
k:
k
=
(
x
,
y
)
k=(x,y)
k=(x,y)
还有一个向量空间
j
j
j:
j
=
(
x
′
,
y
′
)
j=(x',y')
j=(x′,y′)
如果我们想要将向量空间由
k
k
k变为
j
j
j,可以通过下面的公式进行变换
j
=
k
?
w
+
b
j = k* w + b
j=k?w+b
将上式进行拆分可得
x
′
=
w
00
?
x
+
w
01
?
y
+
b
0
y
′
=
w
10
?
x
+
w
11
?
y
+
b
1
x'=w_{00}*x+w_{01}*y+b_0 \\ y'=w_{10}*x+w_{11}*y+b_1
x′=w00??x+w01??y+b0?y′=w10??x+w11??y+b1?
我们再将上式转换为矩阵的乘法
[
x
′
y
′
]
=
[
w
00
w
01
b
0
w
10
w
11
b
1
]
[
x
y
1
]
=
M
[
x
y
1
]
(3)
\left[ \begin{matrix} x' \\ y' \\ \end{matrix} \right] \tag{3}= \left[ \begin{matrix} w_{00} & w_{01} & b_0 \\ w_{10} & w_{11} & b_1\\ \end{matrix} \right] \left[ \begin{matrix} x \\ y \\ 1 \end{matrix} \right]= M \left[ \begin{matrix} x\\ y\\ 1 \end{matrix} \right]
[x′y′?]=[w00?w10??w01?w11??b0?b1??]???xy1????=