2012-10-22 77 views
2

我是OpenCV的新手。我正在使用2个摄像头开展立体项目。我可以将摄像头捕捉显示在左侧和右侧视频中。我想要做以下事情:当我点击左边框架上的任意一点时,我想在右边的图像上找到匹配点(有点使用块匹配或任何其他算法投影第二个视图上的点)。所以我可以计算差距。我怎样才能做到这一点?提前致谢。OpenCV立体匹配

回答

1

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::MatInputArray,但是这应该是很简单。

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