在这些文件中,P1
, P0
等不是相机内在函数,而是投影矩阵,由类似的东西定义
P1=calibration_matrix * [R_1 | T_1]
这意味着它们的大小3*4
。我不确定相应的定义是否是上面的定义,或者您是否必须使用(好吧,它或多或少是一个等效的定义......)
P1=calibration_matrix*[R_1.transpose() | -R_1.transpose()*T_1]
但我认为只需读取/显示数据即可轻松检查这一点。
As for Tr
,它是所有相机位置的串联。你有四个摄像头P0, ..., P3
, and Tr
has 12
元素,所以前三个是P0
, 接下来三个是翻译P1
等等。我不确定的是每一个是否都表达为T_i
or -R_i.transpose()*T_i
。我认为最安全的方法是尝试通过数据来检查这一点。
至于为什么有四个摄像头P0, ...,P3
,引用他们的paper http://www.mrt.kit.edu/z/publ/download/2013/GeigerAl2013IJRR.pdf:
这里,
我
ε
{
0
,
1
,
2
,
3
}
是相机索引,其中
0
代表
左边的灰度,
1
正确的灰度,
2
左边的颜色和
3
正确的彩色相机。
我认为这也解释了为什么它们的投影矩阵彼此接近。