首页 理论教育 深入学习透视投影:计算相机前方物体表面上某一点在像平面上的位置

深入学习透视投影:计算相机前方物体表面上某一点在像平面上的位置

时间:2023-06-21 理论教育 版权反馈
【摘要】:我们想要计算:相机前方物体表面上的某一点P:T在像平面上所出现的位置P′:T,如图2.1所示。注意,在式(2.4)中,等式左右两边使用了不同的长度单位。图2.2空间中的一组(三维)平行直线的像仍然是一组(二维)直线上。

深入学习透视投影:计算相机前方物体表面上某一点在像平面上的位置

在我们开始分析一张图像之前,我们必须知道它是如何形成的。图像是一个二维的亮度模式。这个亮度模式是如何在一个光学成像系统中生成的?这个问题有两部分内容值得好好研究:

•首先,确定场景中的点和图像上的点之间的几何对应关系;

•其次,我们必须弄清楚:是什么决定(图像中)该点的亮度。

本章中,我们主要研究上述第一部分内容。在下一章中,我们将对上述第二部分内容进行详细探讨。

假设:在图像平面前的固定距离处,有一个理想的小孔,并且,小孔的周围都是不透光的,因此,只有经过小孔的光才能够到达像平面,如图2.1所示。光是沿着直线传播的,因此,图像上的每一个点都对应于一个方向,即:从这个点出发、穿过小孔的一条射线。这就是我们所熟知的透视投影模型。

在这个简单的例子中,我们将光轴定义为:从小孔到像平面的垂线。现在,我们可以引进一个笛卡尔直角坐标系,这个坐标系的原点O为小孔;z轴选为:和光轴平行并且指向像平面的方向。在这种约定下,位于相机前面的点,其z坐标为负值。尽管这种选择有一些缺陷,我们仍然使用这个约定,因为,这个约定使得我们可以方便地建立右手坐标系(即:x轴指向右方;y轴指向上方)。

我们想要计算:相机前方物体表面上的某一点P:(X,Y,Z)T在像平面上所出现的位置P:(x,y,f)T,如图2.1所示。从点P:(X,Y,Z)T出发,射向各个方向的光中,只有经过小孔的光会射到像平面上。假设:在从P到O的射线上没有其他物体。令r=(X,Y,Z)T表示:由O指向P的向量;令r=(x,y,f)T表示:由O指向P的向量[2]

这里,f表示:小孔和像平面之间的距离,而x和y是:像平面上的点P的坐标。两个向量r和r共线,并且,它们之间只相差一个(负的)比例系数。如果连接P和P的射线和光轴之间的夹角为α,那么,向量r的长度为:

其中,“·”表示两个向量的内积,而 z表示沿着光轴方向的单位向量。注意:相机前面所有点的z坐标均为负值。r的长度为:(www.xing528.com)

因此,我们可以得到:

我们也可以将上式写成对应的分量形式,即:

有时,为了简化投影方程(2.4),我们对图像坐标系进行“归一化”处理,也就是说,将x和y都除以f,即:

注意,在式(2.4)中,等式左右两边使用了不同的长度单位。在很多情况下,我们并不知道相机中像素点感光区域的实际尺寸。也就是说,我们只知道像素点在图像中的相对位置,而无法确定像素点的绝对坐标。一个直观的理解是:同一个图像文件在不同大小的屏幕上被显示成不同大小的图像。因此,通过尺度伸缩忽略掉式(2.4)中的f,将简化后续的图像分析过程。

图2.2 空间中的一组(三维)平行直线的像仍然是(像平面上的)一组(二维)直线上。除了在及其特殊的情况下(例如图中的立柱),空间中一组平行直线的像将不再平行(例如图中的铁轨、横梁、站台边缘)。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈