一、仿射变换(Affine Transformation)
放射变换(平面变换、二维坐标变换):是空间直角坐标系的变换,从一个二维坐标变换到另一个二维坐标,仿射变换是一个线性变换,保持了图像的“平行性”和“平直性”,即图像中原来的直线和平行线,变换后仍然保持原来的直线和平行线。
仿射变换比较常用的特殊变换有平移(Translation)、缩放(Scale)、翻转(Flip)、旋转(Rotation)和剪切(Shear);
仿射变换性质:
(1)仿射变化只有6个自由度(对应变换中的6个系数),仿射变换后相互平行直线仍然是平行直线,三角形映射后仍是三角形;但却不能保证四边形以上的多变性映射为等边数的多边形;
(2)仿射变换的乘积和逆变换仍是仿射变换;
(3)仿射变换包含:平移、旋转、缩放等几何变换。
二、透视变换(Perspective Transformation)
透视变换(空间变换、三维坐标变换):是指利用透视中心、像点、目标点三点共线的条件,按透视旋转定律使承影面(透视面)绕迹线(透视轴)旋转某一角度,破坏原有的投影光线束,仍能保持承影面上投影几何图形不变的变换。
三、源码
图像若需保存代码为:
cv2.imwrite("F:/b.jpg",res)
第一个参数:路径下,指定文件名;
第二个参数:保存的图像。
1. 平移
import cv2
import numpy as np
import matplotlib.pyplot as plt
img = cv2.imread('F:/a.jpg')
H = np.float32([[1,