簡體   English   中英

如何使用單目視覺和 OpenCV 獲得 3D 位置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM