2015-09-06 70 views
2

我有几个USB摄像头(固定焦距)设置为简单的stereoscopic rangefinder,相距N毫米,每个向中心线旋转M度,我已经calibrated the cameras确保对齐。如何在光学测距仪中测量图像重合度

当调整角度时,我将如何测量图像之间的重合(最好在Python/PIL/OpenCV中)以了解相机何时聚焦在一个物体上?是否像在每个图像中选择一部分像素一样简单(A列由B列组成)并计算像素之间的差异总和?

+1

也许它会帮助,如果你张贴左侧和右侧相机的一些图片,所以我们有什么可以尝试? –

回答

2

的问题是,你不能假设的相机

  • 像素完美对齐所以我们假设x - 轴是视差移轴
  • y - 轴对准
  • 你需要识别x轴图像失真/偏移以检测视差对齐
  • 即使尽可能对齐,abs差异的结果也不能保证在min/max
  • 所以不是从其减去各个像素在y-axis
  • 半径/尺寸更大然后对准误差的像素的附近区域的
  • 。减去平均色让调用该半径或大小r
  • 这种方式所得到的比对时的差异应该是最小的

逼近搜索

  • 你甚至可以r

    1. 加快这一进程,选择具有例如0.25*r
    2. 步大01​​
    3. 扫描整个X-范围选择最低的差异x位置(x0
    4. 更改r一半
    5. 转到第2项(但这次整个X系列是
    6. 只是<x0-2.0*r,x0+2.0r>之间停止,如果r小则几个像素
  • 这种方式,您可以在O(log2(n))搜索,而不是O(n)

计算机视觉的方式

  • 这应该是更快:

    1. 检测感兴趣(展位图片)个梯度
      • 具体的变化,等等。的图像之间的利益
    2. 交叉匹配点
    3. 交叉匹配点之间
    4. 计算平均距离x
    5. 变化视差通过
    6. 转到子弹1,直到距离x点的发现距离对齐是足够小
  • 这样就可以避免检查整个X-范围

  • 因为对齐distan CE是直接获得...
  • 你只需要将其转换为角度或什么都使用对齐视差

[注意事项]

  • 你不需要做这个在整个图像区域
  • 选择沿图像水平几线和扫描其附近区域
  • 也有另一种方法来检测allign
  • 例如用于短距离偏斜的对齐
  • 显著标记,以便于比较摄像机之间的左侧和右侧对象的高度...
  • 如果接近相同的,如果大/小你是你对齐不对齐,并知道哪个方向...