原文链接: opencv 几何变换 二维仿射变换和三维的透视变换
上一篇: opencv 直方图匹配 图片颜色迁移
下一篇: c++ 输入输出流重定向
二维仿射变换,相当于将二维平面上的每个坐标点与一个2X3的矩阵相乘,得到新的坐标,而透视变换则是与3X3的矩阵相乘,原本平行的两条直线在经过仿射变换后依然平行,但经过透视变化之后,可能不再平行。
仿射变换有6个参数,因此只需要指定变换前后3个坐标点的坐标,就可以通过解线性方程组获得变换矩阵。可以使用getAffineTransform(src,dst)来快速完成计算,src和dst参数是变换前后三个点的坐标,他们都是形状为(3,2)的单精度浮点数数组。
src为三角形三个顶点坐标,三个点分别为三个顶点,dst为三个顶点仿射变化后的坐标,使用getAffineTransform得到变换矩阵ÿ