Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.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
Opencv 三角测量以查找到对象的距离-图像到世界坐标_Opencv_Matrix_Computer Vision_Distance_Triangulation - Fatal编程技术网

Opencv 三角测量以查找到对象的距离-图像到世界坐标

Opencv 三角测量以查找到对象的距离-图像到世界坐标,opencv,matrix,computer-vision,distance,triangulation,Opencv,Matrix,Computer Vision,Distance,Triangulation,我正在从事计算机视觉项目,利用立体图像来确定物体的距离 1.摄像机的标定 2.Surf匹配寻找基本矩阵 3.Zisserman和Hartley的书中描述了使用svd作为方法的旋转和平移向量。 4.StereoRective以获得投影矩阵P1、P2和旋转矩阵R1、R2。旋转矩阵也可以使用单应性R=CameraMatrix.inv()H Camera矩阵找到 问题: 我使用最小二乘三角剖分法对点进行三角剖分,以找到到对象的实际距离。它以[0.79856、.354541.258]的形式返回值。我将如何

我正在从事计算机视觉项目,利用立体图像来确定物体的距离 1.摄像机的标定 2.Surf匹配寻找基本矩阵 3.Zisserman和Hartley的书中描述了使用svd作为方法的旋转和平移向量。 4.StereoRective以获得投影矩阵P1、P2和旋转矩阵R1、R2。旋转矩阵也可以使用单应性R=CameraMatrix.inv()H Camera矩阵找到

问题: 我使用最小二乘三角剖分法对点进行三角剖分,以找到到对象的实际距离。它以[0.79856、.354541.258]的形式返回值。我将如何将其映射到真实世界坐标,以找到到对象的距离

备选办法: 求两幅图像中物体之间的视差,并使用给定的公式求出深度 深度=(焦距*基线)/视差

对于视差,我们必须首先进行校正,并且点必须不失真。我的照片是黑色的

请帮帮我,这很重要

下面是我如何实现代码的详细说明

  • 利用圆网格对摄像机进行标定,得到摄像机矩阵和畸变系数。代码在Github(Andriod)上给出

    2.给一辆车拍两张照片。第一个从左,另一个从右。获取子图像并计算-基本矩阵-基本矩阵-旋转矩阵-平移矩阵

    3.我试着从两个方面进行预测

  • 以第一幅图像投影为单位矩阵,通过旋转平移矩阵进行第二幅3x4d投影,进行三角剖分

  • 从立体矫正中获取投影矩阵P1和P2以执行三角剖分

我的目标距离摄像机65米,我不知道如何根据[0.79856,.354541.258]形式的三角测量结果计算出这个真实值


问题:我需要做一些额外的校准才能得到结果吗。我的代码不是基于了解对象几何尺寸的细节

那么你已经计算过三角剖分了?那么,在摄像机坐标中有点,也就是在以其中一个摄像机为中心的坐标框中(左边或右边的坐标框取决于代码的编写方式和图像的输入顺序)


你还想要什么?这些点的矢量长度(平方坐标和的平方根)是它们到同一摄像机的估计距离。如果你想让它们在其他“世界”坐标系中的位置,你需要给出该坐标系和相机之间的坐标变换——大概是通过一个校准过程

在上面的问题中,我添加了更多关于如何实现代码的细节。我想知道一个物体离我相机65米的真实距离。我想知道这些坐标如何帮助我估计距离。有任何计算或参考吗?@SameedTariq如果你没有得到答案,那么为什么要标记为答案?如果你得到了你想要的,那就不要编辑问题,使用新的线程来解决问题it@Ahmad . 据我所知,他指的是正确的方向。我没有得到答案。我的目标离摄像机65米远。这些坐标将如何帮助我显示估计65米的距离。您的相机经过校准,并根据基本矩阵计算出相机的相对姿势。现在,你需要一张密集的视差图,还是只需要几个对应点的位置?如果是后者,则不需要校正图像。只需对相应的像素进行三角剖分。如果结果仍然没有意义(例如,它们之间的距离太小,如您的示例中所示),则可能意味着您在校准中有错误的缩放。您是否为校准对象输入了正确的物理尺寸?@user3601754我无法理解您的评论。请打开一个新问题,而不是评论这个老问题。
             Localization of an object specified in the image.