我有帶有黃色標記的機器人影像,如圖所示

顯示的黃色點是標記。有兩個用于查看的攝像機以 90 度的偏移量放置。機器人在攝像機之間彎曲。可以參考設定的粗略示意圖。
https://i.stack.imgur.com/aVyDq.png
使用這兩個相機,我可以獲得黃色標記的 3d 坐標。但是,我需要找到機器人中心點的 3d 坐標,如圖所示。

我需要找到圓柱形機器人內部的紅色標記點的 3d 位置。首先,它是否可行?如果是,我可以使用什么方法來實作這一目標?作為獎勵,是否有任何文獻可以找到我可以參考的此類內部點的 3d 位置(我搜索過,但找不到與我的問題類似的任何內容)。
我也歡迎理論解決方案(只要它確保在合理的錯誤范圍內找到中心點),稍后我可以將其轉換為代碼。
uj5u.com熱心網友回復:
如果您知道白帶的實際尺寸,或者至少知道形狀(例如完美的圓形),那么是的,這是可行的和可能的。
您需要執行以下步驟,這些步驟非常重要,我不會在這里執行它們:
可選但非常建議:校準您的相機,并使其不失真。
對于任何給定的旋轉,找到 3D 圓投影到 2D 相機中的方程。您可以通過假設白線完全水平來簡化這一點。您需要一些函式,該函式采用制作圓和旋轉的引數。
找到影像中的所有白色條帶,將它們分割,并使它們水平(旋轉它們)
將校正后的白色圓圈中的點擬合到 (1) 中的等式。如果你把方程寫對了,那應該會給你 3d 圓的引數(半徑,角度)。
現在您已經有了實際圓的決議方程(方程 1 和引數 3),您可以將這個圓的任何點(例如它的中心)映射到影像位置。請記住在第 2 步中取消校正旋轉。
這需要了解曲線擬合、一些幾何分析數學和良好的代碼技能。不是微不足道的,但這將提供一個高度準確的解決方案。
對于不準確的解決方案:
- 找到白色圓圈的端點
- 使線連接端點
- 選擇中心作為這條線的中點。
這將是不準確的,因為:選擇端點將比用所有點擬合方程有更多的錯誤,忽略相機的錐形視圖,忽略幾何。
但這可能足以滿足您的需求。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/505699.html
上一篇:用OpenCV測量熱鋼板的寬度
