亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > python實現CSF地面點濾波算法原理解析

python實現CSF地面點濾波算法原理解析

熱門標簽:成都呼叫中心外呼系統哪家強 百應電話機器人總部 地圖標注與注銷 西青語音電銷機器人哪家好 無錫智能外呼系統好用嗎 旅游廁所地圖標注怎么弄 南昌地圖標注 宿州電話機器人哪家好 電梯新時達系統外呼顯示e

一、算法原理

布料模擬濾波處理流程:
1)利用點云濾波算法或者點云處理軟件濾除異常點;
2)將激光雷達點云倒置;
3)設置模擬布料,設置布料網格分辨率 G R GR GR,確定模擬粒子數。布料的位置設置在點云最高點以上;
4)將布料模擬點和雷達點投影到水平面,為每個布料模擬點找到最相鄰的激光點的高度值,將高度值設置為 I H V IHV IHV;
5)布料例子設置為可移動,布料粒子首先受到重力作用,當粒子高度 C H V CHV CHV小于 I H V IHV IHV時,將粒子高度設置為 I H V IHV IHV;粒子設置為不可移動;
6)計算布料粒子之間的內力作用,根據設置的布料剛性參數,調整布料粒子之間的相對位置;
7)重復進行5)和6)計算,迭代次數達到設置的最大迭代次數;
8)計算激光雷達點與對應布料模擬點的距離,距離小于閾值標記為地面點,距離大于閾值標記為非地面點。

點云地面點濾波(Cloth Simulation Filter, CSF)“布料”濾波算法介紹

二、讀取las點云

參考鏈接: python讀取las
1、GitHub: laspy
2、基礎教程:Laspy: Documentation
3、安裝:pip install laspy
4、使用example:

import laspy
#============讀取las格式的點云===========
inFile = laspy.file.File(r"40m1.las", mode='r') # 讀取點云
print('X,Y,Z',inFile.x,inFile.y,inFile.z) # 輸出點云坐標
print('點云個數:',len(inFile)) #讀取點云個數
#============保存點云為las文件===========
h = inFile.header
outFile = laspy.file.File('666.las', mode = "w", header=h)
points = inFile #對點云進行的相關操作
outFile.points = points
outFile.close() #關閉文件完成保存

三、算法源碼

1、算法細節:CSF
2、源碼獲取:https://github.com/jianboqi/CSF
3、源碼編譯:下載源代碼。在python文件夾下:
python setup.py build
python setup.py install
4、讀取las并可視化算法結果

import laspy
import CSF
import numpy as np
import open3d as o3d
#============讀取las文件=============
inFile = laspy.file.File(r"40m1.las", mode='r') # read a las file
points = inFile.points
xyz = np.vstack((inFile.x, inFile.y, inFile.z)).transpose() # extract x, y, z and put into a list
#============布料模擬濾波============
csf = CSF.CSF()
# 參數設置
csf.params.bSloopSmooth = False    #粒子設置為不可移動
csf.params.cloth_resolution = 0.1  #布料網格分辨率
csf.params.rigidness = 3  #布料剛性參數
csf.params.time_step = 0.65
csf.params.class_threshold = 0.03 #點云與布料模擬點的距離閾值
csf.params.interations = 500      #最大迭代次數
# more details about parameter: http://ramm.bnu.edu.cn/projects/CSF/download/
csf.setPointCloud(xyz)
ground = CSF.VecInt()  # 地面點索引列表
non_ground = CSF.VecInt() # 非地面點索引列表
csf.do_filtering(ground, non_ground) # 執行濾波
#============保存為las文件==========
outFile = laspy.file.File(r"non_ground.las",
                          mode='w', header=inFile.header)
outFile.points = points[non_ground] # 提取非地面點保存到las
outFile.close() # 關閉文件夾

a=xyz[ground]
b=xyz[non_ground]
#=============可視化===============
def view_cloud(a, b):
    pcd = o3d.geometry.PointCloud()
    # =====numpy轉point=======
    pcd.points = o3d.utility.Vector3dVector(a)

    pcd1 = o3d.geometry.PointCloud()

    pcd1.points = o3d.utility.Vector3dVector(b)
    #=======自定義顏色========
    pcd.paint_uniform_color([0, 1, 0])
    pcd1.paint_uniform_color([1, 0, 0])
    o3d.visualization.draw_geometries([pcd, pcd1],window_name='提取結果')
    o3d.visualization.draw_geometries([pcd1],window_name='非地面點')
    o3d.visualization.draw_geometries([pcd],window_name='地面點')
view_cloud(a,b)

5、讀取pcd文件并可視化結果

import open3d as o3d
import CSF
import numpy as np

pc = o3d.io.read_point_cloud("數據//100m1.pcd")
xyz = np.asarray(pc.points)
csf = CSF.CSF()
# prameter settings
csf.params.bSloopSmooth = False
csf.params.cloth_resolution = 0.1
csf.params.rigidness = 3
csf.params.time_step = 0.65
csf.params.class_threshold = 0.03
csf.params.interations = 500
# more details about parameter: http://ramm.bnu.edu.cn/projects/CSF/download/
csf.setPointCloud(xyz)
ground = CSF.VecInt()  # a list to indicate the index of ground points after calculation
non_ground = CSF.VecInt() # a list to indicate the index of non-ground points after calculation
csf.do_filtering(ground, non_ground) # do actual filtering.

# o3d.io.write_point_cloud("trans_of_source.pcd", non_ground)#保存點云
a=xyz[ground]
b=xyz[non_ground]
def view_cloud(a, b):
    pcd = o3d.geometry.PointCloud()
    # From numpy to Open3D
    pcd.points = o3d.utility.Vector3dVector(a)

    pcd1 = o3d.geometry.PointCloud()
    # From numpy to Open3D
    pcd1.points = o3d.utility.Vector3dVector(b)

    pcd.paint_uniform_color([0, 1, 0])
    pcd1.paint_uniform_color([1, 0, 0])
    o3d.visualization.draw_geometries([pcd, pcd1],window_name='提取結果')
    o3d.visualization.draw_geometries([pcd1],window_name='非地面點')
    o3d.visualization.draw_geometries([pcd],window_name='地面點')
view_cloud(a,b)

四、結果展示

五、CloudCompare實現

1、加載點云數據,點擊Plugins中的CSF Filter功能

2、彈出如下窗口:



 圖中:Cloth resolution:是指用于覆蓋地形的布的網格大小(單位與點云的單位相同)。你設置的布分辨率越大,你得到的DTM就越粗糙;Max iterations:是指地形仿真的最大迭代次數。500對大多數場景來說都足夠了。Classification threshold:是指根據點與模擬地形之間的距離,將點云劃分為地面和非地面部分的閾值。0.5適用于大多數場景
  這里的網格分辨率和距離閾值最小只能設置為10cm,地面10cm的范圍默認是地面點,精確度不如自己代碼實現中的高。
3、最后得到的結果:

可以看出,非地面點中不能提取到路緣石。

到此這篇關于python實現CSF地面點濾波的文章就介紹到這了,更多相關python地面點濾波內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python點云地面點濾波(Progressive Morphological Filter)算法介紹(PCL庫)
  • python 點云地面點濾波-progressive TIN densification(PTD)算法介紹

標簽:許昌 雅安 辛集 贛州 西安 濰坊 渭南 七臺河

巨人網絡通訊聲明:本文標題《python實現CSF地面點濾波算法原理解析》,本文關鍵詞  python,實現,CSF,地,面點,濾波,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python實現CSF地面點濾波算法原理解析》相關的同類信息!
  • 本頁收集關于python實現CSF地面點濾波算法原理解析的相關信息資訊供網民參考!
  • 推薦文章
    日本特黄特色aaa大片免费| 中文字幕一区二区三区 精品| 国产高清在线精品一区二区| 国产欧美精品| 亚洲精品影院一区二区| 国产一级生活片| a级黄色毛片免费播放视频| 亚洲wwwwww| 99久久精品费精品国产一区二区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 99色视频| 韩国三级视频在线观看| 精品视频在线观看免费| 欧美另类videosbestsex| 免费的黄色小视频| 四虎影视库| 国产伦理精品| 精品视频免费在线| 欧美a级片视频| 精品在线观看国产| 欧美a级成人淫片免费看| 日韩中文字幕在线亚洲一区| 精品视频在线看 | 国产视频一区二区在线播放| 沈樵在线观看福利| 亚洲精品中文字幕久久久久久| 黄色福利片| 亚飞与亚基在线观看| 国产一级生活片| 日韩专区亚洲综合久久| 天天色成人网| 欧美国产日韩精品| 久久久成人网| 精品美女| 欧美日本免费| 国产一区二区高清视频| 国产视频一区二区在线播放| 黄色免费三级| 成人影院久久久久久影院| 国产成人精品一区二区视频| 精品视频免费观看| 国产美女在线观看| 国产成a人片在线观看视频 | 精品在线免费播放| 可以免费看毛片的网站| 九九热国产视频| 高清一级片| 精品视频在线观看一区二区| 国产激情一区二区三区| 麻豆系列 在线视频| 美女免费毛片| 国产一区二区精品| 国产高清在线精品一区二区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 精品在线免费播放| 精品视频在线观看一区二区三区| 色综合久久天天综合观看| 成人高清视频在线观看| 欧美激情伊人| 沈樵在线观看福利| 四虎久久精品国产| 日韩在线观看视频免费| 精品国产一区二区三区精东影业| 国产一区二区精品| 国产一区免费观看| 久久精品道一区二区三区| 亚欧视频在线| 一级片片| 一级女性全黄生活片免费| 国产一区二区精品尤物| 国产一区二区精品久| 999精品影视在线观看| 九九九在线视频| 天天做人人爱夜夜爽2020毛片| 午夜欧美成人香蕉剧场| 国产原创视频在线| 高清一级毛片一本到免费观看| 美女免费精品高清毛片在线视| 台湾美女古装一级毛片| 日韩免费在线视频| 国产伦久视频免费观看 视频| 欧美a级v片不卡在线观看| a级黄色毛片免费播放视频| 日韩欧美一二三区| 午夜欧美福利| 日本在线不卡免费视频一区| 国产不卡福利| 精品久久久久久免费影院| 亚洲精品中文字幕久久久久久| 日韩在线观看免费| 毛片的网站| 毛片的网站| 色综合久久手机在线| 一级女性全黄久久生活片| 国产伦久视频免费观看 视频| 一级女性大黄生活片免费| 欧美激情一区二区三区视频高清| 免费一级片在线| 午夜欧美成人久久久久久| 国产国语在线播放视频| 午夜在线亚洲| 国产成人精品综合在线| 成人高清视频免费观看| 四虎影视库| 91麻豆精品国产自产在线观看一区 | 日本乱中文字幕系列| 韩国三级视频网站| 色综合久久久久综合体桃花网| 国产不卡在线播放| 青青久久国产成人免费网站| 色综合久久天天综合观看| 欧美激情伊人| 99久久精品国产国产毛片| 日韩av东京社区男人的天堂| 999精品影视在线观看| 黄视频网站免费| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 可以免费在线看黄的网站| 色综合久久久久综合体桃花网| 黄视频网站在线免费观看| 免费国产在线视频| 日韩字幕在线| 国产成人精品综合久久久| 国产一区二区福利久久| 日本特黄特色aaa大片免费| 99久久精品国产片| 亚洲精品影院| 欧美国产日韩在线| 午夜家庭影院| 亚洲 激情| 美国一区二区三区| 麻豆网站在线看| 国产不卡在线看| 成人高清免费| 免费国产在线视频| 国产精品1024在线永久免费 | 韩国毛片| 精品在线观看国产| 一本高清在线| 精品国产三级a| 午夜在线影院| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 欧美一级视频免费| 成人a大片在线观看| 国产伦精品一区二区三区无广告| 亚洲天堂免费| 四虎影视库| 亚洲第一页色| 韩国三级香港三级日本三级| 亚洲精品中文字幕久久久久久| 欧美国产日韩在线| 99色视频在线观看| 欧美另类videosbestsex视频 | 欧美国产日韩久久久| 久草免费在线观看| 可以免费看污视频的网站| 久久精品店| 四虎影视久久久| 四虎影视库| 久久精品免视看国产明星 | 精品视频一区二区三区免费| 国产不卡福利| 国产精品自拍在线| 欧美激情伊人| 九九国产| 在线观看导航| 九九精品影院| 精品久久久久久综合网| 亚洲 国产精品 日韩| 九九精品在线播放| 国产成a人片在线观看视频 | 成人在激情在线视频| 欧美大片aaaa一级毛片| 午夜家庭影院| 成人影院久久久久久影院| 免费的黄色小视频| 欧美另类videosbestsex| 日韩在线观看免费| 久久99爰这里有精品国产| 欧美日本免费| 成人影院一区二区三区| 你懂的日韩| 国产成人啪精品| 九九热国产视频| 国产一区二区精品久久91| 沈樵在线观看福利| 亚洲 激情| 国产网站免费视频| 亚洲第一页乱| 国产一级生活片| 午夜在线观看视频免费 成人| 美女免费精品高清毛片在线视| 91麻豆国产福利精品| 国产网站在线| 亚飞与亚基在线观看| 色综合久久天天综合观看| 国产亚洲精品aaa大片| 午夜久久网| 韩国毛片| 999精品视频在线|