Multiple View Geometry in Computer vision 1.1节部分翻译

1.1简介无处不在的投影几何

我们都熟悉射影变换。当我们看一幅图,我们看到的方形不是方形,或圆形不是圆形。平面立体映射到图片上的变换是一个投影变换的例子。

因此投影变换时保留的几何属性是什么呢?当然,不是形状,例如圆形可能呈现出椭圆形。长度也不是,一个圆的两个垂直半径通过投影变换被不同程度的被拉伸。角度、距离、距离比率——都不被保留,通过投影变换几乎保留了极少的几何特征。然而,投影变换保留了平直度(笔直straightness)属性。事实证明,这是映射最基本的要求,我们可以定义一个平面的投影变换正如任意点在平面上的映射都将保留直线。

为了明白我们为什么需要投影变换,我们从熟悉的欧式几何开始。欧式几何描述了目标物体的角度和形状,有时欧式几何在一些主要方面比较麻烦,我们需要创造出一个例外来推出一些基本几何概念——如交叉线。任意两条直线(在此我们认为是二维几何平面)几乎会相交于一点,但有一对直线不会相交,我们称之为平行线。通常人们说平行线将会相交于无穷远处。然而,这并不能令人完全信服,因为它与“无穷并不存在,这只是一个方便的假设”这一说法冲突。我们可以通过增加在无穷远处平行线相交的点(称之为“理想点ideal points”)优化欧式几何平面从而绕开这些冲突并解决无穷远的问题。

通过在无穷远处增加这些点,熟悉的欧式几何空间被转换为一种新类型的几何对象,投影空间。这是非常有用的思维方式,因为我们熟悉欧式几何空间的属性,例如相关的距离、角度、点、线和入射(incidence)概念。因此投影空间就没什么神秘的,它仅仅是欧式几何空间的扩展,表示两条直线总会相交于一点,尽管有时神秘点在无穷远处。

坐标:在欧式几何的二维空间中,一个点被表示为实数的有序对偶(x,y),我们增加了另外坐标扩展成新的三元组坐标(x,y,1),用该三元组坐标代表该点原来的坐标(x,y)。这样做是没关系的,因为我们可以通过这种坐标表示方法表示出另一种坐标表示方法,只需要添加或者删除最后一个坐标。现在我们需要重点说明为什么最后一个坐标必须标为1——毕竟,其余两个坐标并不是很受约束。如果坐标是(x,y,2)呢?在这里,我们做一个定义,认为(x,y,1) 与(2x,2y,2)代表同一个点,同时对于非零值k,(kx,ky,k)也代表同一个点。点可以用等价的坐标来表示,即两个等价三元组坐标相差公倍数,它们被称为点的齐次坐标。给定一个三元组坐标(kx,ky,k),可以通过除以k值得到原始的二维坐标(x,y)。

读者也许明白尽管(x,y,1)代表点(x,y),但是没有点对应三元组坐标(x,y,0)。如果我们尝试除以最后一个坐标0,将得到在无穷远的点(x/0,y/0)。这解释了点如何在无穷远处出现,齐次坐标的最后一个坐标为0表示无穷远点。

我们知道了如何将二维欧式几何空间扩展为用齐次向量表示投影空间,便可以很清楚的知道在任意维度都可以做相同的扩展。欧式空间IRn可以被扩展到通过齐次向量表示点的投影空间IPn。无穷远的点在二维投影空间中形成线,通常称为无穷远直线,在三维空间中形成无穷平面。

齐次性:在传统的欧式几何中所有的点是一样的,是没有区别的,整个空间是齐次的。当坐标被增加,表面上看是挑选了一个点作为原点。然而,意识到这仅仅是一种特别的坐标表示框架被选择是非常重要的。我们也可以找到不同的方法表示以不同点作为原点的平面坐标。实际上,我们也可以考虑通过坐标轴平移或旋转到不同位置从而在欧式几何空间中改变坐标。我们也可以认为这是空间本身变换和旋转到不同位置的另一种方式,由此产生的操作被称为欧氏变换。

一种更为普遍的变换是IRn空间的线性变换,之后通过欧氏几何变换移动空间原点起源。我们可能认为这是空间平移、旋转,最后在不同的方向以不同的比例进行线性拉伸。这种变换结果被称为仿射变换(affine transformation)。

 

原创,转发请注明https://home.cnblogs.com/u/nannan-yhx/

有问题的地方欢迎指正~在此分享给大家。

转载于:https://www.cnblogs.com/nannan-yhx/p/5868568.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值