最近,我一直在研究针孔相机模型,但我与OpenCV提供的模型和“计算机视觉中的多视图几何”教材混淆了。
我知道下面的照片是一个简化的模型,它可以转换图像平面和摄像机框的位置。为了更好地说明和理解,并考虑到要点(u0,v0),两个框架之间的关系是x=f(X/Z)+u0和y=f(Y/Z)+v0。

但是,我真的很困惑,因为通常图像坐标是第四象限坐标的形式,如下所示!
我能否直接用以下定义中的(x,y)代替上述“等效”针孔模型,而这个模型并不真正有说服力?

此外,如果一个物体位于相机坐标(当然是Z>f)的区域(+X,+Y)象限中,在等效模型中,它应该出现在图像坐标的右半平面上。然而,这样的物体在图像中由普通相机拍摄,它应该位于左侧。因此,对我来说,这个模式是不合理的。
最后,我尝试在原始模型的基础上推导如下的模型。

结果是x1=-f(X/Z)和y1=-f(Y/Z)。
然后,我试图找出(x2,y2)-coordinate与相机坐标之间的关系。结果是x2=-f(X/Z)+u0和y2=-f(Y/Z)+v0。
在(x3,y3)-coordinate和摄像机坐标之间,结果是x3=-f(X/Z)+u0和y3=f(Y/Z)+v0。
无论我尝试过哪个坐标系,都没有一个是x=f(X/Z)+u0和y=f(Y/Z)+v0的形式,这些都是由一些简历教材提供的。
此外,由于同样的原因,(x2,y2)-coordinate或(x3,y3)-coordinate上的投影结果也是不合理的:相机坐标中(+X,+Y,+Z)区域的物体应该“出现”在摄像机拍摄的图像的左半平面上。
有人能指出我误解了什么吗?
发布于 2014-05-14 09:39:06
最后,我发现了这个问题,并通过执行张博士的论文,证明了我的解释是正确的,那就是从未知的角度观看平面的柔性摄像机校准。计算机视觉国际会议(ICCV'99),希腊科孚,第666-673页,1999年9月。
让我从头到尾解释一下。下面的照片是原始针孔相机模型和投影结果在图像传感器上。然而,这不是我们应该看到的“形象”。

我们应该看到的是

比较图1和图2,我们应该注意到这张图片是上、下和左-右.我在一家CMOS传感器公司工作的朋友告诉我,有内置功能可以自动翻转感知到的图像。
由于我们要对图像坐标和世界坐标之间的关系进行建模,所以我们应该将图像传感器直接看作一个投影平面。以前让我感到困惑的是,投影总是局限在投影的一侧,这误导了我从几何上理解推导。
现在,我们应该将图像传感器的“背面”看作蓝色(视图透视图)箭头。
结果如图2所示,x1-y1坐标现在分别向右和向下方向,因此方程如下
x1=-f(X/Z)
y1=-f(Y/Z)现在,根据x-y坐标,方程是
x=f(X/Z)+u0
y=f(Y/Z)+v0这就是论文所描述的。
现在,让我们看一个等价的模型,它不存在于现实世界,但有助于视觉解释。

原则是一样的。从投影中心向图像平面看。结果是

投影的"F“在右边-左边。方程是
x1=f(X/Z)
y1=f(Y/Z)现在,根据x-y坐标,方程是
x=f(X/Z)+u0
y=f(Y/Z)+v0这就是论文所描述的。
最后但并非最不重要的一点是,由于世界坐标中的单位是mm或英寸,而图像坐标中的单位是像素,所以有一个缩放因子,一些书籍将其描述为
x=a*f(X/Z)+u0
y=b*f(Y/Z)+v0或
x=fx(X/Z)+u0
y=fy(Y/Z)+v0其中fx=a*f,fy=b*f
发布于 2016-01-07 17:47:14
实际上要简单得多:您的对象的坐标应该在相机世界坐标中,这是一个坐标系统,其x轴和y轴与图像平面上的各个轴平行,例如:COPIES/OWENS/LECT9/node2.html。
https://stackoverflow.com/questions/22938455
复制相似问题