基于向量的距离估计opencv

distance estimation opencv base on vector

我正在尝试使用 OpenCV 并通过模拟二维矢量场来计算距离。

短篇小说: 我有:

image : 2d field on x axis

我在特定的高度和角度设置了摄像头。 我的第一个场景,对象位于位置 (3,0)(在 frame:y=0 中)。 第二个场景,在 (5,0) (in frame:y=240)

我的问题是,

长话短说:

我需要估算车距。 我读过 http://www.pyimagesearch.com/2015/01/19/find-distance-camera-objectmarker-using-python-opencv/,它使用对象的固定宽度或高度,意味着如果对象改变,结果也会改变(我说的对吗?)所以我需要一个变通方法。

或者如果你有更好的方法,我会很高兴知道。谢谢。

鉴于你知道相机的位置和属性,你可以找到汽车的确切位置,如果它正在看一条笔直的道路并且汽车没有飞:)

how do I know where the object would be in frame, given the object at (7,0)? what equation should I use?

  • 您需要找到 intersection of two lines。第一行交叉点 p1(0, 1.5)p2(0,7);第二行 P1(3,0), P2(f/cos(a), 1.5)

    P2 是绿线(图像平面,或点为 (y=?),.. 的线)和 horizon 的交点。 f是焦距,a是fov线与horizon的夹角。

do I need aware of lens distortion? (currently using video input, later will be using camera) do camera distortion callibration will fix it?

  • 你应该消除镜头畸变。否则只能精确定位图像中心的点。

你给的link是用矩形的大小和三角形的相似度来求距离的。它还使用 2D object,这意味着他可以轻松找到仿射变换来细化结果。我猜你不知道所有汽车的尺寸,你只需要找到最近的车辆车轮的位置。祝你好运 :) 向 google 询问 实时汽车检测 .

之类的东西

车子的影子也是个问题,希望你住在北欧:)