在c+;中生成像样的视差图的最佳方法(算法或函数)是什么+;还是用python在raspberry pi上实现?

在c+;中生成像样的视差图的最佳方法(算法或函数)是什么+;还是用python在raspberry pi上实现?,python,c++,opencv,raspberry-pi,disparity-mapping,Python,C++,Opencv,Raspberry Pi,Disparity Mapping,我正在尝试使用立体声视频实时计算距离,但是没有适用于opencv3的视差映射的适当文档,而且opencv2中的许多旧命令在最新版本上不起作用。是否有其他方式(库或算法)在C++或Python中进行视差映射?< /P> 我试图在raspberry pi上实现我的代码,性能对我来说是个问题。我知道C++速度更快,处理器的强度也相对较小,所以我可以使用它,但是在这方面,任何帮助都会被赏识。 < P>是的,但是如果您想要任何快速或准确的东西,您将希望使用CUDA提供的半全局匹配。使用这样的库,您可以获得

我正在尝试使用立体声视频实时计算距离,但是没有适用于opencv3的视差映射的适当文档,而且opencv2中的许多旧命令在最新版本上不起作用。是否有其他方式(库或算法)在C++或Python中进行视差映射?< /P>
我试图在raspberry pi上实现我的代码,性能对我来说是个问题。我知道C++速度更快,处理器的强度也相对较小,所以我可以使用它,但是在这方面,任何帮助都会被赏识。

< P>是的,但是如果您想要任何快速或准确的东西,您将希望使用CUDA提供的半全局匹配。使用这样的库,您可以获得~640x480像素图像的实时视差贴图

第一步是使用OpenCV校准成像系统/立体相机。关于这方面的教程很多,但这是一个很好的起点:

然后,一旦校准并创建校正矩阵,您将需要校正传入图像,使其处于校正坐标中,并且由于透镜或光学系统中的其他缺陷而导致的任何失真都将得到校正


然后使用所需的视差算法/库从这对校正后的视差生成视差贴图。这通常在128到256个差异级别之间,后者不太常见。然后,可以使用cv::ReprojectMageto3D()将此视差贴图转换为公制深度贴图。从这里,您可以使用任意数量的fusion或SLAM库融合深度贴图,KinectFusion是最古老、最容易进入的库之一。事实上,它已经集成到PCL中。

选择一种语言。对于不同的语言,最好的方法可能会有所不同。另外,请澄清最好的:最小的空间,最高的效率,最容易理解,最容易开发和工作,最容易维护?其中很多都是正交的,比如说,看看计算中的时间/空间权衡吧。我刚才看到你把问题改成需要在Raspberri Pi上运行。这对于任何实时应用程序都是不可能的。对于任何基于CPU的视差计算,你最多只能得到0.25-0.5 FPS,这是非常慷慨的。谢谢,但我知道我需要一个强大的CPU,我有一个TX-1,希望它现在能工作