Opencv CVREPROJECTOMAGETO3D-从2d图像生成3d模型问题-
在这个问题上我非常需要你的帮助。我正在尝试用2d图像中的3d来模拟一个简单的场景。我使用了两幅图像(著名的筑波场景的左右两侧) 我得到了一张视差图。像这个。 在这里之后,我有一些问题。我认为应采取以下步骤: CVD(获得Q) CVREPROJECTOMAGETO3D(视差图,3D图像,Q) 但是我不知道在立体校正中传递什么作为输入,我只有2张图像,我没有关于相机的任何信息。(也许我可以使用StereoRectified,如果可以,我该怎么做?) 请帮忙Opencv CVREPROJECTOMAGETO3D-从2d图像生成3d模型问题-,opencv,3d,stereo-3d,disparity-mapping,Opencv,3d,Stereo 3d,Disparity Mapping,在这个问题上我非常需要你的帮助。我正在尝试用2d图像中的3d来模拟一个简单的场景。我使用了两幅图像(著名的筑波场景的左右两侧) 我得到了一张视差图。像这个。 在这里之后,我有一些问题。我认为应采取以下步骤: CVD(获得Q) CVREPROJECTOMAGETO3D(视差图,3D图像,Q) 但是我不知道在立体校正中传递什么作为输入,我只有2张图像,我没有关于相机的任何信息。(也许我可以使用StereoRectified,如果可以,我该怎么做?) 请帮忙 谢谢从opencv文档中摘录: “Ste
谢谢从opencv文档中摘录: “StereoRective函数计算每个摄影机的旋转矩阵,使两个摄影机图像平面(实际上)成为同一平面。因此,这使所有极线平行,从而简化了密集立体对应问题。输入时,函数采用stereoCalibrate()计算的矩阵。”在输出时,它在新坐标系中给出了2个旋转矩阵和2个投影矩阵。” 回答: 这意味着3种选择:
- 或者您有两张图像,并且您知道从XML加载的相机(Intrisic)的型号,例如loadXMLFromFile()=>StereoRective()=>ReprojectionTo3D()
- 或者您没有它们,但可以校准您的相机=>stereoCalibrate()=>StereoConvertive()=>ReprojectmageTo3D()
- 或者你不能校准相机(这是你的情况,因为你没有筑波爵士的相机,那么:你需要在两幅图像上找到配对的关键点,比如SURF,SIFT(你可以使用任何斑点检测器),然后计算这些关键点的描述符,然后根据描述符匹配右图像和左图像中的关键点,然后从中找到基本矩阵。处理要困难得多,如下所示:检测关键点(SURF,SIFT)=>提取描述符(SURF,SIFT)=>比较和匹配描述符(BruteForce,基于Flann的方法)=>从这些对中查找基本mat(findFundamentalMat())=>StereoRectiveYunCalibrated()=>重新投影到3D()
朱利安,答案可以吗,还是需要更多信息?