前言
點(diǎn)云簡(jiǎn)單來(lái)說(shuō)就是3d坐標(biāo)下一個(gè)個(gè)點(diǎn)組成的數(shù)據(jù),每個(gè)點(diǎn)可以包含x,y,z,顏色、分類(lèi)值、強(qiáng)度值、時(shí)間等等信息。點(diǎn)云是3d數(shù)據(jù)的表示形式之一。
1. open3d.geometry.PointCloud
open3d中用來(lái)表示點(diǎn)云的數(shù)據(jù)結(jié)構(gòu)。pointcloud對(duì)象包含了很多處理點(diǎn)云的成員方法,如點(diǎn)云體素下采樣,點(diǎn)云上色等等。
pointcloud的靜態(tài)字段有:
(1)colors :numpy數(shù)組數(shù)據(jù),用來(lái)保存每一個(gè)點(diǎn)的顏色,shape為(num_points, 3)
(2) covariances:點(diǎn)協(xié)方差,numpy數(shù)組數(shù)據(jù),shape為(num_points, 3, 3)
(3)normals :點(diǎn)云法線(xiàn),numpy數(shù)組數(shù)據(jù),shape為(num_points, 3)
(4)points :用于保存所有點(diǎn)數(shù)據(jù),每個(gè)點(diǎn)有x,y,z坐標(biāo),numpy數(shù)組數(shù)據(jù),shape為(num_points, 3)
下面這個(gè)例子生成點(diǎn)云數(shù)據(jù):
import open3d as o3d
import numpy as np
num_points=10000
pcd=o3d.geometry.PointCloud()
points=np.random.randint(50, size=(num_points,3))
points=o3d.utility.Vector3dVector(points)
pcd.points=points
o3d.visualization.draw_geometries([pcd])
可視化結(jié)果如下:
下面我們?cè)谏厦娲a基礎(chǔ)上對(duì)點(diǎn)云進(jìn)行上色,我們把x坐標(biāo)值小于25的變成紅色,否則變成藍(lán)色:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-405078.html
import open3d as o3d
import numpy as np
num_points=10000
pcd=o3d.geometry.PointCloud()
points=np.random.randint(50, size=(num_points,3))
points=o3d.utility.Vector3dVector(points)
pcd.points=points
color=np.zeros((num_points,3))
for i in range(num_points):
if np.asarray(pcd.points)[i,0]<25:
color[i,0]=1
else:
color[i,2]=1
pcd.colors=o3d.utility.Vector3dVector(color)
o3d.visualization.draw_geometries([pcd])
可視化結(jié)果如下:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-405078.html
到了這里,關(guān)于open3d學(xué)習(xí)教程1--點(diǎn)云對(duì)象PointCloud的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!