opnecv中仿射变换的相关函数学习笔记

首先要知道什么事仿射变换,仿射变换就是只包含:平移,旋转,缩放这三种变换的变换。仿射变换会保证变换前后两幅图的“平行性”和“平直性不变”。

大家知道,对二维图像做变换就是要讲每个像素点的坐标通过一个“单应性矩阵”映射到新的坐标点上去。所以关键就是得到这个“单应性矩阵”。

对于仿射变换的单应性矩阵可以用一个2*3的矩阵来表示。一共6个需求的参数,需要6个矩阵(3对对应点)方可以解出。

若已知两幅图中的3对对应点则可以使用getAffinetransform来获得:


其中两个参数都是point2f类型的矩阵,分别存储了两幅图像的对应点。前者是初始点,后者是目标点。

得到变换矩阵warp_mat就可以对图片做变换了。用到的函数如下:

 warpAffine( src, warp_dst, warp_mat, warp_dst.size() );
参数分别为:需要做变换的图像,变换后图像,单应矩阵,变换后图像的大小。


得到变化的单应性矩阵还有第二种方法就是使用

rot_mat = getRotationMatrix2D( center, angle, scale );

其中,center是旋转中心。是point类型的数据。angle 是旋转的角度,正值为逆时针方向。最后是缩放的系数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值