【发布时间】:2013-01-25 02:23:51
【问题描述】:
我知道在一般情况下,进行这种转换是不可能的,因为从 3d 到 2d 的深度信息会丢失。
但是,我有一个固定的摄像头,并且我知道它的摄像头矩阵。我还有一个已知尺寸的平面校准模式 - 假设在世界坐标中它有角 (0,0,0) (2,0,0) (2,1,0) (0 ,1,0)。使用 opencv 我可以估计模式的姿势,给出将对象上的点投影到图像中的像素所需的平移和旋转矩阵。
现在:这种 3d 到图像的投影很容易,但是另一种方式呢?如果我在图像中选择一个我知道是校准图案的一部分的像素,我如何获得相应的 3d 点?
我可以在校准图案上反复选择一些随机 3d 点,投影到 2d,并根据误差细化 3d 点。但这似乎很可怕。
鉴于这个未知点的世界坐标类似于 (x,y,0) - 因为它必须位于 z=0 平面上 - 似乎应该有一些我可以应用的变换,而不是做迭代的废话。不过我的数学不是很好 - 有人可以计算出这个转换并解释你是如何推导出它的吗?
【问题讨论】:
-
我怎么知道世界坐标(x,y,z)?