使用OpenVR TrackedCamera进行OpenCV立体声校正和块匹配

时间:2019-11-06 11:54:25

标签: opencv camera-calibration openvr

我正在尝试创建由安装在Valve Index VR头戴式耳机上的立体摄像机创建的图像的视差图。我正在使用OpenVR和OpenCV。 OpenVR允许使用IVRTrackedCamera界面访问摄像机。为了执行OpenCV StereoBM,需要对左右图像进行校正。

我的第一个问题:
OpenVR允许使用GetVideoStreamFrameBuffer()获取帧。此方法允许传递EVRTrackedCameraFrameType,可以是Distorted,Undistorted或MaximumUndistorted。不同的FrameType是什么意思?使用Undistorted或MaxUndistorted帧类型时,我可以假定这些帧已被校正到一个公共平面上吗?

第二个问题:
如果尚未将框架矫正到同一平面,该怎么办?借助OpenVR,我可以使用GetCameraIntrinsics()获取每个摄像机的摄像机固有特性,并再次提供EVRTrackedCameraFrameType。我还可以使用GetArrayTrackedDeviceProperty(Prop_CameraDistortionCoefficients_Float_Array)获取每个摄像机的失真参数。现在,我缺少OpenCV的stereoRectify()的两个参数是:

R – Rotation matrix between the coordinate systems of the first and the second cameras.
T – Translation vector between coordinate systems of the cameras.

是否可以从OpenVR获取这些参数?

0 个答案:

没有答案