OpenCV立体匹配

OpenCV立体匹配,opencv,match,stereo-3d,disparity-mapping,Opencv,Match,Stereo 3d,Disparity Mapping,我是OpenCV的新手。我在用两个摄像头做一个立体声项目。我可以将网络摄像头捕获的视频显示为左右视频。我想做以下工作:当我点击左帧上的任何点时,我想在右图像上找到匹配点(有点像使用块匹配或任何其他算法将点投影到第二个视图上)。所以我可以计算出差距。我该怎么做?提前感谢。OpenCV的对象可能是一个很好的起点 您可以像这样创建一个StereoVar对象: StereoVar myStereoVar(int levels, double pyrScale,

我是OpenCV的新手。我在用两个摄像头做一个立体声项目。我可以将网络摄像头捕获的视频显示为左右视频。我想做以下工作:当我点击左帧上的任何点时,我想在右图像上找到匹配点(有点像使用块匹配或任何其他算法将点投影到第二个视图上)。所以我可以计算出差距。我该怎么做?提前感谢。

OpenCV的对象可能是一个很好的起点

您可以像这样创建一个
StereoVar
对象:

StereoVar myStereoVar(int levels, double pyrScale,
                                int nIt, int minDisp, int maxDisp,
                                int poly_n, double poly_sigma, float fi,
                                float lambda, int penalization, int cycle,
                                int flags);
// disp will hold correspondences for each pixel in your pair of images.
myStereoVar(InputArray left, InputArray right, OutputArray disp); 
然后像这样匹配成对的图像:

StereoVar myStereoVar(int levels, double pyrScale,
                                int nIt, int minDisp, int maxDisp,
                                int poly_n, double poly_sigma, float fi,
                                float lambda, int penalization, int cycle,
                                int flags);
// disp will hold correspondences for each pixel in your pair of images.
myStereoVar(InputArray left, InputArray right, OutputArray disp); 
您可能需要将
cv::Mat
转换为
输入阵列
,但这应该非常简单

至于点击像素来查看对应关系,我打赌这是可能的,但让我们在设置并运行对应关系计算之后再考虑这个问题