什么是仿射?
仿射变换是指图像可以通过一系列的几何变换来实现平移、旋转等多种操作。该变换能够
保持图像的平直性和平行性。平直性是指图像经过仿射变换后,直线仍然是直线;平行性是指 图像在完成仿射变换后,平行线仍然是平行线。
OpenCV 中的仿射函数为 cv2.warpAffine(),其通过一个变换矩阵(映射矩阵)M 实现变换,
具体为:
dst(𝑥, 𝑦) = src(𝑀11𝑥 + 𝑀12𝑦 + 𝑀13, 𝑀21𝑥 + 𝑀22𝑦 + 𝑀23)
如图 5-2 所示,可以通过一个变换矩阵 M,将原始图像 O 变换为仿射图像 R
因此,可以采用仿射函数 cv2.warpAffine()实现对图像的旋转,该函数的语法格式如下:
dst = cv2.warpAffine( src, M, dsize[, flags[, borderMode[, borderValue]]] )
式中:
dst 代表仿射后的输出图像,该图像的类型和原始图像的类型相同。
dsize 决定输出图像的实际大小。
src 代表要仿射的原始图像。
M 代表一个 2×3 的变换矩阵。使用不同的变换矩阵ÿ