2017-07-02 194 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%的相對誤差可能是可以的,但是如果你是一個焊接人員,想要在橋上連接梁,超過幾毫米的任何東西都會太多。

建議 - 測量多個點,除去非線性失真(在壁的在圖像的上部中的底部的行看起來彎曲),估計單應性。

相關問題