热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python解决CSF布料模拟滤波的批处理问题(解决获取多个点云数据las数据)

解决问题:1、批量读取点云las数据2、点云数据读与写出3、csf滤波分类参考:https:github.comsuyunzzzCSF论文题目ÿ

解决问题:
1、批量读取点云las数据
2、点云数据读与写出
3、csf滤波分类
参考:https://github.com/suyunzzz/CSF
论文题目:An Easy-to-Use Airborne LiDAR Data Filtering Method Based on Cloth Simulation(Wuming Zhang,2016)


import laspy
import CSF
import numpy as np
import os
import pandas as pd
path ="D://***//python测试//"
path2 = os.listdir(path)for f in path2:inFile = laspy.file.File(os.path.join(path, f))#inFile = laspy.file.File(r"D:\***\python测试\9.las", mode='r') # read a las filepoints = inFile.pointsxyz = np.vstack((inFile.x, inFile.y, inFile.z)).transpose() # extract x, y, z and put into a listcsf = CSF.CSF()# prameter settingscsf.params.bSloopSmooth = True ##滤波后处理(针对陡坡)csf.params.cloth_resolution = 0.5 ##格网大小csf.params.rigidness = 1 # 布料硬度csf.params.time_step = 0.65 # 时间步长DTcsf.params.class_threshold = 0.5 # 分类阈值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 calculationnon_ground = CSF.VecInt() # a list to indicate the index of non-ground points after calculationcsf.do_filtering(ground, non_ground) # do actual filtering.file_name = os.path.basename(f)file_name2 = file_name.split('.')[0]outFile = laspy.file.File(r"%s_ground.las"% file_name2, mode='w', header=inFile.header) ##地面点outFile.points = points[ground] # extract ground points, and save it to a las file.outFile.close()outFile2 = laspy.file.File(r"%s_non_ground.las"% file_name2, mode='w', header=inFile.header) ###非地面点outFile2.points = points[non_ground] # extract non_ground points, and save it to a las file.outFile2.close() # do not forget this


推荐阅读
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • Requests库的基本使用方法
    本文介绍了Python中Requests库的基础用法,包括如何安装、GET和POST请求的实现、如何处理Cookies和Headers,以及如何解析JSON响应。相比urllib库,Requests库提供了更为简洁高效的接口来处理HTTP请求。 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 在OpenCV 3.1.0中实现SIFT与SURF特征检测
    本文介绍如何在OpenCV 3.1.0版本中通过Python 2.7环境使用SIFT和SURF算法进行图像特征点检测。由于这些高级功能在OpenCV 3.0.0及更高版本中被移至额外的contrib模块,因此需要特别处理才能正常使用。 ... [详细]
  • 本文介绍了如何利用Python中的Matplotlib库来绘制三维点云数据,并展示其外接的最大边界框。通过具体代码示例,帮助读者理解点云数据的可视化方法。 ... [详细]
  • 根据官方定义,RxJava是一种用于异步编程和可观察数据流的API。其核心特性在于流式处理能力和丰富的操作符支持。 ... [详细]
  • AI炼金术:KNN分类器的构建与应用
    本文介绍了如何使用Python及其相关库(如NumPy、scikit-learn和matplotlib)构建KNN分类器模型。通过详细的数据准备、模型训练及新样本预测的过程,展示KNN算法的实际操作步骤。 ... [详细]
  • 理解浏览器历史记录(2)hashchange、pushState
    阅读目录1.hashchange2.pushState本文也是一篇基础文章。继上文之后,本打算去研究pushState,偶然在一些信息中发现了锚点变 ... [详细]
  • 本文介绍如何在阿里云环境中利用 Docker 容器化技术部署一个简单的 Flask Web 应用,并确保其可通过互联网访问。内容涵盖 Python 代码编写、Dockerfile 配置、镜像构建及容器运行等步骤。 ... [详细]
  • 在Python编程中,经常需要处理文件下载的任务。本文将介绍三种常用的下载方法:使用urllib、urllib2以及requests库进行HTTP请求下载,同时也会提及如何通过ftplib从FTP服务器下载文件。 ... [详细]
  • 本文介绍了一个使用Slideview组件实现循环轮播效果的例子,并将其作为ListView顶部的一项。此ListView包含了两种不同的模板设计,一种以Slideview为核心,另一种则是标准的单元格模板,包含按钮和标签。 ... [详细]
  • 本文详细介绍如何在华为鲲鹏平台上构建和使用适配ARM架构的Redis Docker镜像,解决常见错误并提供优化建议。 ... [详细]
  • 本文介绍了如何在Android应用中通过Intent调用其他应用的Activity,并提供了详细的代码示例和注意事项。 ... [详细]
  • 本文介绍了一种通过设置主题(Theme)来实现快速启动的Android引导页,并详细说明了如何避免因不同屏幕分辨率导致的图片拉伸问题。 ... [详细]
  • 本文介绍了如何将Spring属性占位符与Jersey的@Path和@ApplicationPath注解结合使用,以便在资源路径中动态解析属性值。 ... [详细]
author-avatar
菲拉慕格_516
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有