我正在使用OpenCV和python,希望获得两个摄像头之间的真实转换。我用的是一个移动的校准相机。我已经完成了特征匹配、通过RANSAC计算F和计算E。为了得到相机之间的转换,我想我可以使用:w, u, vt = cv2.SVDecomp
,然后我的t向量可以是:t = u[:,2]
。示例输出是:
[[ -1.16399893 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向量的乘积:
当然,这里要记住的是,虽然平移现在是以真实世界单位表示的,但它仍然在摄影机1的摄影机坐标系中。所以这意味着我的第二个摄像头位于右侧1.63172316米,向上0.1500798米,在一号摄像头后面-1.14671512。在
我也有同样的问题。我想单眼相机可能需要一个3D物体协调。那可能有帮助。在
相关问题 更多 >
编程相关推荐