雙目測距,要求是檢測空間中指定的一個點的距離就可以了(我是在白色盒子的一個角上畫了個黑點)。現在通過匹配特征點,左右影像該點的像素坐標已經求出來了。三角測量法中距離Z=f·B/d,其中f是焦距,B是基線距離,d是視差。
問題是:視差為像素差值,單位是像素pixel,而f和B都是長度單位,這樣算出來的距離Z就不是距離單位了呀...難道公式中的焦距f用的是像素焦距fx,fy嗎?
求大神解惑。
(用MATLAB雙目標定得到的空間圖顯示兩個相機接近平行,所以我就沒有立體校正。想直接匹配要測的特征點,然后用三角測量法算距離)
uj5u.com熱心網友回復:
我沒用過你這個方法,單就公式來看,你這個是不是就是真是距離Z(物理距離) / 焦距(pixel) = 基線距離B(物理距離) / 視察(pixel)
如果公式成立的話,
你得到Z不是單位距離,而是物理距離。
uj5u.com熱心網友回復:
Z=f·B/x1-x2 我的理解,公式里的x1,x2應該是影像坐標系,而非像素坐標系。還有我想問一下樓主做出來了沒,一般我們都用匯聚式模型重投影矩陣計算z。這種平行模型做出來精度可以嗎?uj5u.com熱心網友回復:
Z=f·B/dZ坐標 = 焦距 * 基線 / 左右視差
Z、B 為距離單位m、mm等;
f、d單位為m、mm等,或pixel,但必須一致。
兩類單位的轉換靠像元尺寸,即像素大小,一般為相機芯片里1個像素的物理尺寸(微米級)。
若兩相機不平行,即外引數不是規則的左右平移關系,則不可直接用此公式,需要轉化;
就像經過旋轉平移的橢圓不能再用標準橢圓方程表示。
uj5u.com熱心網友回復:
先說結論:f是像素焦距fx,fy通常fx和fy是相同或者相近的,具體是哪一個,取決于你演算法中像素坐標和相機坐標的關系

uj5u.com熱心網友回復:
好滴,謝謝啦~
uj5u.com熱心網友回復:
請教一個問題 雙目測距 立體校正的影像需要裁剪嗎uj5u.com熱心網友回復:
三角測量法適用的前提是兩個相機必須要做過rectification,即將兩個相機旋轉到一個水平面并且反畸變uj5u.com熱心網友回復:
請問這個測距還需要兩個相機的影像進行立體匹配嘛?用sgbm或bm,會不會出現左右相機里的兩個點匹配不到的問題?因為我看其他的博客有視差圖,不是很完整。轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/66701.html
標籤:機器視覺
