这是关于计算机图形和视觉中使用的术语的问题。我想使用2D到3D对应关系来构造相机投影矩阵。根据这些对应关系,我创建了一个相机对象。我正在使用库中的类来表示相机。它采用以下参数:
// R is the orientation of the camera expressed in a world coordinate frame
// t is the position of the camera expressed in a world coordinate frame
我的问题的第一部分是:如上定义,R和t是否满足
x=K[R|t]X
的外部参数?还是需要转换它们(例如,transpose(R)是外部方向,而-transpose(R)* t是位置)。我正在使用openCV的solvePnP函数获得R和t。该函数返回R和t,如下所示:
rvec – Output rotation vector (see Rodrigues() ) that, together with tvec , brings points from the model coordinate system to the camera coordinate system.
tvec – Output translation vector.
根据上面的描述,我问题的第二部分是,输出等于我的相机的外部参数,还是还需要对其进行转换(如先前定义)?
最佳答案
相机投影矩阵通常定义为P = K [R|t]
,其中R
和t
是外部的,而不是相机方向和世界坐标中的位置。
至于solvePnP
返回的内容,您必须阅读其文档或尝试一下才能看到。
关于opencv - 相机的外部参数是否以世界坐标系表示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33264901/