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

 

 

一、介绍

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

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

 

 

二、实现

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

 

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

 

M = cv2.getAffineTransform(src, dst)

 

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

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

 

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

 

 

 

三、代码

 

例:

仿射变换(3):一般的仿射变换_第1张图片

 

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

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

 

 

结果:

仿射变换(3):一般的仿射变换_第2张图片

 

 

 

 

你可能感兴趣的:(10,OpenCV图像处理)