Opencv仿射变换(Affine Transformation)函数:cv2.warpAffine
Affine Transformation:可实现旋转,平移,缩放,变换后的平行线依旧平行。
Opencv透视变换(Perspective Transformation)函数:cv2.warpPerspective
Perspective Transformation:透视变换,又叫单应性变换。简而言之就是不同视角的同一物体,在像素坐标系中的变换,可保持直线不变形,但是平行线可能不再平行。
函数介绍:
def warpPerspective(src, M, dsize, dst=None, flags=None, borderMode=None, borderValue=None):
def warpAffine(src, M, dsize, dst=None, flags=None, borderMode=None, borderValue=None):
#src:输入图像 dst:输出图像
#M:2×3的变换矩阵
#dsize:变换后输出图像尺寸
#flag:插值方法
#borderMode:边界像素外扩方式
#borderValue:边界像素插值,默认用0填充
它们的变换矩阵可以通过以下函数获得:
def getPerspectiveTransform(src, dst, solveMethod=None):
def getAffineTransform(src, dst):
仿射变换至少需要三组对应的点坐标,透视变换至少需要四组。