目錄
一、說明
二、如何安裝open3d??
三、顯示點云數(shù)據(jù)
3.1 顯示點云場景數(shù)據(jù)
3.2 體素下采樣
3.3 頂點法線估計
一、說明
????????對于點云?處理,這里介紹哦pen3d,該軟件和opencv同樣是interl公司的產(chǎn)品。
????????Open3D 是一個開源庫,支持快速開發(fā)處理 3D 數(shù)據(jù)的軟件。 Open3D 前端在 C++ 和 Python 中公開了一組精心挑選的數(shù)據(jù)結(jié)構(gòu)和算法。后端經(jīng)過高度優(yōu)化,并設(shè)置為并行化。
Point cloud — Open3D 0.17.0 documentation
二、如何安裝open3d??
pip install open3d # or pip install open3d-cpu # Smaller CPU only wheel on x86_64 Linux (since v0.17+)
三、顯示點云數(shù)據(jù)
3.1 顯示點云場景數(shù)據(jù)
import open3d as o3d
import numpy as np
print("Load a ply point cloud, print it, and render it")
ply_point_cloud = o3d.data.PLYPointCloud()
pcd = o3d.io.read_point_cloud(ply_point_cloud.path)
print(pcd)
print(np.asarray(pcd.points))
o3d.visualization.draw_geometries([pcd],
zoom=0.3412,
front=[0.4257, -0.2125, -0.8795],
lookat=[2.6172, 2.0475, 1.532],
up=[-0.0694, -0.9768, 0.2024])
????????這里:ply_point_cloud = o3d.data.PLYPointCloud()語句從網(wǎng)上下載了演示點云數(shù)據(jù)。然后顯示。注意,我們自己做的需要接入相機,也生成類似的點云。
????????read_point_cloud 從文件中讀取點云。它嘗試根據(jù)擴(kuò)展名解碼文件。有關(guān)支持的文件類型的列表,請參閱文件 IO。
????????draw_geometries 可視化點云。使用鼠標(biāo)/觸控板從不同的角度查看幾何體。
????????它看起來像一個密集的表面,但它實際上是一個渲染為面元的點云。 GUI 支持各種鍵盤功能。例如,- 鍵減小點(面元)的大小。
????????實驗結(jié)果:
python -c "import open3d as o3d; mesh = o3d.geometry.TriangleMesh.create_sphere(); mesh.compute_vertex_normals(); o3d.visualization.draw(mesh, raw_mode=True)"
GitHub - isl-org/Open3D-ML: An extension of Open3D to address 3D Machine Learning tasks
3.2 體素下采樣
????????下采樣函數(shù)
????????downpcd = pcd.voxel_down_sample(voxel_size=0.05)
print("Downsample the point cloud with a voxel of 0.05")
downpcd = pcd.voxel_down_sample(voxel_size=0.05)
o3d.visualization.draw_geometries([downpcd],
zoom=0.3412,
front=[0.4257, -0.2125, -0.8795],
lookat=[2.6172, 2.0475, 1.532],
up=[-0.0694, -0.9768, 0.2024])
3.3 頂點法線估計
????search_param=o3d.geometry.KDTreeSearchParamHybrid(radius=0.1, max_nn=30))
????????點云的另一個基本操作是點法線估計。按 N 查看點法線。鍵 - 和 + 可用于控制法線的長度。?
print("Recompute the normal of the downsampled point cloud")
downpcd.estimate_normals(
search_param=o3d.geometry.KDTreeSearchParamHybrid(radius=0.1, max_nn=30))
o3d.visualization.draw_geometries([downpcd],
zoom=0.3412,
front=[0.4257, -0.2125, -0.8795],
lookat=[2.6172, 2.0475, 1.532],
up=[-0.0694, -0.9768, 0.2024],
point_show_normal=True)
參考文章:文章來源:http://www.zghlxwxcb.cn/news/detail-769776.html
OpenCV——單目視覺:方形標(biāo)定板角點提取_find4quadcornersubpix_點云俠的博客-CSDN博客文章來源地址http://www.zghlxwxcb.cn/news/detail-769776.html
到了這里,關(guān)于什么是open3D?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!