【问题标题】:How to measure image coincidence in an optical rangefinder如何在光学测距仪中测量图像重合
【发布时间】:2015-12-02 09:58:49
【问题描述】:

我有几个 USB 网络摄像头(固定焦距)设置为简单的stereoscopic rangefinder,间隔 N 毫米,每个都向中心线旋转 M 度,我有 calibrated the cameras 以确保对齐。

在调整角度时,我将如何测量图像之间的重合度(最好在 Python/PIL/OpenCV 中)以了解相机何时聚焦在对象上?是不是像在每张图像中选择一段像素(A行B列)然后计算像素之间的差值之和那么简单?

【问题讨论】:

  • 如果您发布一些左右摄像头的照片可能会有所帮助,所以我们有一些东西可以试验?

标签: python opencv image-processing python-imaging-library


【解决方案1】:

问题是您不能假设相机的像素完美对齐

假设x-axis 是视差偏移轴,y-axis 是对齐的。即使您尽可能地对齐,您也需要识别 x 轴图像失真/偏移以检测视差对齐。绝对差异的结果不能保证在min/max 中,因此不是减去单个像素,而是减去该像素附近区域的平均颜色,其半径/大小大于y-axis 中的对齐误差。让我们将此半径或大小称为r,这样在对齐时产生的差异应该是最小的。

近似搜索

你甚至可以通过r加快这个过程

  1. 选择大r
  2. 使用步进扫描整个 x 范围,例如 0.25*r
  3. 选择最小差异 x 位置 (x0)
  4. r 更改为一半
  5. 转到项目符号 2(但这次整个 x 范围正好在 <x0-2.0*r,x0+2.0r> 之间
  6. 如果r 小于几个像素则停止

这样你就可以搜索O(log2(n))而不是O(n)

计算机视觉方法

这应该会更快:

  1. 检测兴趣点(在展位图像中)
    • 梯度的具体变化等...
  2. 图像之间的兴趣点交叉匹配
  3. 计算交叉匹配点之间的平均 x 距离
  4. 通过找到的点距离更改视差对齐方式
  5. 转到项目符号 1 直到 x 距离足够小

这样您可以避免检查整个 x 范围,因为对齐距离是直接获得的……您只需将其转换为角度或用于对齐视差的任何内容

[注释]

您不需要在整个图像区域上执行此操作,只需沿图像选择几条水平线并扫描其附近区域即可。

还有另一种方法来检测对齐,例如对于短距离,倾斜是对齐的重要标记,因此请比较相机之间左侧和右侧的对象高度...如果接近相同,则如果更大,则对齐/更小你没有对齐并且知道转向哪个方向......

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-08
    • 1970-01-01
    • 2011-03-18
    • 2020-05-13
    • 1970-01-01
    • 1970-01-01
    • 2012-01-27
    • 1970-01-01
    相关资源
    最近更新 更多