OpenCV立体匹配

5

我是OpenCV的新手,正在使用两个网络摄像头进行立体项目的工作。我可以将网络摄像头捕获的内容显示在左右视频中。我想要做以下事情:当我在左侧框架上点击任何一点时,我想要在右侧图像上找到相应的匹配点(使用块匹配或其他算法将点投影到第二视角)。这样我就可以计算视差。如何实现?提前感谢。

1个回答

3

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

您可以像这样创建一个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); 

你可能需要将你的cv::Mat转换为一个InputArray,但这应该很简单。
至于点击像素以查看对应关系,我相信这是可能的,但在计算对应关系之后再考虑这个问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接