【发布时间】:2014-02-24 14:21:38
【问题描述】:
Localization of an object specified in the image.
我正在从事计算机视觉项目,以使用立体图像查找对象的距离。我使用 OpenCV 遵循以下步骤来实现我的目标 1. 相机校准 2. 冲浪匹配找到基本矩阵 3. Zisserman 和 Hartley 书中描述了使用 svd 作为方法的旋转和平移向量。 4. StereoRectify得到投影矩阵P1、P2和旋转矩阵R1、R2。旋转矩阵也可以使用 Homography R=CameraMatrix.inv() H Camera Matrix 找到。
问题: 我使用最小二乘三角法对点进行三角测量,以找到到物体的真实距离。它以 [ 0.79856 , .354541 .258] 的形式返回值。我将如何将其映射到现实世界坐标以找到到对象的距离。
替代方法: 查找两个图像中对象之间的差异,并使用给定的公式查找深度 深度=(焦距*基线)/视差
对于视差,我们必须先进行校正,并且点必须不失真。我的整改图像是黑色的。
请帮帮我,这很重要
这是我如何实现代码的详细说明。
-
使用圆形网格校准相机以获得相机矩阵和失真系数。代码在 Github (Andriod) 上给出。
2.拍两张汽车的照片。首先从左到右。取子图像,计算-基本矩阵-基本矩阵-旋转矩阵-平移矩阵....
3.我尝试了两种投影方式。
将第一个图像投影作为单位矩阵,通过旋转和平移矩阵制作第二个 3x4d 投影并进行三角剖分。
从 Stereo Rectify 获取投影矩阵 P1 和 P2 以执行三角测量。
我的对象距离相机 65 米,我不知道如何根据 [0.79856 , .354541 .258] 形式的三角测量结果来计算这一点
问题:我是否需要做一些额外的校准才能得到结果。我的代码不是基于了解对象几何尺寸的细节。
【问题讨论】:
标签: opencv matrix computer-vision distance triangulation