OpenCV立体声匹配

时间:2012-10-22 18:16:26

标签: opencv match stereo-3d disparity-mapping

我是OpenCV的新手。我正在使用2个网络摄像头进行立体声项目。我可以将网络摄像头捕获显示在左右视频中。我想要执行以下操作:当我单击左框架上的任何点时,我想在右图像上找到匹配点(Kinda使用块匹配或任何其他算法投影第二个视图上的点)。所以我可以计算出差距。我怎样才能做到这一点?提前谢谢。

1 个答案:

答案 0 :(得分:2)

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,但这应该非常简单。

至于点击像素以查看对应关系,我敢打赌它是可能的,但是在通信计算启动并运行之后再让我们担心。