opencv中2-D(2个摄像头)的3-D坐标

时间:2015-02-02 09:28:20

标签: c++ opencv image-processing

https://drive.google.com/file/d/0B9cge-L7qaMtbWI4VGRoTEp5cnc/view?usp=sharing

如上设置

我有以下设置, 2个摄像头和一个物体。 对象世界坐标是x,y,z(以米为单位),如图中所示。

对象坐标是cam1

中的x1,y1(以像素为单位)

对象坐标是cam2

中的x2,y2(以像素为单位)

我想在opencv中使用x1,y1(像素)和x2,y2(像素)计算x,y,z(米)

我找不到任何导致,我发现可以使用一个摄像头来获取平面物体的坐标(以米为单位),但在我的情况下,物体可以自由移动到三维。

任何链接,文档,代码将不胜感激。

1 个答案:

答案 0 :(得分:0)

我认为这是您正在寻找的答案。您需要立体校准相机并获得校正后的图像。您还可以使用深度图。

Z=(f*T)/xl-xr

其中Z是物体的距离, f=Focal长度的相机, 来自相机的两张图片中的xl,xr=x位置

您可以在第12章的Oreilly Learning OpenCV中找到更具体的解释。