【发布时间】:2014-03-28 04:39:25
【问题描述】:
我有一台 Kinect 摄像头和一台网络摄像头,我正在尝试使用 OpenCV 查找 Kinect 和网络摄像头之间的旋转/平移矩阵。这是设置:
两个摄像头朝向同一个方向。我可以得到两个相机的内在矩阵,但我不确定如何得到它们之间的相对位置?
我做了一些研究,发现了 findEssentialMat() 函数。显然它返回一个基本矩阵(但这个函数似乎不合适,因为它假设两个相机的焦点和主点相同),可以用于:
- recoverPose()
- decomposeEssentialMat() -> 如果我理解了,它会返回 4 个不同的解决方案,我应该使用这个函数吗?
非常感谢!
编辑:stereoCalibrate() 函数怎么样?但我的设置并不真正对应立体相机..
EDIT2:我尝试了 openCV 提供的“stereo_calib.cpp”示例。这是我的结果,我真的不知道如何解释它?
此外,它还会生成一个“extrinsics.yml”文件,我可以在其中找到 R 和 T 矩阵,但我不知道它们以哪些单位表示?我在源代码中多次更改了 squareSize 变量,但矩阵似乎根本没有改变。
【问题讨论】:
-
嗨!谢谢大家的回复,我现在正忙着准备面试。下周,我会做一些测试,给大家一些反馈。感谢您的帮助!!
标签: opencv camera computer-vision camera-calibration