日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

点云法向量

發布時間:2023/12/31 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 点云法向量 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????????法向量通常是針對于平面而言的,即垂直于平面的向量。因此,對于點云來說,需要先擬合出一個平面,然后才能求出相應的法向量。對于一個點,可以用周圍鄰近的點來擬合平面。

1 Open3d法向量計算方法? ? ? ??

????????這里將采用Open3d來計算法向量,其對應的函數為estimate_normals。該函數的一個參數是搜索是定義平面的搜索參數。

? ? ? ? 如上文所述,計算法向量需要擬合出一個平面,這個平面有臨近的點來決定。Open3d中提供三種方法來確定這些鄰近的點。所有計算的法向量模長為1

o3d.geometry.KDTreeSearchParamKNN(knn=20)# 計算近鄰的20個點 o3d.geometry.KDTreeSearchParamRadius(radius=0.01)#計算指定半徑內的點 o3d.geometry.KDTreeSearchParamHybrid(radius=0.01, max_nn=20)#同時考慮搜索半徑和近鄰點個數

2 python open3d 計算法向量

? ? ? ? 點云數據下載地址:ply格式點云樣例文件-深度學習文檔類資源-CSDN下載。

# -*- coding: utf-8 -*- """ Created on Sat Apr 16 08:51:41 2022@author: https://blog.csdn.net/suiyingy """import numpy as np import open3d as o3dif __name__ == '__main__': file_path = 'bun000.ply'ply = o3d.io.read_triangle_mesh(file_path)pcd = o3d.geometry.PointCloud()pcd.points = ply.verticesradius = 0.01 # 搜索半徑max_nn = 30 # 鄰域內用于估算法線的最大點數pcd.estimate_normals(search_param=o3d.geometry.KDTreeSearchParamHybrid(radius, max_nn))normals = np.array(pcd.normals)#法向量結果,Nx3#驗證法向量模長為1res = normals * normalsres = np.sum(res, axis=1)print(res)#法向量可視化o3d.visualization.draw_geometries([pcd], window_name="法線估計",point_show_normal=True,width=800, # 窗口寬度height=600) # 窗口高度

3 可視化結果

? ? ? ? 炸毛的兔子。

4 Open3d注意事項

? ? ? ? 點云格式必須設置為pcd格式才能進行法向量計算。ply格式不支持法向量計算,需要按照上述代碼中的方式轉換為pcd之后才可以計算法向量。pcd文件讀取后是可以直接進行法向量。

python三維點云研究計劃_Coding的葉子的博客-CSDN博客_3d點云 python將按照以下目錄持續進行更新……點云格式介紹、點云可視化、點云投影、生成鳥瞰圖、生成前視圖、點云配準、點云分割、三維目標檢測、點云重建、深度學習點云算法……https://blog.csdn.net/suiyingy/article/details/124017716更多三維、二維感知算法和金融量化分析算法請關注“樂樂感知學堂”微信公眾號,并將持續進行更新。

總結

以上是生活随笔為你收集整理的点云法向量的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。