Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用OpenVR TrackedCamera进行OpenCV立体校正和块匹配_Opencv_Camera Calibration_Openvr - Fatal编程技术网

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

使用OpenVR TrackedCamera进行OpenCV立体校正和块匹配,opencv,camera-calibration,openvr,Opencv,Camera Calibration,Openvr,我正在尝试为安装在Valve Index VR耳机上的立体摄像头创建图像的视差图。我正在使用OpenVR和OpenCV。OpenVR允许使用IVRTracketCamera接口访问摄像头。为了执行OpenCV StereoBM,需要校正左右图像 我的第一个问题: OpenVR允许使用GetVideoStreamFrameBuffer()获取帧。此方法允许传递EVRTrackDCameraFrameType,可以是扭曲的、未失真的或最大未失真的。不同的框架类型意味着什么?我是否可以假设在使用未失真

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

我的第一个问题:
OpenVR允许使用GetVideoStreamFrameBuffer()获取帧。此方法允许传递EVRTrackDCameraFrameType,可以是扭曲的、未失真的或最大未失真的。不同的框架类型意味着什么?我是否可以假设在使用未失真或最大未失真帧类型时,帧已被校正到公共平面上

第二个问题:
如果框架尚未校正为公共平面,如何进行校正?有了OpenVR,我可以使用GetCameraIntrinsics()为每个单独的相机获取相机内部信息,再次提供EVRTracketCameraFrameType。我还可以使用GetArrayTracketDeviceProperty(Prop_CameraRaditorTionCourties_Float_Array)获取每个摄像机的失真参数。现在,OpenCV的stereo整流()缺少两个参数:

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

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