一、介绍

一般的仿射变换是下面五种变换的组合:旋转,平移,缩放,错切,翻转。

仿射变换能够保持图像的平直性和平行性。平直性是指:图像经过仿射变换后,直线仍然是直线。平行性是指:图像经过仿射变换后,平行线仍然是平行线。

 

 

二、实现

opencv提供了cv2.getAffineTransform()来生成仿射变换所使用的矩阵M。

 

步骤一:通过cv2.getAffineTransform()来生成仿射变换所使用的矩阵M。

 

M = cv2.getAffineTransform(src, dst)

 

src为输入图像中的三个点,分别是图像的左上角、右上角、左下角。

dst分别为生成的图像对应的三个点的位置。

 

步骤二:通过cv2.warpAffine()函数进行仿射变换。

 

 

 

三、代码

 

例:

仿射变换(3):一般的仿射变换

 

(0,0)点 转换后变到位置(0, height*0.5)      ,即左上角的点变到左边中间的地方。

(width-1, 0) 变到位置(width*0.85, height*0.1) , 即右上角的点变到考里一点。

 

 

结果:

仿射变换(3):一般的仿射变换

 

 

 

 

相关文章:

  • 2021-08-26
  • 2022-01-09
  • 2021-07-09
  • 2021-10-12
猜你喜欢
  • 2021-07-06
相关资源
相似解决方案