Python 在哪里向基本矩阵添加比例因子以生成真实世界的转换值

Python 在哪里向基本矩阵添加比例因子以生成真实世界的转换值,python,opencv,image-processing,Python,Opencv,Image Processing,我正在使用OpenCV和python,希望获得两个摄像头之间的真实世界转换。我使用的是一个正在移动的校准摄像机。我已经完成了特征匹配、通过RANSAC计算F和计算E。为了得到摄像机之间的平移,我想我可以使用:w,u,vt=cv2.SVDecomp,然后我的t向量可以是:t=u[:,2]一个示例输出是: [[-1.163993993 9.78967574 1.40910252] [-7.79802049-0.26646268-13.85252956] [-2.67690676 13.8953868

我正在使用OpenCV和python,希望获得两个摄像头之间的真实世界转换。我使用的是一个正在移动的校准摄像机。我已经完成了特征匹配、通过RANSAC计算F和计算E。为了得到摄像机之间的平移,我想我可以使用:
w,u,vt=cv2.SVDecomp
,然后我的t向量可以是:
t=u[:,2]
一个示例输出是:

[[-1.163993993 9.78967574 1.40910252]
[-7.79802049-0.26646268-13.85252956]
[-2.67690676 13.89538682 0.19209676]

t向量:
[0.81586158 0.0750399-0.57335756]


我想我理解翻译不是在真实世界中,所以如果我想要真实世界的翻译,我需要以某种方式提供这种规模。如果我知道摄像机之间的距离,我可以通过乘法将它直接应用到t向量上吗?我想我遗漏了什么…

答案似乎是“是”

如果摄像机之间的距离为2m,则产生的真实世界平移将是该值与t向量的乘积:

dist = 2
t = [ 0.81586158 0.0750399 -0.57335756]
tworld = 2 * t

print tworld 
[ 1.63172316  0.1500798  -1.14671512]

当然,这里要记住的是,虽然平移现在是以真实世界的单位表示的,但它仍然位于camera one的摄影机坐标系中。这意味着我的第二个摄像头位于右侧1.63172316米,向上0.1500798米,在第一个摄像头后面-1.14671512米

答案似乎是肯定的

如果摄像机之间的距离为2m,则产生的真实世界平移将是该值与t向量的乘积:

dist = 2
t = [ 0.81586158 0.0750399 -0.57335756]
tworld = 2 * t

print tworld 
[ 1.63172316  0.1500798  -1.14671512]

当然,这里要记住的是,虽然平移现在是以真实世界的单位表示的,但它仍然位于camera one的摄影机坐标系中。这意味着我的第二个摄像头位于右侧1.63172316米,向上0.1500798米,在第一个摄像头后面-1.14671512米

我也有同样的问题。我认为单眼相机可能需要一个已知3D坐标的对象。这可能会有帮助。

我也有同样的问题。我认为单眼相机可能需要一个已知3D坐标的对象。这可能会有帮助。

这应该是一个注释,因为它没有提供对操作的答案。这应该是一个注释,因为它没有为OP提供答案