跳转至

仿射变换简介

概要

本文讲解了什么是仿射变换, 给出了仿射变换的公式.

keywords 放射变换 affine-transform 公式推导

什么是放射变换

图像上的仿射变换, 其实就是图片中的一个像素点,通过某种变换,移动到另外一个地方。

从数学上来讲, 就是一个向量空间进行一次线形变换并加上平移向量, 从而变换到另外一个向量空间的过程。

向量空间m :

m = (x, y)

向量空间n :

n = (x', y’)

向量空间从m到n的变换 n = A * m + b
整理得到:

x' = A_{00} *x + A_{01}*y + b_0
y' = A_{10} *x + A_{11}*y + b_1

Ab 组合在一起就组成了仿射矩阵 M。 它的维度是2*3

M = { \left[ \begin{array}{ccc} A_{00} , A_{01}, b_0\\ A_{10}, A_{11}, b_1\\ \end{array} \right ]}

使用不同的矩阵

M

就获得了不同的2D仿射变换效果。

在opencv中,实现2D仿射变换, 需要借助warpAffine 函数。

cv2.warpAffine(image, M, (image.shape[1], image.shape[0])

接下来,阿凯带你结合具体的2D仿射变换,分析其变换矩阵。

参考文献

Geometric Transformations of Images

【OpenCV】图像几何变换:旋转,缩放,斜切

Resampling Methods

旋转变换(一)旋转矩阵