2017-07-02 219 views
0

我想验证相应图像中两点C和D(CD)之间的距离。计算相应图像中两点之间的距离

照片拍在我的客厅里。每个瓷砖的尺寸为0.6x0.6(米)。

enter image description here

现实世界测量:

点A和点d(AD)=1.8米之间的距离。 点A和点B(AB)=0.6米之间的距离

图像平面坐标:

A '=(232,613)

B'=(221,341)

C '=(215,189)

d'=(210,98)

enter image description here

我用交叉比来计算CD。

环R {A 'B',C 'd'} = 1.316

环R {A,B,C,d} =(AC * BD)/(AD * BC )

计算后,CD是0.584米(而不是0.6米)

问题:

1)的方法,我下面来验证CD是否正确?

2)I应考虑这不是90度)A和d(之间的角度

3)I应该考虑这里消失点? 4)如果我们不知道A和B之间的真实世界距离,只知道AC和AD,是否有可能计算出B和A或者B和D之间的距离为 ?

5)上述计算中的差值0.016m是否可以接受?

我是射手几何的新手。请让我知道如果我做错了什么。

+0

不确定您的计算是否正确,但由于沿着C到D的像素分辨率约为每像素6mm,因此16毫米的误差似乎有点大。但是当C和D的测量图像点每个向相反方向偏离1个像素时,您已经有12mm的误差。所以如果你需要更高的精度,你可能不得不使用更高分辨率的相机和/或亚像素位置估计。 – hiroki

+0

我从手机拍摄的原始图像分辨率为2340x4160像素,1像素约为0.7mm。捕获的原始图像的交叉比率为1.3323。 我调整了原始图像的大小,以便openCV可以在窗口中显示图像。调整大小的图像的分辨率是468x832像素,1像素代表大约3.5mm。 –

回答

1
  1. 该方法是正确的,但我会使用单应性。
  2. 角度无关紧要,交叉比例是射影不变的
  3. 没有必要。
  4. 是的,在估计了平面与其图像之间的单应性后,可以根据图像估计平面上的每个距离,前提是至少有一个距离解决缩放。
  5. “可接受”在旁观者眼中,因为它取决于您的应用程序。对于你的面食食谱,2.67%的相对误差可能是可以的,但是如果你是一个焊接人员,想要在桥上连接梁,超过几毫米的任何东西都会太多。

建议 - 测量多个点,除去非线性失真(在壁的在图像的上部中的底部的行看起来弯曲),估计单应性。

相关问题