[英]Calculating a distance from an object to a camera using stereo vision
我一直在嘗試計算物體與我的一台相機(同一型號)之間的距離。 校准后,我成功獲得以下矩陣。 分辨率為600 x 480。
Left Camera Matrix
[[624.65871068 0. 279.196958 ]
[ 0. 637.37379116 267.35689643]
[ 0. 0. 1. ]]
Left Distortion Coefficients
[[ 0.07129149 -0.32551738 0.00165004 0.00582742 0.55830776]]
Right Camera Matrix
[[628.54997755 0. 278.88536288]
[ 0. 638.88299319 262.29519192]
[ 0. 0. 1. ]]
Right Distortion Coefficients
[[ 0.05281363 -0.20836547 0.0015596 0.00694854 -0.18818856]]
Calibrating cameras together...
Rotation Matrix
[[ 9.78166692e-01 -2.92706245e-02 -2.05750220e-01]
[ 2.87961989e-02 9.99571250e-01 -5.30056367e-03]
[ 2.05817156e-01 -7.39989429e-04 9.78590185e-01]]
Translation Vector
[[6.87024126]
[0.33698621]
[0.82946341]]
如果我可以從兩個攝像機中檢測到一個物體,則可以說在左攝像機的像素(a,b)和右攝像機的(c,d)中找到了一個物體。 有什么辦法可以使一台相機到物體之間的距離?
另外,我擁有的腳本實現了cv2.stereoRectify和cv2.initUndistortRectifyingMap,可用於獲取固定幀,然后使用cv2.StereoBM_create()計算深度圖。 好吧,老實說,我不確定這是否可以用於計算距離。
謝謝!
在計算到攝像機的距離時,您需要從(通常為“左”)攝像機矩陣中了解兩個參數:(1)基線; (2)焦距。
通常,我們使用“ LEFT”圖像作為主要參考圖像,因為在大多數情況下,我們會基於左側圖像計算深度圖/視差圖像。
在左側圖像上具有對象(x,y)的坐標之后,可以對公式求逆,並按以下方式計算Z距離:
參考: OpenCV-立體圖像的深度圖
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.