我們不同角度拍攝的rgb圖、深度圖和相應的pose.txt。
要建立乙個長方體包圍盒。讓所有的三維點都在這個長方體裡面。
假設z方向垂直相機。
很明顯,x,y方向上的極值就是影象的邊界。
影象的邊界點是就是四個角。
(0,0),(w,0),(0,h),(w,h)
z方向上深度範圍是0~max_depth
組合而成的邊界點就是(0,0,0),(0,0,max_depth),(w,0,0)等的2^3=8種情況,然後把這些點用相機的內參和外參換算到世界座標系中,長方體的極點。
在長方體內部劃分網格
比如說我們現在求得的長方體的極點分別是(-1,-1,-1),(1,1,1)單位是公尺。
我們要在這個長方體內部劃分網格,就是分割出乙個個等體積的小的立方體,也就是所謂的體素。我們讓體素的邊長是0.02,也就是2厘公尺。
那麼從-1到1,我們可以劃分出100個體素,也就是說這個長方體上每個小立方體的8個頂點的座標可以用(x,y,z)來表示,其中x,y,z都是0-100之間的,同時它們的世界座標也可以通過(-1+0.02x,-1+0.02y,-1+0.02*z)來計算出來。
以下來自
遍歷每一組資料(rgb圖、深度圖、pose.txt)
每次把這個長方體內的所有格點的世界座標通過逆變換到相機座標,再投影到上。
再將上對應位置的深度與格點的在相機座標系下的深度比較。
depth_diff = depth_val-cam_pts[2,:];
如果|depth_diff |用marching cubes演算法在tsdf網格中尋找dist加權和為0的等值面。就是物體表面。
opencv三維重建 三維重建 SLAM相關
wayne cvpr2020 oral 立體視覺cost volume構建新方法,效能soa,視訊記憶體和執行時間大幅降低 雙目立體視差圖進行三維點雲重建 opencv3.4.1 pcl1.8 用vs opencv3.1從雙目立體視差圖中重建三維點雲 使用opencv以及pcl將2d影象轉換為3d點...
基於slam的三維重建 SLAM 三維重建相關資源
有人問不知道去 找slam 三維重建相關資源,1 跟蹤slam前沿動態 更新的很頻繁 track advancement of slam 2 很全視覺slam資料大全,包括 the list of vision based slam visual odometry open source proje...
三維重建方法
三維重建技術就是要在計算機中真實地重建出該物體表面的三維虛擬模型,構建乙個物體完整的三維模型,大致可以分為三步 1.利用攝像機等影象採集裝置對物體的點雲資料從各個角度釆集,單個攝像機只能對物體的乙個角度進行拍攝,要獲得物體表面完整資訊,需要從多個角度對物體拍攝 2.將第一步獲得的各視角點雲資料變換到...