【opencv+python】图像处理之二、几何变换(仿射与投影)的原理

该系列文章为 OpenCV+Python Tutorials的学习笔记 代码托管在Github 转载请注明: http://blog.csdn.net/a352611/article/details/51417779 [三记的博客]写在文章开始之前: 关于几何变换,常见的资料都没有把数学原理部分讲透彻,基本都是照着课本说,导致我很多地方无法彻底理解.思前想后还是把这一块分成两个部分,一部分
摘要由CSDN通过智能技术生成

该系列文章为 OpenCV+Python Tutorials的学习笔记
代码托管在Github
转载请注明: http://blog.csdn.net/a352611/article/details/51417779 [三记的博客]

写在文章开始之前:
关于几何变换,常见的资料都没有把数学原理部分讲透彻,基本都是照着课本说,导致我很多地方无法彻底理解.思前想后还是把这一块分成两个部分,一部分专门讲数学原理,一部分专门讲应用.本文为数学原理部分。


1. 几何变换的数学本质 Geometry Transformation

对图像的几何变换本质上是一种线性变换,其数学本质为

I n e w = T I o l d I_{new}= TI_{old} Inew=TIold

即通过变换矩阵 T T T将原图上的点的位置 I o l d I_{old} Iold变换到新的位置,从而得到新的图像 I n e w I_{new} Inew

2DTransformation

2D平面变换示意图(“Computer Vision: Algorithms and Applications”, Richard Szeliski)

  • Translation 平移
  • Euclidean(rigid, rotation) 旋转
  • Scale 缩放;图中没有画出
  • Similarity 相似变换;结合旋转,平移和缩放
  • Affine 仿射变换;想象在similarity的基础上用两只手对图像进行按压拉伸
  • Projective 投影变换;想象投影仪做的事情,将一个面投影到另外一个面的情况

2. 齐次坐标 Homogeneous coordinates

简单的说法就是对于点 P = [ x ; y ] T P=[x;y]^T P=[x;y]T我们无从得知这是一个点还是向量,之所以纠结这个概念的原因在于:平移对于向量没有意义,但对点有意义。我们希望对线性变换有一个统一的描述,结果发现在Homogeneous coordinates齐次坐标下我们能够和谐统一地描述这些。怎么把一个点转换到齐次坐标下来描述呢?很简单的一个方法是

直接将点 P = [ x ; y ] T P=[x;y]^T P=[x;y]T变为 P = [ x ; y ; 1 ] T P=[x;y;1]^T P=[x;y;1]T
而向量 P = [ x ; y ] T P=[x;y]^T P=[x;y]T变为 P = [ x ; y ; 0 ] T P=[x;y;0]^T P=

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值