Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 基于矢量的opencv距离估计_C++_Opencv_Camera_Vector Graphics - Fatal编程技术网

C++ 基于矢量的opencv距离估计

C++ 基于矢量的opencv距离估计,c++,opencv,camera,vector-graphics,C++,Opencv,Camera,Vector Graphics,我试图通过OpenCV和模拟2d向量场来计算距离 短篇故事: 我有: 摄像机角度 摄像机位置 2物体位置 我在一定的高度和角度设置了摄像头。 我的第一个场景,位于位置(3,0)的对象(在帧中:y=0)。 第二个场景,在(5,0)(帧内:y=240) 我的问题是, 在继续之前,是否可以使用此方法 如果对象位于(7,0),我如何知道对象在帧中的位置?我应该用什么等式 我需要知道镜头失真吗?(目前使用视频输入,以后将使用摄像头)做摄像头失真校准将 修好它 长话短说: 我需要估计一下汽车的距离

我试图通过OpenCV和模拟2d向量场来计算距离

短篇故事: 我有:

  • 摄像机角度
  • 摄像机位置
  • 2物体位置

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

我的问题是,

  • 在继续之前,是否可以使用此方法
  • 如果对象位于(7,0),我如何知道对象在帧中的位置?我应该用什么等式
  • 我需要知道镜头失真吗?(目前使用视频输入,以后将使用摄像头)做摄像头失真校准将 修好它
长话短说:

我需要估计一下汽车的距离。 我已经读过,它使用一个物体的固定宽度或高度,这意味着如果物体改变了,结果会改变(我说的对吗?),所以我需要一个变通方法


或者如果你有更好的方法,我很乐意知道。谢谢。

如果您知道摄像头的位置和属性,您可以找到汽车的确切位置,如果它在直道上行驶,而汽车没有飞行:)

我如何知道对象在帧中的位置,给定对象在帧中的位置 (7,0)? 我应该用什么等式

  • 你需要找到你想要的。第一个线路交叉点p1(0,1.5)和p2(0,7);第二行P1(3,0),P2(f/cos(a),1.5)

    P2是绿线(图像平面,或点为(y=?),…)和地平线的交点。f是焦距,a是fov线和地平线之间的角度

我需要知道镜头失真吗?(目前正在使用视频输入, 稍后将使用相机)做相机失真校准将修复 是吗

  • 你应该消除镜头失真。否则,只能精确定位图像中心的点
您提供的链接使用矩形的大小和三角形的相似性来查找距离。它还使用2D对象,这意味着他可以轻松找到仿射变换来细化结果。我想你不知道所有汽车的大小,你只需要找到离你最近的车轮的位置。祝你好运:)向谷歌咨询实时汽车检测之类的东西


车的阴影也会有问题,我希望你住在北欧:)

太好了,谢谢:)焦距是多少?是相机规格(目前使用手机相机)还是相机和物体之间的距离?我想是相机规格。我拿不到手机相机规格。。有什么方法可以计算/近似吗?我不擅长校准。试着做一个类似“计算机视觉摄像机校准”的研究,我找不到它的焦距。。你觉得使用三角形相似性怎么样?