簡體   English   中英

如何使用MATLAB將2D(x,y)坐標轉換為3D(x,y,z)坐標?

[英]How to convert 2D(x,y) coordinates to 3D(x,y,z) coordinates using MATLAB?

我正在嘗試使用MATLAB自動執行機械手。 所以問題是,相機將安裝在機械臂的基座上。 它將捕獲相機幀的快照並對其進行圖像處理,並將檢測到目標(對象)並找到其像素坐標。 完成后,該像素坐標應映射到現實世界的xyz度量坐標嗎? 並且此現實世界坐標(x,y,z)將用作反向運動學函數的參數,該函數將給出theta值,以便伺服器可以移動。

我被困在這里,這個像素坐標應該映射到現實世界的xyz度量坐標嗎? 我不知道該怎么做。 沒有任何想法,如何進行呢? 任何有領導的人,請分享!!

PS你們大家都認為,對於機械手臂的自動化,我應該使用MATLAB還是其他工具? 因為所有這些代碼都將使用ROS環境上傳到raspberry pi 3上。

最好的祝福

Hitesh庫馬爾

要計算圖像中給定像素的3D世界點,您需要深度信息(應使用3D相機,如Kinect ..etc)。 您可以擁有深度信息以及相機的內在和外在特性,可以將2D像素轉換為3D世界坐標,反之亦然。

下面的公式用於計算世界坐標中的X,Y,Z。

在此處輸入圖片說明

從技術上講, Perspective projection是相機將3D世界轉換為2D時所做的工作,以下等式表示此投影。

在此處輸入圖片說明

上圖是從這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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