溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

怎么使用Python點(diǎn)云生成3D網(wǎng)格

發(fā)布時(shí)間:2023-03-22 11:22:44 來(lái)源:億速云 閱讀:110 作者:iii 欄目:開(kāi)發(fā)技術(shù)

今天小編給大家分享一下怎么使用Python點(diǎn)云生成3D網(wǎng)格的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。

1、介紹

點(diǎn)是具有 3 軸坐標(biāo)(x, y, z)的點(diǎn)的集合。這種類(lèi)型的集合可以來(lái)自不同的來(lái)源并以不同的格式保存??梢允褂梅Q(chēng)為表面重建算法的不同算法將點(diǎn)云轉(zhuǎn)換為 3D 網(wǎng)格。為了執(zhí)行表面重建,本指南使用PyVista,這是一個(gè)易于使用的庫(kù)來(lái)處理 3D 數(shù)據(jù)。

要從 PyPI 安裝最新版本的 PyVista,請(qǐng)使用:

pip install pyvistaa

2、程序

生成網(wǎng)格的代碼非常短。你只需要提供一個(gè)N × 3形狀的 NumPy 數(shù)組,其中N是點(diǎn)的數(shù)量,三列是每個(gè)點(diǎn)的x位置、y位置和z位置。該過(guò)程中最具挑戰(zhàn)性的部分是獲取感興趣對(duì)象的點(diǎn)云,因?yàn)橐坏┯辛怂?,生成網(wǎng)格的完整代碼就非常短:

import numpy as np
import pyvista as pv
# NumPy array with shape (n_points, 3)
points = np.genfromtxt('points.csv', delimiter=",", dtype=np.float32)

point_cloud = pv.PolyData(points)
mesh = point_cloud.reconstruct_surface()
mesh.save('mesh.stl')

在此示例中,點(diǎn)云是從以下格式的 CSV 文件中提取的:

怎么使用Python點(diǎn)云生成3D網(wǎng)格

不管你的觀(guān)點(diǎn)來(lái)自哪里,重要的是pv.PolyData(points)按照上面提到的格式向方法傳遞一個(gè) NumPy 數(shù)組。

如果你想可視化點(diǎn)云使用:

point_cloud.plot(eye_dome_lighting= True )

Eye Dome 照明是一種著色技術(shù),可在可視化點(diǎn)云時(shí)改善深度感知。

怎么使用Python點(diǎn)云生成3D網(wǎng)格

點(diǎn)云可視化的示例。來(lái)自PyVista 示例的源文件。

如果您想可視化生成的網(wǎng)格,請(qǐng)使用:

mesh.plot(color='orange')

怎么使用Python點(diǎn)云生成3D網(wǎng)格

網(wǎng)格可視化的示例。來(lái)自PyVista 示例的源文件。

怎么使用Python點(diǎn)云生成3D網(wǎng)格

以上就是“怎么使用Python點(diǎn)云生成3D網(wǎng)格”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI