婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

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

python實現(xiàn)CSF地面點濾波算法原理解析

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

一、算法原理

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

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

二、讀取las點云

參考鏈接: python讀取las
1、GitHub: laspy
2、基礎(chǔ)教程: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('點云個數(shù):',len(inFile)) #讀取點云個數(shù)
#============保存點云為las文件===========
h = inFile.header
outFile = laspy.file.File('666.las', mode = "w", header=h)
points = inFile #對點云進行的相關(guān)操作
outFile.points = points
outFile.close() #關(guān)閉文件完成保存

三、算法源碼

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

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()
# 參數(shù)設(shè)置
csf.params.bSloopSmooth = False    #粒子設(shè)置為不可移動
csf.params.cloth_resolution = 0.1  #布料網(wǎng)格分辨率
csf.params.rigidness = 3  #布料剛性參數(shù)
csf.params.time_step = 0.65
csf.params.class_threshold = 0.03 #點云與布料模擬點的距離閾值
csf.params.interations = 500      #最大迭代次數(shù)
# 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) # 執(zhí)行濾波
#============保存為las文件==========
outFile = laspy.file.File(r"non_ground.las",
                          mode='w', header=inFile.header)
outFile.points = points[non_ground] # 提取非地面點保存到las
outFile.close() # 關(guān)閉文件夾

a=xyz[ground]
b=xyz[non_ground]
#=============可視化===============
def view_cloud(a, b):
    pcd = o3d.geometry.PointCloud()
    # =====numpy轉(zhuǎn)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='提取結(jié)果')
    o3d.visualization.draw_geometries([pcd1],window_name='非地面點')
    o3d.visualization.draw_geometries([pcd],window_name='地面點')
view_cloud(a,b)

5、讀取pcd文件并可視化結(jié)果

import open3d as o3d
import CSF
import numpy as np

pc = o3d.io.read_point_cloud("數(shù)據(jù)//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='提取結(jié)果')
    o3d.visualization.draw_geometries([pcd1],window_name='非地面點')
    o3d.visualization.draw_geometries([pcd],window_name='地面點')
view_cloud(a,b)

四、結(jié)果展示

五、CloudCompare實現(xiàn)

1、加載點云數(shù)據(jù),點擊Plugins中的CSF Filter功能

2、彈出如下窗口:



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

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

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

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

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

巨人網(wǎng)絡(luò)通訊聲明:本文標題《python實現(xiàn)CSF地面點濾波算法原理解析》,本文關(guān)鍵詞  python,實現(xiàn),CSF,地,面點,濾波,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python實現(xiàn)CSF地面點濾波算法原理解析》相關(guān)的同類信息!
  • 本頁收集關(guān)于python實現(xiàn)CSF地面點濾波算法原理解析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品久久久久久亚洲毛片| 国产ts人妖一区二区| 91久久线看在观草草青青| 亚洲视频在线一区观看| 色综合天天综合网天天狠天天 | 亚洲欧美日韩在线| 91精彩视频在线观看| 一区二区三区美女视频| 91九色02白丝porn| 天天色天天操综合| 久久女同互慰一区二区三区| 国产综合成人久久大片91| 久久日一线二线三线suv| 国产91清纯白嫩初高中在线观看| 欧美国产日韩亚洲一区| 色偷偷88欧美精品久久久| 亚洲国产一区二区三区| 日韩免费观看2025年上映的电影 | 欧美精品久久99久久在免费线 | 六月丁香婷婷色狠狠久久| 欧美精品一区二区三区一线天视频| 国产精品一区一区| 一区二区三区四区五区视频在线观看 | 久久精品99国产国产精| 国产婷婷精品av在线| 91丝袜国产在线播放| 五月天激情综合| 国产日产欧美一区| 在线观看一区二区视频| 久久精品国产秦先生| 国产精品另类一区| 日韩一级免费观看| 91年精品国产| 精品一区二区三区视频| 亚洲免费在线观看视频| 精品国产sm最大网站免费看| 91蝌蚪porny| 国产激情91久久精品导航| 一个色妞综合视频在线观看| 精品国产a毛片| 欧美亚洲国产一区在线观看网站| 美女视频一区在线观看| 亚洲激情校园春色| 国产欧美精品在线观看| 6080午夜不卡| 国产91精品免费| 亚洲男人的天堂在线观看| 337p粉嫩大胆色噜噜噜噜亚洲 | 91.麻豆视频| 99视频有精品| 国产美女精品一区二区三区| 三级一区在线视频先锋| 亚洲精品中文字幕乱码三区| 久久婷婷成人综合色| 欧美视频一二三区| 色老综合老女人久久久| 成人av高清在线| 国产成人精品在线看| 精品在线亚洲视频| 免费亚洲电影在线| 亚洲福利视频一区| 亚洲综合免费观看高清在线观看| 国产精品色在线观看| 日本一区二区成人| 国产免费久久精品| 国产视频亚洲色图| 国产日韩综合av| 国产午夜精品美女毛片视频| 欧美成人三级在线| 欧美一区二区三区视频在线 | 美腿丝袜亚洲一区| 无吗不卡中文字幕| 日韩中文字幕亚洲一区二区va在线| 亚洲国产cao| 亚洲大片免费看| 亚洲午夜精品17c| 亚洲午夜在线视频| 亚洲一区成人在线| 亚洲一区在线视频| 亚洲1区2区3区4区| 日本午夜一本久久久综合| 日本亚洲欧美天堂免费| 日韩成人午夜电影| 蜜桃精品视频在线观看| 麻豆精品国产91久久久久久| 久久99久久精品欧美| 狠狠色丁香久久婷婷综合_中| 久久精品免费看| 国产乱码字幕精品高清av | 秋霞电影一区二区| 欧美aⅴ一区二区三区视频| 视频精品一区二区| 久久99这里只有精品| 久久99国内精品| 成人丝袜高跟foot| 色噜噜久久综合| 91精品国产麻豆国产自产在线 | 国产成人免费在线观看| a在线播放不卡| 精品视频在线免费看| 欧美一级精品在线| 久久久91精品国产一区二区精品| 国产精品三级视频| 午夜国产不卡在线观看视频| 久久狠狠亚洲综合| 不卡电影一区二区三区| 欧美亚洲国产一区在线观看网站| 91精品国产综合久久福利软件| 久久欧美一区二区| 一区二区视频免费在线观看| 日韩av中文字幕一区二区三区| 国产在线播精品第三| 91国在线观看| 久久人人97超碰com| 一区二区三区欧美视频| 久久国产尿小便嘘嘘尿| 成人av资源站| 91精品国产综合久久香蕉的特点 | 一本色道久久综合精品竹菊| 欧美日韩中文国产| 国产精品三级视频| 美女国产一区二区三区| 99久久99久久精品国产片果冻| 欧美一区二区三区视频| 亚洲欧美一区二区视频| 奇米综合一区二区三区精品视频| 99久久精品国产网站| 欧美电影免费观看完整版| 亚洲欧美日韩国产综合| 国产一区二区0| 91精品国产综合久久福利| 亚洲人123区| 懂色一区二区三区免费观看| 91精品久久久久久久91蜜桃| 夜夜揉揉日日人人青青一国产精品| 国产剧情一区二区| 欧美一区二区三区喷汁尤物| 一区二区在线观看视频| 国产成人8x视频一区二区| 欧美一级淫片007| 亚洲国产裸拍裸体视频在线观看乱了 | 成人av资源站| 久久婷婷成人综合色| 青草av.久久免费一区| 欧美综合视频在线观看| 国产精品久久久久久久久图文区 | 欧美精品v日韩精品v韩国精品v| 国产精品久久久久影院| 国产成人在线免费| 亚洲精品一区二区三区99| 奇米色777欧美一区二区| 欧美精品久久久久久久多人混战 | 亚洲小少妇裸体bbw| www.爱久久.com| 国产精品欧美久久久久无广告| 激情久久五月天| 亚洲精品综合在线| 成+人+亚洲+综合天堂| 欧美一区二区国产| 亚洲国产视频在线| 在线亚洲免费视频| 亚洲国产欧美一区二区三区丁香婷| 色综合色综合色综合色综合色综合| 日韩av电影一区| 亚洲精品一区二区三区四区高清| 国产一区二区福利视频| 国产不卡一区视频| 国产欧美精品一区| 成人午夜激情视频| 国产精品色一区二区三区| 成人av在线播放网址| 亚洲人成影院在线观看| 91免费看片在线观看| 一区二区欧美精品| 欧美日本在线一区| 天使萌一区二区三区免费观看| 在线成人免费视频| 国产主播一区二区| 国产清纯白嫩初高生在线观看91 | 国产精品色哟哟| av电影在线观看一区| 亚洲啪啪综合av一区二区三区| 日本道免费精品一区二区三区| 亚洲大片免费看| 精品对白一区国产伦| 国产91精品久久久久久久网曝门| 亚洲欧洲成人av每日更新| 色激情天天射综合网| 婷婷开心激情综合| 欧美精品一区二区三区蜜桃视频| 成人精品国产免费网站| 一区二区三区在线视频播放| 欧美精品日日鲁夜夜添| 国产一区二区三区久久久 | 欧美精品少妇一区二区三区| 狠狠色狠狠色综合| 日韩理论片在线| 欧美一区二区久久| 成年人午夜久久久| 日本免费在线视频不卡一不卡二|