簡體   English   中英

從3D點創建深度圖

[英]Create depth map from 3d points

我已經給出了場景的3d點或這些點的子集,包括該場景的一個對象。 我想從這些點創建一個深度圖像,即圖像中的像素值編碼相應3d點到相機的距離。

我發現以下類似問題

http://www.mathworks.in/matlabcentral/newsreader/view_thread/319097

但是,那里的答案對我沒有幫助,因為我想使用MATLAB。 獲取圖像值並不困難(例如,簡單地計算每個3d點到相機原點的距離),但是我不知道如何找出2d圖像中的相應位置。

我只能想象您將所有3d點投影到一個平面上,並將它們在平面上的位置合並為平面上離散的矩形。 然后,您可以平均每個箱的深度值。 但是,我可以想象這樣的過程的結果將是非常像素化的圖像,而不是非常平滑。 您將如何解決這個問題?

假設您已經校正了攝像機的傾斜度(如果知道角度,則可以進行簡單的矩陣乘法),您可以按照以下示例進行操作

X = data(:,1);
Y = data(:,1);
Z = data(:,1);

%// This bit requires you to make some choices like the start X and Z, end X and Z and resolution (X and Z) of your desired depth map
[Xi, Zi] = meshgrid(X_start:X_res:X_end, Z_start:Z_res:Z_end);

depth_map = griddata(X,Z,Y,Xi,Zi)

暫無
暫無

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

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