opencv - 相机的外部参数是否以世界坐标系表示?

标签 opencv computer-vision

这是关于计算机图形和视觉中使用的术语的问题。我想使用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],其中Rt是外部的,而不是相机方向和世界坐标中的位置。

至于solvePnP返回的内容,您必须阅读其文档或尝试一下才能看到。

关于opencv - 相机的外部参数是否以世界坐标系表示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33264901/

相关文章:

c++ - 如何为搜索应用程序找到正确的数据结构?

opencv - 指纹图像中的感兴趣区域

python - 无法找到和绘制最大轮廓

c++ - 从帧缓冲区 GLSL 读取到 OpenCV

algorithm - 关于图像裁剪算法的困境——有可能吗?

c++ - Blob 跟踪算法

python - 如何在OpenCV Python中设置框架的高度和宽度

python - 使用gabor内核提取垂直线会产生黑色图像

opencv - 如何从单个图像获取相机变换矩阵?

computer-vision - tf.nn.max_pool的ksize参数用于什么?