點雲的三種可視化方法

1 點雲介紹

點雲數據是來自斯坦福大學的 HDF5 格式數據。HDF5 格式是用於存儲和分發科學數據的一種多對象文件格式。可以用 HDFView 打開文件,查看數據。


1
www = 'https://shapenet.cs.stanford.edu/media/modelnet40_ply_hdf5_2048.zip


點雲還有 PLY 格式:PLY 文件格式是 Stanford 大學開發的一套三維 mesh 模型數據格式,圖形學領域最初很多模型都是基於此格式,我使用了此格式的點雲物體文件進行了部分物體的參考和對比。

點雲還有 PCD 格式:一種新的 3D 點雲數據文件格式,是當初爲了解決某些不支持 PCL 爲 3D 點雲處理進行的文件擴展。他的文件頭部具有固定格式,必須用 ASCII 編碼,包含標題、對點雲數據的某些屬性的聲明。PCD 文件可以使用 PCL 庫裏的 PCL_Viewer 打開,從而直接查看到點雲的三維圖像。

MAC 上的 PCL_Viewer 需要裝 PCL 庫,當時配置的一些問題記錄在博客裏了。PCL 在 Mac 上環境問題

2 可視化方法

2.1 Matplotlib 方法


1
2
3
4
5
6
7
8
9
10
11
12
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# point_range = range(0, points.shape[0], skip) # skip points to prevent crash
point_range = range(0, points.shape[0])
ax.scatter(points[point_range, 0], # x
points[point_range, 1], # y
points[point_range, 2], # z
c=points[point_range, 2], # height data for color
cmap='spectral',
marker="x")
ax.axis('scaled') # {equal, scaled}
plt.show()


效果如下:

2.2 PCD 格式轉化用 PCL_Viewer 可視化

對 HDF5 格式的數據進行了重寫爲 PCD 文件格式,主要 就是將數據寫入的時候需要滿足 PCD 文件頂頭部分的特定格式。PCL_viewer 是可視化點雲文件的 PCL 工具,它需要用到 PCL 庫裏的 vtk 庫進 行可視化。

詳情見我的 github 項目裏 點雲分類 的 H5toPcd.py。

2.3 Three.js 網頁可視化

首先構建一個場景,遍歷添加 3D 點雲的所有 點到場景裏,並給點賦值顏色 RGB 值和材質,其實場景就是物體的一個容器。然後設置好相機,相機的角度決定了場景中某一角度的 3D 點雲物體的圖像。相機對 旋轉的點雲拍照,從而渲染顯示在頁面上即可看到可視化的點雲物體了。最後設置 好渲染器。使用渲染器的 render (scene, camera) 函數,設置渲染器的像素和頁面元 素大小,渲染器將相機拍到的圖形渲染顯示在頁面的元素內,從而在頁面中可以看到圖像。

詳情見 github 項目 點雲分類網頁展示 的 draw2.html

Reference

  1. 普林斯頓大學 Modelnet 官網,http://modelnet.cs.princeton.edu/ 2018 Princeton Vision &

    Robotics Labs ‒ Department of Computer Science

  2. PCL 官網,http://www.pointclouds.org/about/#open 2018/5/23

  3. Three.js 官網 https://threejs.org/ 2018/5/23

原文:


https://saruagithub.github.io/2020/01/16/20200116%E7%82%B9%E4%BA%91%E7%9A%84%E4%B8%89%E7%A7%8D%E5%8F%AF%E8%A7%86%E5%8C%96%E6%96%B9%E6%B3%95/

本文分享自微信公衆號 - 小弧光黑板報(gh_ba6067dca33c)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章