Opencv 如何使用Oculus Rift显示立体相机?

Opencv 如何使用Oculus Rift显示立体相机?,opencv,webcam,oculus,Opencv,Webcam,Oculus,我使用OpenCV在新窗口中显示立体相机的左右图像。现在我想在Oculus裂口上看到同样的东西,但当我连接Oculus时,图像不会出现在特征圆圈图像中与Oculus内的透镜相匹配。。。 我需要自己处理图像吗?不是自动的吗 这是显示窗口的代码: cap >> frame; //cap= camera 1 & cap2=camera 2 cap.read(frame); sz1 = frame.size();

我使用
OpenCV
在新窗口中显示立体相机的左右图像。现在我想在Oculus裂口上看到同样的东西,但当我连接Oculus时,图像不会出现在
特征圆圈图像中
与Oculus内的
透镜相匹配
。。。 我需要自己处理图像吗?不是自动的吗

这是显示窗口的代码:

            cap >> frame; //cap= camera 1 & cap2=camera 2
            cap.read(frame);
            sz1 = frame.size();

            //second camera
            cap2 >> frame2;
            cap2.read(frame2);

            sz2 = frame2.size();

             cv::Mat bothFrames(sz2.height, sz2.width + sz1.width, CV_8UC3);

           // Move right boundary to the left.                
           bothFrames.adjustROI(0, 0, 0, -sz1.width);                 
           frame2.copyTo(bothFrames);

           // Move the left boundary to the right, right boundary to the right.             
           bothFrames.adjustROI(0, 0, -sz2.width, sz1.width);               
           frame.copyTo(bothFrames);

           // restore original ROI.             
           bothFrames.adjustROI(0, 0, sz2.width, 0);

           cv::imencode(".jpg", bothFrames, buf, params);
我还有一个问题。我试图将OVR库添加到我的代码中,但出现了错误“System Ambibuous Symbol”,因为OVR库中的某些类使用了相同的namaspace。。。当我添加

#include "OVR.h"
using namespace OVR;

-.-“

SDK用于执行镜头畸变校正、色差校正(不同色光的不同折射率会导致图像中的彩色条纹,而无需校正),时间扭曲,以及将来可能进行的其他更正。除非您有一个正在手动优化的重量级图形管道,否则最好使用SDK渲染选项

您可以在此处了解SDK和各种更正:

它还解释了如何应用失真校正。SDK是开源的,因此您也可以阅读源代码以获得更全面的理解


要解决名称空间问题,请不要切换到OVR名称空间!每次引用OVR名称空间中的内容时,请在其前面加上OVR::-例如,OVR::Math-这毕竟是名称空间的全部要点:p

此转换不是occulus sdk的一部分吗?否则,您需要精确的转换参数。我找到了一个functi在这个平台上,可以用桶形距离变换图像…是的,现在我需要参数…我看这个,但没有帮助…我还没有发生occulus(现在)所以我真的帮不上忙,但我找到了一个可能包含一些有用信息的链接:是的,我读过它,但直到现在我还不明白如何在我的左右图像上应用右桶失真。。。