【发布时间】:2017-05-12 16:29:20
【问题描述】:
最近我正在为单个相机的姿势估计问题而苦苦挣扎。我在图像上有一些 3D 点和相应的 2D 点。然后我使用solvePnP来获取旋转和平移向量。 问题是,如何判断向量是否是正确的结果?
现在我使用一种间接的方式来做到这一点:
我使用某个点的旋转矩阵、平移向量和世界 3D 坐标来获得该点在 Camera 系统中的坐标。那么我所要做的就是确定坐标是否合理。我想我知道相机系统的 x、y 和 z 轴的方向。
- 相机中心是相机系统的原点吗?
- 现在考虑该点的 x 分量。 x 是否等于相机与世界空间中相机 x 轴方向上的点的距离(符号可以通过该点放置在相机的哪一侧来确定)?
下图是在世界空间中,而所描绘的轴是在相机系统中。
========How Camera and the point be placed in the world space=============
|
|
Camera--------------------------> Z axis
| |} Xw?
| P(Xw, Yw, Zw)
|
v x-axis
我的 rvec 和 tvec 结果似乎对与错。对于一个指定的点,z 值似乎是合理的,我的意思是,如果这个点在 z 方向上距离相机大约一米,那么 z 值大约是 1。但是对于 x 和 y,根据位置点 我认为 x 和 y 应该是正数,但它们是负数。而且在原图中检测到的图案是这样的:
但是使用相机系统中计算的点坐标和相机内在参数,我得到这样的图像:
目标保持其模式。但它从右下角移动到左上角。我不明白为什么。
【问题讨论】:
标签: camera rotational-matrices pose-estimation opencv-solvepnp