需要源码请点赞关注收藏后评论区留言私信~~~
一、仿射变换
仿射变换是一种仅在二维平面中发生的几何变形,变换之后的图形仍然可以保持直线的平直性和平行性,也就是说原来的直线变换之后还是直线,平行线变换之后还是平行线,常见的仿射变换包括平移 旋转和倾斜
OpenCV通过cv2.warpAffine()方法实现仿射变换效果 语法如下
dst=cv2.warpAffine(src,M,dsize,flags,borderMode,borderValue)
M 一个二行三列的矩阵 根据此矩阵的值变换原图中的像素位置
dsize 输出图像的尺寸大小
flags 插值方式 建议使用默认方式
borderMode 边界类型
borderValue 边界值
M也被叫做仿射矩阵 实际上是一个2*3的列表
M=[[a,b,c],[d,e,f]] 仿射变换输出的图像按照以下公式计算
新x=原x*a+原y*b+c
新y=原x*d+原y*e+f
平移
平移就是让图像中的所有像素同时沿着水平或者垂直方向移动,实现这种效果只需要将M设置为以下即可
M=[[1,0,水平移动距离],[0,1,垂直移动的距离]]