如何从视差图中获取球的深度值

时间:2014-04-27 17:20:39

标签: c# computer-vision emgucv

您好我正在编写一个从视差图中检索球的z坐标的程序。我正在使用EmguCv包装器类。目前我有很多元素在起作用,虽然虽然不是很完美但只是需要一些调整。到目前为止完成的步骤如下:

  1. 两台摄像机同时运行,每个摄像机视图显示在一个图像框中。

  2. 在识别棋盘方块并存储内在和外在参数的情况下进行相机校准。

  3. 图像经过校正和不失真,以尽可能消除噪音和失真。

  4. 我在每张图片中都标识了球,标记了球的中心并检索了x和y坐标。

  5. 创建并显示视差图,并实现reprojectImageTo3D()方法,以给出地图中像素的x,y和z坐标。

  6. 我目前的问题是如何在视差图中隔离球,以便仅获得x,y和尤其是z坐标。我已经看到了从视差图中提取单个对象的实例,例如, http://disparity.wikidot.com/,标题为“#34;为色彩映射添加色彩和动态”#34;

    是否有可用于识别和提取球的方法,或者是由SURF或SIFT过程执行的提取?

    提前致谢

    史蒂夫

1 个答案:

答案 0 :(得分:0)

您需要提供更多详细信息才能获得有用的答案。

例如,您是在寻找一个完全自动化的解决方案,还是让人工操作员提供一些输入(“提示”)是否可以接受?如果是后者,问题变得容易多了 - 一种常见的方法是在输入图像中的一个或几个像素上输入鼠标(点击),通过视差图查找相应的深度,然后“增长”通过添加相邻像素从那里开始拟合球体 - 您将需要从失败拟合误差阈值开始,并在添加的样本数量增加时将其收紧。