[英]How to get 3D position using Monocular vision and OpenCV
當相機與地面保持(例如)45 度時,如何使用一台相機和 OpenCV 確定對象的 3D 位置?
兩種類型的運動可以應用於 3D 世界中的相機:平移和旋轉。 如果沒有轉換,則無法從單色相機推斷深度。 您應該檢查立體視覺以了解詳細信息。
簡單地說,您需要恢復基本矩陣,其中 E = [t_x]R 並且如果 t_x = 0,這意味着您使用的是單眼視覺。 經典立體視覺無法恢復這一點。
但是,有一些方法使用訓練數據集的深度來推斷測試圖像的深度。 請檢查這張幻燈片。 他們發布了他們的 Matlab 代碼; 但是,您可以輕松地自己實現它。
如果您想要更准確的結果,您可以使用深度學習模型來估計輸入圖像中像素的深度。 有可用的,例如一些這方面的開源模型一個。 但是,請注意,從自動駕駛汽車的角度來看, bts
模型是使用KITTI
數據集訓練的。 為了獲得更好的結果,您需要有一個與您的應用程序相關的數據集。 然后使用諸如bts
框架來訓練深度估計模型。 該模型將為您提供具有(x,y,z)
坐標的單個圖像的點雲。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.