仿射变换可以实现一些平移、旋转、拉伸等操作, 拉伸的操作只能是平行四边形的
TranslationMatrix = np.array([[1, 0.5, 0],
[0, 1, 0]], dtype=np.float32)
affImg = cv2.warpAffine(Img, TranslationMatrix, (int(Img.shape[1] * 2), int(Img.shape[0] * 2)))
cv2.imshow('raw', Img)
cv2.imshow('affine', affImg)
cv2.waitKey(0)
如果想要实现让图片拉伸成梯形那种形状的话,需要用到投影变换
下面贴一下投影变换的opencv实现
AffineMatrix = np.array([[1, 0, 5],
[0, 1, 0],
[0, 0, 1]], dtype=np.float32)
perImg = cv2.warpPerspective(Img, AffineMatrix, (Img.shape[1], Img.shape[0]))
cv2.imshow('raw', Img)
cv2.imshow('per', perImg)
cv2.waitKey(0)
AffineMatrix = np.array([[1, 0, 5],
[0, 1,